SpeakGoodChinese tone recognizer The Tone recognizer is an autonomous module. It is implemented completely in Praat scripts. These are run on praat executables either in the background, or bij way of sendpraat commands. The main application calls the scripts with the praat executables. Sound files and resulting texts are written to file (lastExample.wav, lastResult.txt, feedback.txt). There are also some scripts with supporting functions. The feedback advice is stored in the feedback directory and the real advice is generated by ToneRecognition.praat. Currently only positive advice (for tone X you should produce Y). But corrective advice would be possible after adapting ToneRecognition.praat The remainder of the files is used for testing the tone models and the recognizer. They generally interface to SGC_ToneProt.praat or ToneScript.praat. The crucial tone modelling is done in ToneScript.praat. This script determines syllable structure, duration, and tone models. The actual numbers for synthesizing the tone pitch tracks are read from ToneRules.praat. This latter script encodes the rules in Praat script if-else-endif rules. If you plan to change the tone models, the starting point would be the ToneRules.praat script. Collecting usage and perfomance data, and creating example audio It is possible to record all utterances and write the recognition results to a logFile.txt file. This option is not available from the GUI. Currently, it is switched on by creating a file in the SGC_ToneProt/log directory with the name logPerformance.txt (you can rename an existing stub file DoNotlogPerformance.txt to logPerformance.txt). As long as there exists a file SGC_ToneProt/log/logPerformance.txt, every processed utterance (audio and result) is stored in the directory SGC_ToneProt/log EXECUTABLES praatcon.exe : Praat background executable for XP TONE RECOGNIZER SGC_ToneProt.praat : Main script ToneRecognition.praat : The recognizer function ToneScript.praat : Tone generator pinyin -> Tone model ToneRules.praat : "Rules" that determine tone shapes and duration (if you want to alter the tone models, start here) SUPPORTING SCRIPTS DrawToneContour.praat : Generate and draw a tone model HumToneContour.praat : Generate and hum a tone model TESTING SCRIPTS CreateFullToneSet.praat : Create a set of all tone shapes for a reiterated syllable SGC_ToneProt.tcl : A TCL/TK interface to test real interactive recognition TestToneRecognition.praat : Run the recognizer on files in a directory ReferenceToneScript.praat : Generate a Pitch object from the pinyin ReplayToneLogFile.praat : Replay the log entries generated by SGC_ToneProt.tcl TEXTS etc feedback : Directory with the feedback text feedback.txt : The last feedback text generated lastExample.wav : The last sound used in recognition lastResult.txt : The last recognition result README.txt : This text SGC_protWordList.txt : A wordlist used by SGC_ToneProt.tcl