wiki:VoiceImportToolsTutorial

Version 20 (modified by sach01, 16 years ago) (diff)

--

Voice Import Tools Tutorial : How to build a new Voice with Voice Import Tools

This Tutorial explains the procedure to build a new voice with Voice Import Tools (VIT) under MARY Environment.

Voice Import Tool is a Graphical User Interface(GUI), which contains a set of Voice Import Components and helps the user to build new voices under MARY(Modular Architecture for Research in speech sYnthesis) Environment. This GUI Tool designing is primarily aims to build new voices very easily by any user with out knowing much technical details of Speech Synthesis.



Currently, Voice Import Tool supports following categories mainly:
1. Feature Extraction from Acoustic Data
2. Feature Vector Extraction from Text Data
3. Automatic Labeling
4. Unit Selection
5. Voice Installation to MARY
                                                                               
            Voice Import Tools GUI Screenshot
                                                     

Requirements Needed:

(we also able to use Windows also, if we can able to compile properly the following dependent tools.)

Dependendent Tools:

  • Praat Pitch Marker or Snack - For pitch marks

Download Link for praat : http://www.fon.hum.uva.nl/praat

Installing Snack : Require tcl and snack. Installation instructions available at http://www.speech.kth.se/snack/

  • Edinburgh Speech Tools Library – For MFCCs and Wagon (CART)

Download Link for Speech Tools: http://www.cstr.ed.ac.uk/projects/speech_tools/

  • EHMM or Sphinx – For Automatic Labeling

EHMM is available with festvox-2.1 (Recent Version) - http://festvox.org/download.html

Sphinx - http://cmusphinx.sourceforge.net/webpage/html/download.php

Voice Import Components:

Following Components are available with Voice Import Components:

  • PraatPitchmarker
  • SnackPitchmarker
  • MCEPMaker
  • Festvox2MaryTranscripts
  • Mary2FestvoxTranscripts
  • PhoneUnitFeatureComputer
  • HalfPhoneUnitFeatureComputer
  • EHMMLabeler
  • LabelledFilesInspector
  • PhoneUnitLabelComputer
  • PhoneLabelFeatureAligner
  • HalfPhoneUnitLabelComputer
  • HalfPhoneLabelFeatureAligner
  • QualityControl
  • HalfPhoneUnitfileWriter
  • HalfPhoneFeatureFileWriter
  • JoinCostFileMaker
  • AcousticFeatureFileWriter
  • CARTBuilder
  • CARTPruner
  • VoiceInstaller

Step-by-Step Procedure:

  1. First you need to have following 2 basic requirements for Voice Building
  1. Wave files
  2. Corresponding Transcription (in MARY or Festvox Format)

MARY Format : Each transcription represented by a single file. All these files placed in a single directory. By default, all these files placed in 'text' directory of voice-building directory.

Festvox (Festival) Format : A single file contains all transcriptions. For examples see below example.

( arctic_a0001 "AUTHOR OF THE DANGER TRAIL, PHILIP STEELS, ETC" )
( arctic_a0002 "Not at this particular case, Tom, apologized Whittemore." )
( arctic_a0003 "For the twentieth time that evening the two men shook hands." )
( arctic_a0004 "Lord, but I'm glad to see you again, Phil." )
( arctic_a0005 "Will we ever forget it." )

  1. Create a new Voice Building Directory

  • Put all Wave files in "wav" directory

  1. Run below commands through Shell script from Voice Building Directory.
export MARY_BASE="/path/to/mary"
java -jar -Xmx1024m  $MARY_BASE/java/voiceimport.jar

When you are running first time above shell script, It asks you some basic configuration settings by presenting with a GUI window where you have to enter a few basic settings. Almost all other settings are based on these first settings and set automatically.

Global Configuration Settings window looks like below:

Global Configuration Settings:

Domain - general or limited
Gender - male or female
Locale - which specifies language of domain (de - Deutsch or en - English)
(Currently, MARY supporting 2 language only: 1. Deutsch 2. English)
Marybase - MARY Installation Directory (Global Path)
Rootdir - Voice Building Directory (Global Path)
Wavdir - Where we can store Wave files
Textdir - Where we can store corresponding Transcriptions

After clicking the "Save"-button, you will get to the main window of Voice Import Tools as shown in Screen shot. There you can see a list of modules. A component is executed by ticking the associated checkbox and clicking on "Run".

  1. User also can change the settings for each individual component by clicking on the wrench symbol next to the component.

Clicking on "Settings" takes you to the window where you can change the basic settings. In a settings window, you can change the view to the settings of another module or the basic settings via the drop-down menu. Basically, all modules need to be run to import the voice into MARY. For more detailed information, check the general help file - just click on "Help" in the main window. Clicking on help in the settings window opens a help window with details about the displayed settings. We recommended to give Absolute Paths for individual Configuration Settings. These config. settings are arguments to components to perform corresponding task.

The import tool creates two files in the directory where you started it - database.config and importMain.config. database.config contains the values of the settings - you can change the settings also in this file, but be aware that this may cause problems.

  1. Simplest way of Using Voice Import Components:

  • Give Config. Settings for Each and Every Component.
  • Tick mark all components
  • Click RUN button

It will complete all tasks in sequential manner.

  1. But user need to make few decisions before doing Step 5.

Because there is no need to use all components for Building a New Voice.
For Example: For Pitch marks we can choose Praat or Snack.

  • Choose Praat or Snack (only one) for Pitch marks Extraction.
  • If your transcriptions are in Festvox Format, It is necessary to choose "Festvox2MaryTranscripts" Component. Because It will convert Festvox format transcriptions to MARY format transcriptions. Voice Import Tools uses MARY format transcription for building Voice. No need to choose "Mary2FestvoxTranscripts" component while Building a new Voice. Just we are providing that component for facilitating user to convert any format depending on requirements.
  • PhoneUnitFeatureComputer and HalfPhoneUnitFeatureComputer needs a running MARY Server. It is very important point. User need to make sure a Mary Server running while executing above two Components. And one more important issue is MARY Server need to contain at least one Voice of language (German or English), which user wanted build a new voice.
    Before running Mary Server, please make sure "english-targetfeatures.config" and "english-halfphone-targetfeatures.config" in "$MARY_BASE/conf/" directory for building an English voice. Similarly, "german-targetfeatures.config" and "german-halfphone-targetfeatures.config" required for German voice building.
  • LabelledFilesInspector gives a GUI interface to check how good Automatic labeling. It will also support user to listen phone segments according to given timestamps from Automatic labeling. If user don't want to inspect labeling, better no need to choose this component. Because it will pause Voice building in between.

  1. While executing each component, a Progress bar shows the percentage of work completed for that component. Each Component converted to GREEN, if that component is executed successfully. And it converts to RED and it throws an exception, if that component unsuccessfully executed. If a component unsuccessfully executed, check configuration settings once again.

We hope this tutorial helps to build a new voice using Voice Import Tools under MARY environment and Working of Individual Voice Import Components explained here.





  • Sathish Chandra Pammi (Sathish.Chandra@…)

Attachments (2)

Download all attachments as: .zip