Swift

Swift from Cepstral


Swift can be used to create audio files from text (Text to speech). It's fairly fast and can easily be called from an AGI for on-the-fly text to speech (such as a weather report) or can be used to create static files while an application is in development.

To synthesize text from the command line:

swift -o /tmp/greeting.wav -p audio/channels=1,audio/sampling-rate=8000 "Welcome to asterisk."

To synthesize text from a text file

swift -p audio/channels=1,audio/sampling-rate=8000 -o /tmp/weather.wav -f /tmp/weather.txt

Installation Notes


After installing Cepstral a few things need to be updated in most situations to allow app_swift to use it.

The path
/opt/swift/lib

into /etc/ld.so.conf or /etc/ld.so.conf.d/local.conf (depending on your linux distribution) and then run
ldconfig



If you recently purchased a copy of swift from Cepstral, you may have a version which has some issues. See Changelog below.


Swift CHANGES

4.0.1 - January 31, 2006

New Features:
  • 'swift -t' shows each sentence at the time it is played. This is very
handy for listening to text and seeing what it is saying as it says it.
  • New additional parameters to 'swift --register' and 'swift --reg-ports'
to allow you to enter your voice or concurrency license information
with a single command using arguments. Run 'swift --help' for more
information and examples.
  • 'swift --say-pgm-version' speaks version information.
  • 'swift --say-voice-version' speaks name, language, and version of
currently loaded voice. This can be used in conjunction with -n switch
to set voice.
  • 'swift --say-all-voices' lists and speaks names, languages, and
versions of all voices found on the system
  • Multiple text arguments are concatenated and spoken as one utterance.
This causes the following two commands to be treated identically:

swift -n David "Hello, how are you?"

swift -n David Hello, how are you?

Whereas before, the latter command would make four seperate calls to
synthesize each word seperately.

Enhancements:
  • 'swift --help' now shows a much more readable help message, and
inclues several usage examples.
  • When synthesizing text from standard input by using 'swift -f -', you
can now signal a chunk of text to be synthesized by passing two consec-
utive newline characters.
  • Improved output messages for errors, warnings, and other engine output

Bug Fixes:
  • FIXED: Input text starting with a hyphen is treated as a parameter
switch. For instance, something like "$swift '--The Raven--...'" will
print out the Usage string, as if you've entered an invalid switch.
NOTE: To signify the end of options, use "--" by itself. For instance:

./swift -n William --events — "--The Raven" -o hello.wav

Will speak, "The Raven, Oh Hello dot wav" in Williams voice and
will *not* create a wave file (the -o argument being treated as
input text).

3.5.0 - November 30, 2005

New Features:
  • 'swift --voices' now shows information about the software in addition
to the table of information about the installed voices.

3.4.2 - September 19, 2005

  • No Changes

3.4.1 - September 2, 2005

  • No Changes

3.4.0 - August 18, 2005

  • No Changes

3.3.3 - August 5, 2005

  • No Changes

3.3.2 - July 28, 2005

  • No Changes

3.3.1 - July 12, 2005

Bug Fixes:
  • FIXED: Setting swift.exe into phone mode and asking for event
information causes a crash.
  • FIXED: 'swift -V' shows no lexicon information

3.3.0 - June 15, 2005

Bug Fixes:
  • FIXED: swift -m wave fails with an invalid NULL param error.
  • FIXED: Command-line swift will fail to play sound (wav, aiff) files
from disk if no voices are loaded.
New Features:
  • If -m switch or text/content-type param isn't set, command-line swift
is now able to do the right thing with the file based on its extension.
For instance:

'swift -f myWave1.wav myTextFile.txt myWave2.wav'

Will play the two wave files and synthesize the text in the text file.

3.2.1 - April 01, 2005

  • No Changes

3.2.0 - March 14, 2005

  • swift --events now shows event information in a nicely formatted table.

3.1.1 - January 19, 2005

  • No Changes

3.1.0 - December 13, 2004

New Features:
  • Defaults to SSML mode for text parsing.
  • Save-as-wave can now be done via '-o filename' switch (No longer need
to set 'audio/output-file' param).
  • '-f' switch can be used to specify multiple input files, by making a
call like this:
swift -f file1.txt file2.txt file3.txt
  • Ability to enter port license information.
  • Ability to have a phoneme list as input by specifying '-m phones'.
  • '-x' switch for loading a sound effects file (.sfx).
  • Can use '--register' switch with '-n voice' or with '-d directory'.

Bug Fixes:
  • SSML support now working. No longer crashes when making this call:
swift "<voice name='Frank'>Hello</voice>"
  • '-f filename' switch now works correctly when given with other switches
  • Now provides feedback if the file given in '-f filename' switch cannot
be opened.
  • 'swift --voices' now prints a much nicer table of all installed voices
and their attributes.
  • 'swift -V' now shows engine version number.
  • If 'swift -o filename' fails to write the wave file for any reason, it
no longer leaves the bad output file laying around on the file system.
  • An error is displayed if license file can't be written during
'swift --register' or 'swift --reg-ports'.
  • Results of 'swift --params' have been checked and all options listed
actually work.
  • 'swift -p audio/encoding=[ulaw,alaw,pcm8]' work now.

3.0.3 - September 30, 2004 [Linux only]

New Features:
  • '-f' switch can be used to specify multiple input files, by making a
call like this:
swift -f file1.txt file2.txt file3.txt
  • Can use '--register' switch with '-n voice' or with '-d directory'.

Bug Fixes:
  • '-f filename' switch now works correctly when
given with other switches.

3.0.2 - September 13, 2004

  • Initial Linux release.

3.0.0 - June 1, 2004

  • Initial Release, bunded with 3.0.0 voices


See also


Swift from Cepstral


