reticivis-net / sam-cli

a modern command-line interface (CLI) for SoftVoice's Software Automatic Mouth (SAM) based off modern-sam

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SAM-CLI

a modern command-line interface (CLI) for SoftVoice's Software Automatic Mouth (SAM) based off modern-sam

why?

s-macke's port is a CLI program, but it retains the original limitations the software had in the 80s (as its reverse engineered), so I packaged modern-sam (a fork of discordier's JS rewrite) into a CLI with pkg

usage

bundle vs exe

there are currently 2 versions of this program. there's the pkg powered standalone executable, and the webpack powered bundle file. both versions are in the releases.

bundle

the bundle is all the node dependencies of SAM into one singular JS file

pros:

  • OS independent
  • smaller filesize

cons:

exe

the exe contains a copy of node.js which seamlessly runs the JS for you

pros:

  • doesn't require any prior setup, just plug and play

cons:

  • bigger filesize cause it bundles all of nodejs in the exe
  • OS dependent

example:

sam --wav sam.wav --throat 110 --pitch 160 --moderncmu hello world!

speaks hello world! with modern cmu pronunciation and voice values (these ones are nicknamed "Elf") to sam.wav

there are 2 required arguments:

  • --wav: the name of the wav file to output to.
  • any text not part of an argument will be joined and interpreted and spoken.

optional arguments:

  • --phonetic: bypass SAM's english parser and specify sounds through SAM's phonetic alphabet
  • --singmode: SAM will speak at one pitch. good for singing.
  • --moderncmu: uses CMUDict and to-words for better pronunciation and stress patterns.
  • --debug: print info about what SAM is doing (warning: it's a lot)
  • --pitch, --speed, --mouth, --throat: arguments that control SAM's voice.

notes

  • pkg, which is used to make the node program a cli program, is a little big and Perhaps bloated, also it comes with some overhead. if you want to make heavy use of this program, consider using modern-sam in node directly

  • minimist is used to naively pass all arguments straight to modern-sam so invalid arguments are ignored. the only validation done is ensuring required arguments are defined.

About

a modern command-line interface (CLI) for SoftVoice's Software Automatic Mouth (SAM) based off modern-sam


Languages

Language:JavaScript 100.0%