General Discussion

SpeechSubmission Java Applet Localization
User: kmaclean
Date: 12/26/2007 7:25 pm
Views: 16490
Rating: 49

A few people have asked what is required to localize the Speech Submission Java Applet.  We've got Dutch working right now (not publicly yet).  For other languages we need the following fields to be translated:

Java Applet Speech Application:

(replace anything in quotes on the right hand side of the equals sign with the equivalent in the target language - see the source for in the VoxForgeDevWiki for details):

         usernamePanelLabel = "Username:";
         usernamePanelText = "(leave blank to submit anonymously)";
         copyrightName = "Free Software Foundation";
         gplAccepted = "Yes";
         pleaseSelect = "Please Select";
         notApplicable = "unknown";
         genderPanelLabel = "Gender:";
         genderSelection = new String [3];
         genderSelection[0] = pleaseSelect;  
         genderSelection[1] = "Male";   
         genderSelection[2] = "Female";
         ageRangePanelLabel = "Age Range:";
         ageSelection = new String [4];
         ageSelection[0] = pleaseSelect; 
         ageSelection[1] = "Youth"; 
         ageSelection[2] = "Adult";
         ageSelection[3] = "Senior";
         dialectPanelLabel = "Pronunciation Dialect:";
         dialectSelection = new String [9];
         dialectSelection[0] = pleaseSelect;   
         dialectSelection[1] = "Australian English";   
         dialectSelection[2] = "American English";    // other
         dialectSelection[3] = "British English";
         dialectSelection[4] = "Canadian English";     
         dialectSelection[5] = "European English";
         dialectSelection[6] = "New Zealand English";
         dialectSelection[7] = "South African English";    
         dialectSelection[8] = "Other";
         microphonePanelLabel = "Microphone Type:";
         microphoneSelection = new String [9];
         microphoneSelection[0] = pleaseSelect; 
         microphoneSelection[1] = "Headset mic";   
         microphoneSelection[2] = "USB Headset mic";  
         microphoneSelection[3] = "Desktop Boom mic"; 
         microphoneSelection[4] = "USB Desktop Boom mic"; 
         microphoneSelection[5] = "Laptop Built-in mic";
         microphoneSelection[6] = "WebCam mic";     
         microphoneSelection[7] = "Studio mic";
         microphoneSelection[8] = "Other";
         uploadText = "<html>By clicking the \"Upload\" button, you agree to assign the Copyright to your recorded speech to <br> "
            + "the Free Software Foundation, and to license your submission under the GNU Public Licence (\"GPL\"):" ;
         uploadButtonLabel = "Upload";
         moreInfoText = "For more information on Copyright and GPL, click here:";
         moreInfoButtonLabel = "More Information";   
         disclaimerText =
            "<html>VoxForge SpeechSubmission Applet - Copyright (C) 2007 VoxForge<br>"
            +"This program comes with ABSOLUTELY NO WARRANTY; without even the implied<br> "
            +"warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  For<br>"
            +"more details click the \"About\" button:";
         aboutButtonLabel = "About";
         recordButton = "Record";
         stopButton = "Stop";
         playButton = "Play";
         peakWarningLabel =  "Warning: input may be too loud";
         sampleGraphFileLabel = "File: ";
         sampleGraphLengthLabel = "  Length: ";
         sampleGraphPositionLabel ="  Position: ";

          uploadingMessageLabel = "Uploading...";
         uploadCompletedMessageLabel = "Upload completed... Thank you for your submission!";

Read page intro to Speech Submission Applet:

Read Prompts and Submit Recordings

Before you Begin Recording Prompts

Turn off any other audio programs on your PC (i.e. music players, audio editors, etc.)

Position your mike so it does not pick up your breathing.  While recording, try to minimize any non-speech noises (i.e. exhaling, taking a breath, lip smacking, ...) or background noise.  Please don' t read the punctuation - read the text as you would read aloud to someone else.

The black box near the bottom of your screen will display the audio waveform of your recording. Please record a test recording to ensure your microphone volume is not too loud or too soft.

Recording Prompts 

For each prompt line, please record your speech as follows:

  1. click the Record button,
  2. pause for half a second,
  3. Read the corresponding prompt sentence,
  4. pause for half a second, and then
  5. click the the Stop button.

If you make a mistake, click Record again to re-record your prompt.

Once you have completed recording all ten prompts the Upload button will activate.  Click the Upload button to upload your entire submission to the VoxForge repository as a single zip file.

Repeat the process (multiple submissions are encouraged!)  



Localized Home page:


VoxForge was set up to collect transcribed speech for use with Free and  Open Source Speech Recognition Engines (on Linux/Unix, Windows and Mac). 

