Actions

AlphaVoC 2

From Zenitel Wiki

Revision as of 05:02, 14 April 2010 by Aksel (talk) (New page: '''AlphaVoC 2''' is a toolchain which is used to produce ASVP packages for the ASVP Module. AlphaVoC 2 supersedes the AlphaVoC Windows program for producing voice...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

AlphaVoC 2 is a toolchain which is used to produce ASVP packages for the ASVP Module.

AlphaVoC 2 supersedes the AlphaVoC Windows program for producing voice message EPROMSs for the AMC-IP - AlphaCom Processor Board.

Input is a ASVP DES-file along with all the WAV files referenced from the DES-file. The WAV files must be 16 bit PCM, 16 kHz samplerate, mono.

Output is a ASVP package.

External tools required

Recording and editing of wav files

This is outside the scope of the AlphaVoc 2 toolchain.

  • A good microphone connected the PC
  • A quiet room with good acoustics
  • A program for recording and editing audio.

Editing of ASVP DES-file

Any text edior. http://www.pspad.com/en/ is a good one (Free as in "free beer").

ASVP Packaging

These tools are required by the AlphaVoc 2 toolchain it self.

  • sox - Sound eXchange - http://sox.sourceforge.net/
  • A unix/linux like environment. For windows the following two alternatives are tested:
    • Cygwin - http://www.cygwin.com/ - Recommended. Only "base" package needed (+ utils/bzip2?).
    • MSYS - http://www.mingw.org/wiki/msys - Easy install and only 8MByte on disk. But very minimal functionality.
      • Proper linux may also be used, but contact Zenitel to get linux versions of the Zenitel provided programs.
      • The "unix" programs needed are: bash, tar, bzip2, md5sum, fgrep, sed, rm, mv.

All these tools are free as both in "free speech" and "free beer".

Tools provided by Zenitel

Two commandline programs (.exe files built for Windows):

  • svp_des2bin converts a DES-file to a binary file with the message-descriptions in binary table format. It also has an option to list all wav-files referenced by the DES-file. (The same program is also used inside AMC-IP).
  • svp_build_message is a test program, simulating the ASVP function in AMCD. Given a binary ASVP voice file, a SVP reference plus optionally a parameter, it will list names of the WAV-files which will be played by AlphaCom.

Bash scripts :

  • build.sh builds a ASVP package from a DES-file and the WAV files referenced by the DES-file. It uses svp_des2bin to get the list of WAV files to add to the packacge, and sox to convert the WAV files to MS-ADPCM coding.
  • build_all_sources.sh can be used pack all orignal WAV files and the DES file into a single huge archive file for exchange with others.
  • play_test.sh uses svp_build_message and sox to play a message on the PC speaker given a package name, a SVP reference plus optionally a parameter.

Installation on Windows

  • Install cygwin: Download http://www.cygwin.com/setup.exe. Run it, and accept all default options. Choose a mirror site on your continent for package download.
  • Install sox: Goto http://sox.sourceforge.net/, find "MS-Windows executable" and download zip-file. Unpack the zipfile, and copy sox.exe to /usr/local/bin/ (C:\cygwin\usr\local\bin\).
  • Get AlphaVoc2.zip from zenitel-url-to-be-decided (now \\nooslzsfl01\css_main\CSS_Development\Transfer\ASVP_IP_packages_prelim). Unzip, and copy svp_build_message.exe and svp_des2bin.exe to /usr/local/bin/ (C:\cygwin\usr\local\bin\)
  • Get asvp_all_sources.tbz2 (55MByte) from Zenitel. This is the complete archive of all ASVP language projects supported by Zenitel. Make a folder 'asvp' under hour home directory, /home/<your-login>/asvp (C:\cygwin\home\<your-login>\asvp), and put the archive here. Unpack with the following command in cywin in your home folder:
 cd ~/asvp
 tar -xf asvp_all_sources.tbz2

The build.sh, build_all_sources.sh, play_test.sh scripts are included in asvp_all_sources.tbz2.

Naming conventions and directories

ASVP Packages have a name. Standard language packages are named after the ISO_639-1 code for the language. 'en' for English, 'fr' for French and so on.

Custom packages should use longer names. Suggestion: 'fr_BNP' for hypothetical French messages for customer BNP.

  • The ASVP DES file must have the name asvp_<package-name>.des, eg. asvp_en.des
  • The wav files should be placed under folders wav/<package-name>. Eg. wav/en
  • The wav file names should start with the package name.

The naming conventions on existing wav files are not perfect, but this is almost followed: "deg9i1.wav" means language "de", group 9, individ 1.

Usage

Recording messages

Details outside the scope of AlphaVoC, but some guidelines:

  • Record the messages in a quiet room with good acoustics. Adjust the volume on the recording device so that it so loud as possible but with no clipping. Read every message three times.
  • Samplerate 16000, Channels Mono, Resolution 16-bit.
  • Cut the voice messages into reusable fragments in the audio editor.
  • Save the voice fragment to WAV files, PCM, 16kHz. The names of the wav files goes into the DES file.
    • Consider: Use the audio editor to normalize the audio fragments. Max amplitude 2 to 3dB below max allowed signal is recommended. Remove DC offset.
  • Save backup of wav files often!

DES file

Copy an existing DES file. Use the a des file of the same language, or a related language, as template.

Open the .des file in an text editor. Edit the wav file names, and if necessary, other parts. build.sh copies the "VERSION:" and "DESCRIPTION:" header fields to the package.info APKG header. The version number is also used to form the filename of the package file.

build.sh

Produces both APKG file and a AlphaSys Package Format legacy file.


Invoke the build.sh script with the package name as parameter:

build.sh en

Final output files appear in folder z_package_out.