Swift can be used to create audio files from text (Text to speech). It's fairly fast and can easily be called from an AGI for on-the-fly text to speech (such as a weather report) or can be used to create static files while an application is in development.

To synthesize text from the command line:

swift -o /tmp/greeting.wav -p audio/channels=1,audio/sampling-rate=8000 "Welcome to asterisk."

To synthesize text from a text file

swift -p audio/channels=1,audio/sampling-rate=8000 -o /tmp/weather.wav -f /tmp/weather.txt

Installation Notes


After installing Cepstral a few things need to be updated in most situations to allow app_swift to use it.

The path
/opt/swift/lib

into /etc/ld.so.conf or /etc/ld.so.conf.d/local.conf (depending on your linux distribution) and then run
ldconfig



If you recently purchased a copy of swift from Cepstral, you may have a version which has some issues. See Changelog below.


Swift CHANGES

4.0.1 - January 31, 2006

New Features:
  • 'swift -t' shows each sentence at the time it is played. This is very
handy for listening to text and seeing what it is saying as it says it.
  • New additional parameters to 'swift --register' and 'swift --reg-ports'
to allow you to enter your voice or concurrency license information
with a single command using arguments. Run 'swift --help' for more
information and examples.
  • 'swift --say-pgm-version' speaks version information.
  • 'swift --say-voice-version' speaks name, language, and version of
currently loaded voice. This can be used in conjunction with -n switch
to set voice.
  • 'swift --say-all-voices' lists and speaks names, languages, and
versions of all voices found on the system
  • Multiple text arguments are concatenated and spoken as one utterance.
This causes the following two commands to be treated identically:

swift -n David "Hello, how are you?"

swift -n David Hello, how are you?

Whereas before, the latter command would make four seperate calls to
synthesize each word seperately.

Enhancements:
  • 'swift --help' now shows a much more readable help message, and
inclues several usage examples.
  • When synthesizing text from standard input by using 'swift -f -', you
can now signal a chunk of text to be synthesized by passing two consec-
utive newline characters.
  • Improved output messages for errors, warnings, and other engine output

Bug Fixes:
  • FIXED: Input text starting with a hyphen is treated as a parameter
switch. For instance, something like "$swift '--The Raven--...'" will
print out the Usage string, as if you've entered an invalid switch.
NOTE: To signify the end of options, use "--" by itself. For instance:

./swift -n William --events — "--The Raven" -o hello.wav

Will speak, "The Raven, Oh Hello dot wav" in Williams voice and
will *not* create a wave file (the -o argument being treated as
input text).

3.5.0 - November 30, 2005

New Features:
  • 'swift --voices' now shows information about the software in addition
to the table of information about the installed voices.

3.4.2 - September 19, 2005

  • No Changes

3.4.1 - September 2, 2005

  • No Changes

3.4.0 - August 18, 2005

  • No Changes

3.3.3 - August 5, 2005

  • No Changes

3.3.2 - July 28, 2005

  • No Changes

3.3.1 - July 12, 2005

Bug Fixes:
  • FIXED: Setting swift.exe into phone mode and asking for event
information causes a crash.
  • FIXED: 'swift -V' shows no lexicon information

3.3.0 - June 15, 2005

Bug Fixes:
  • FIXED: swift -m wave fails with an invalid NULL param error.
  • FIXED: Command-line swift will fail to play sound (wav, aiff) files
from disk if no voices are loaded.
New Features:
  • If -m switch or text/content-type param isn't set, command-line swift
is now able to do the right thing with the file based on its extension.
For instance:

'swift -f myWave1.wav myTextFile.txt myWave2.wav'

Will play the two wave files and synthesize the text in the text file.

3.2.1 - April 01, 2005

  • No Changes

3.2.0 - March 14, 2005

  • swift --events now shows event information in a nicely formatted table.

3.1.1 - January 19, 2005

  • No Changes

3.1.0 - December 13, 2004

New Features:
  • Defaults to SSML mode for text parsing.
  • Save-as-wave can now be done via '-o filename' switch (No longer need
to set 'audio/output-file' param).
  • '-f' switch can be used to specify multiple input files, by making a
call like this:
swift -f file1.txt file2.txt file3.txt
  • Ability to enter port license information.
  • Ability to have a phoneme list as input by specifying '-m phones'.
  • '-x' switch for loading a sound effects file (.sfx).
  • Can use '--register' switch with '-n voice' or with '-d directory'.

Bug Fixes:
  • SSML support now working. No longer crashes when making this call:
swift "<voice name='Frank'>Hello</voice>"
  • '-f filename' switch now works correctly when given with other switches
  • Now provides feedback if the file given in '-f filename' switch cannot
be opened.
  • 'swift --voices' now prints a much nicer table of all installed voices
and their attributes.
  • 'swift -V' now shows engine version number.
  • If 'swift -o filename' fails to write the wave file for any reason, it
no longer leaves the bad output file laying around on the file system.
  • An error is displayed if license file can't be written during
'swift --register' or 'swift --reg-ports'.
  • Results of 'swift --params' have been checked and all options listed
actually work.
  • 'swift -p audio/encoding=[ulaw,alaw,pcm8]' work now.

3.0.3 - September 30, 2004 [Linux only]

New Features:
  • '-f' switch can be used to specify multiple input files, by making a
call like this:
swift -f file1.txt file2.txt file3.txt
  • Can use '--register' switch with '-n voice' or with '-d directory'.

Bug Fixes:
  • '-f filename' switch now works correctly when
given with other switches.

3.0.2 - September 13, 2004

  • Initial Linux release.

3.0.0 - June 1, 2004

  • Initial Release, bunded with 3.0.0 voices


See also


Created by: shaneyoung, Last modification: Fri 08 of Jun, 2012 (22:53 UTC) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+