We will make available all submitted audio files under the GPL license, and then 'compile' them into Acoustic Models for use with Open Source Speech Recognition engines such as Sphinx, ISIP, Julius and HTK (note: HTK has distribution restrictions).

Why Do We Need Free GPL Speech Audio?

Most Acoustic Models used by 'Open Source' Speech Recognition (or Speech-to-Text) engines are 'Closed Source'.  They do not give you access to the speech audio and transcriptions (called Speech Corpus or Corpora) used to create the acoustic model. 

The reason for this is because there is no free Speech Corpus in a form that can readily be used to create Acoustic Models for Speech Recognition Engines.  Open Source projects are required to purchase Speech Corpora which has restrictive licensing (i.e. they are *not* permitted to distribute the 'source' speech audio, but can distribute the 'compiled' Acoustic Model).  

How Can You Help?

Click the Submit Speech Using Your Computer  icon to learn how to record your speech on your computer and submit it to VoxForge. 


Need around 50 prompts in the target language for readers to read. 



Re: SpeechSubmission Java Applet Localization
User: timobaumann
Date: 1/6/2008 8:24 am
Views: 442
Rating: 51

Hi Ken,

I am having problems compiling the speechrecorder from SVN.

When running ant I get the following error:

Buildfile: build.xml


    [mkdir] Created dir: /tmp/speechsubmission/VFSpeechSubmission/java/build

    [javac] Compiling 6 source files to /tmp/speechsubmission/VFSpeechSubmission/java/build
    [javac] The system is out of resources.
    [javac] Consult the following stack trace for details.
    [javac] java.lang.StackOverflowError
    [javac]     at
    [javac]     at
    [javac]     at
    [javac]     at$JCBinary.accept(

.... (many, many of these lines) ....

    [javac]     at
    [javac]     at
    [javac]     at
    [javac]     at$JCBinary.accept(

/tmp/speechsubmission/VFSpeechSubmission/java/build.xml:49: Compile failed; see the compiler error output for details.

Any ideas?

Re: SpeechSubmission Java Applet Localization
User: kmaclean
Date: 1/6/2008 1:32 pm
Views: 4090
Rating: 44

Hi Timo,

I just build it from Eclipse using the SpeechSubmission ant build script (which is a slightly modified version of the Moodlespeex ant build script - path of least resistance...).  I don't really know much about ant, and I've never tried to build it outside of Eclipse.

If you are using Eclipse, you need to create a new Java project, and specify the ant.xml script included with the SpeechSubmission Java applet:

click File>New>Project (don't select Java Project)

From the "Select a wizard window":

Java Project from Existing Ant Buildfile 

From the  "Create a Java Project from an Ant Buildfile"

enter "project name"

click "browse" to select the ant build file for the SpeechSubmission App.

Then Eclipse does its magic, and you can then run it under Eclipse as follows:

Right-click project

click Run-as>Java Applet

A window will pop up with the Java Applet (or you will get lots of error messages in the Eclipse console).

Once your changes are completed, you can then export it as a jar file.  The jar then needs to be "signed" before it can be run as an applet in a browser (I can give you details on how to do this ...). 


Re: SpeechSubmission Java Applet Localization
User: jandrioli
Date: 3/11/2009 8:47 am
Views: 216
Rating: 20

Localization for brazilian portuguese:

I just an update here: the application is already translated into brazilian portuguese!

If anyone else reads this post without checking the applet in portuguese; don't bother to start translating it (like I did).


Lukily I hadn't translated much when I realized it was already done. I want to post an update, however, to the dialect selection part:


         dialectPanelLabel = "Dialeto de pronunciacão:";
         dialectSelection = new String [12];
         dialectSelection[0] = pleaseSelect;   
         dialectSelection[1] = "Portugês de Angola";
         dialectSelection[2] = "Portugês do Brasil";
         dialectSelection[3] = "Portugês de Cabo Verde";
         dialectSelection[4] = "Portugês do Timor Leste";
         dialectSelection[5] = "Portugês de Guiné-Bissau",
         dialectSelection[6] = "Portugês da Guinea Equatorial";
         dialectSelection[7] = "Portugês de Macau";
         dialectSelection[8] = "Portugês de Mozambique";
         dialectSelection[9] = "Portugês de Portugal";
         dialectSelection[10] = "Portugês de São Tomé e Príncipe";
         dialectSelection[12] = "Outro";


Re: SpeechSubmission Java Applet Localization
User: kmaclean
Date: 3/11/2009 11:13 am
Views: 4171
Rating: 20

Hi jandrioli,

Thanks for the update, implemented as changeset 2671 - it will go in to the next update of the Speech Submission applet.

Note that I won't be updating the Speech Submission app for a while... busy with other things,