3 All source code in this directory is licensed under the General Public License
4 version 2 or at your wish, any later version. Stefan de Konink, after this,
5 the author, did his best to create a bug free program. This program uses the
6 Praat program extensively.
8 This program should work on any platform Praat and GTK are supported on :)
11 The contents in the directory pinyin and wordlists CAN BE licensed under
12 another license than the GPL. These contents are not required for operation.
16 Praat GPL - Paul Boersma/David Weenink
17 SGC_ToneProt GPL - Rob van Son
18 SpeakGoodChinese GPL - Stefan de Konink
19 GtkTreeview Tutorial GPL -
20 libzip BSD-like - Dieter Baron/Thomas Klausner
22 We would like to thank Paul Boersma (UvA) for his help with Praat linking and
23 Tristian van Berkom for additional help with the localization code.
24 J.E. Raaijmakers, R. van Rijsselt and S. Verhagen for feedback on the GUI and
25 Praat library integration on Windows.
30 http://www.fon.hum.uva.nl/
31 http://www.speechminded.com/
32 http://www.speakgoodchinese.org/
33 http://www.glade.gnome.org/
34 http://www.nih.at/libzip/
36 ---------------------------------------------------------
38 The SpeakGoodChinese tone recognizer (SGC) helps you to practise pronouncing Mandarin Chinese tones.
42 - The tone recogniser analyses your pronunciation of the Chinese tones by using techniques in speech recognition.
44 - It shows you via a graphical presentation the difference between your pronunciation of the tones and the standard pronunciation.
46 - It also gives you a written analysis of your pronunciation.
48 - You can listen to a hummed example of a tone or tone combination, before you record your pronunciation.
50 - You can listen to your own recorded pronunciation.
52 - You can practise all one or two syllabic words of Mandarin Chinese by simply adding them to the wordlist yourself. The wordlist is then saved automatically for your future visits.
57 SGC consists of four major subsystems:
58 - Glade user interface definition (glade.gnome.org), licensed under the GNU GPL
59 - Praat phonetics, speech science, function library (www.praat.org), licensed under the GNU GPL
60 - SGC_ToneProt tone recognizer (www.SpeakGoodChinese.org), licensed under the GNU GPL
61 - Wordlists, combinations of wordlists and sound examples,
62 licensed under the GNU GPL and Creative Commons licenses
64 SGC should run on all platforms that support both Praat and Glade. However, not all
65 platforms have been tested yet.
68 Quote from the website glade.gnome.org:
70 Glade is a RAD tool to enable quick & easy development of user interfaces
71 for the GTK+ toolkit and the GNOME desktop environment, released under
74 The user interfaces designed in Glade are saved as XML, and by using the
75 libglade library these can be loaded by applications dynamically as needed.
77 By using libglade, Glade XML files can be used in numerous programming
78 languages including C, C++, Java, Perl, Python, C#, Pike, Ruby, Haskell,
79 Objective Caml and Scheme. Adding support for other languages is easy too.
81 The GUI definition is specified in the file sgc.glade, with additional components
82 in sgc.glade.h, sgc.h, and the po and locale directories. These files can be used
83 with the conventional RAD tools for Glade. Definition and program code are fully
84 separated, except for a file that contains the glue subroutine calls.
87 The Praat program is originally a stand alone program for phonetics, speech,
88 and acoustic research. Praat runs on most Unix variants, MacOS X and earlier
89 versions of the MacOS (the latter are not maintained), Linux, and MS Windows.
90 SGC uses a library, libpraat, constructed from the Praat sources. SGC also
91 makes extensive use of Praat script files (with the extension .praat). Praat
92 is comprehensively documented at www.praat.org.
95 The SGC_ToneProt directory contains an autonomous tone recognition module.
96 It consists of praat and sendpraat executables for several platforms. The
97 recognizer is build from platform independend praat scripts.
98 The SGC GUI controls the recognizer by executing praat scripts on the
99 praat executable in the background. Results are returned as files.
100 SGC_ToneProt scripts perform several types of actions beside the
101 pure tone recognition.
104 The singleword directory contains an add-on module for SpeakGoodChinese
105 it makes it easy to test your own words and uses the configuration of
109 Users can add their own word lists to practise. SGC stores these lists
110 in the wordlists directory. SGC comes with precompiled word lists, some
111 with prerecorded examples for all words. Wordlists are distributed
112 as files with the .sgc extension.
113 Word list distributions are simple ZIP files with the name <list
114 name>.sgc. They contain a list of all the words in pinyin with the
115 name wordlist.txt with one word per line (only ASCII characters) and
116 optionally a sound file for each word in the list. The sound files
117 should be named <pinyin word>.ext, where <pinyin word> is the pinyin
118 transcription, eg, sheng1zi4, and ext the sound extension type (eg,
119 wav). Note that SpeakGoodChinese uses Praat to process the sound
120 files. So only those sound files recognized by Praat can be used. This
121 excludes compressed formats like Ogg Vorbis and MP3 (see Praat: Read
122 from file...). Don't forget to include a LICENSE.txt file with the
123 copyright and licensing information. If you use one of the Creative
124 Commons licenses or the GNU GPL, you can ask us to put your list on
131 locale : Localizations of the interface
132 pinyin : Some standard sound files (deprecated)
133 PitchTiers : Storage of Pitch and PitchTier files
134 po : Pango message files
135 records : Stores recorded PitchTiers (deprecated)
136 todo : Incomplete files on To Do list
137 wordlists : Wordlists and examples (*.sgc files)
138 SGC_ToneProt : The tone recognizer (separate subsystem)
139 singleword : Add on module to test your own words
142 COPYING : GPL License
143 HOWTO : Installation instructions
144 README.txt : This file
145 TODO.txt : List of things to do
147 - C CODE AND HEADER FILES
148 cairo.c : The graphical module
149 config.c : Handles storing and reading the config (sgc.ini) file.
150 distribution.c : Handles storing and reading distribution files.
151 file.c : Handles storing and reading wordlist files.
152 frompraat.c : Contains modified Praat functions for drawing the Pitch.
153 frompraat.h : Subroutine definitions for frompraat.c (header file)
154 praat.c : All praat related calls such as sound and processing.
155 main.c : The main program, just a call to Glade.
156 sgc.glade.h : Text definitions of Glade (header file)
157 sgc.glade.h : Text definitions of Glade (header file)
158 sgc.h : Subroutine definitions for Glade and Praat (header file)
159 : And contains compiletime config.
161 Glade function definitions
162 signals.c : GUI application logic code.
163 signals-editor.c : GUI-editor application logic code.
164 signals-realize.c : GUI startup logic.
167 - LIBRARY AND RELATED FILES
168 libpraat.def : Libpraat definition file
169 libpraat.dll : Windows praat library
172 Makefile : Link to the makefile used
173 Makefile.linux : Makefile for Linux (on x86/64)
174 Makefile.linuxppc : Makefile for Linux on PowerPC
175 Makefile.mingw32 : Makefile for MS Windows (XP)
177 - SCRIPTS AND ADDITIONAL FILES
178 production : Script to copy all libraries
179 sgc.glade : Glade interface definition, ie, the GUI
180 sgc-logo.png : Picture of 'shuo1 hao3 zong1wen2' in characters
181 sgc-mounded.xar : Vector graphics file (Xara) of the final logo
182 sgc.png : SGC logo rasterized
183 sgc.xar : Vector graphics file (Xara) of the design logo
186 cairo.c : The graphical module to draw Pitch
187 config.c : A limited configuration parser for sgc.ini
188 config.h : The headerfile for config.c
189 main.c : The main routines and initialization
190 praat.c : Functionals calling praat
191 praat.h : The headerfile for praat.c
192 signals.c : The functions from the GUI
193 singleword.glade : The GUI
194 singleword.h : The main header file