Jump to content
Chinese-Forums
  • Sign Up

speakgoodchinese


newyorkeric

Recommended Posts

Thanks to your diagnosis, I've managed to get it working in ubuntu by replacing every occurence of g_thread_init(NULL); in the source with

 
if (!g_thread_supported()) 
   g_thread_init(NULL);

and it seems to have fixed the problem after recompiling (found this by googling). Everything now seems to be working great, except that I get

** (sgc:15204): WARNING **: No sound from praat!

whenever I try to record. Not really sure how praat works so I don't know how to approach this one.

Link to comment
Share on other sites

SGC plays sounds perfectly, and I can't find anything related to /dev/dsp in the strace. For what it's worth I tried using both the current static praat binary from the website (4.6.12) and the one from ubuntu's praat package (4.5.06); both have the same effect.

Link to comment
Share on other sites

Quick bit of extra info. Doctor Watson log says:

Application exception occurred:

App: C:Program FilesSpeakGoodChinesesgc.exe (pid=916)

When: 2007-8-6 @ 18:11:36.703

Exception number: c0000005 (access violation)

Event viewer says

Faulting application sgc.exe, version 0.0.0.0, faulting module ntdll.dll, version 5.1.2600.2180, fault address 0x00001016.

I tried to start SGC in safe mode, but it still crashed.

Link to comment
Share on other sites

I may have found the problem people have been having, at least i've managed to get the program to work on my own computer when it didn't before. I think this may have to do with the Unicode settings for your computer. Mine is set to run non-unicode programs as Chinese. In the shortcut for SpeakGoodChinese, I changed the Current Code Page, under the Options tab in the shortcut properties to United States, and now the program works. By the way, I am using the latest beta from August, so I haven't tried any other versions but it could be the solution to everyone's Windows problems.

Link to comment
Share on other sites

If that's the case, you might also want to try using AppLocale, which should achieve the same results without needing to restart your machine, or change the default settings (which might be problematic for those users who need the default settings to be some other language).

Link to comment
Share on other sites

Merged the two topics.

The change suggested by mikevwilliams above seems to fix the problem - I haven't had a chance to actually use it yet (will wake people up and get into trouble if I start shouting into the computer now) but it's getting to the GUI and all looks well.

Detailed instructions for anyone who still hasn't got it working, and skinkie if he wants to copy and paste it to the programs webpage.

Find the /speakgoodchinese folder

Right click on the sgc.bat file

Properties

Options

Set current code page to United States.

Incidentally, I didn't need to restart.

Link to comment
Share on other sites

Skinkie,

Is there any way of you providing a fix for this problem with the program itself. I ask this because I am running Vista now, and I can't change the Current Code Page like I could when I was using XP. I would really like to try this program out, but I can't make it work in Vista unless I change the non-unicode program setting back to english instead of chinese. :(

Thanks

Link to comment
Share on other sites

I still did not (have the time to) find out which thing is broken (or better to say: missing) that causes this crash and is fixed with this locale change. A long shot would be getting this program to work with the GTK+ win32 installer.

...I don't know if you have the 'skills' to look how to do this.

Link to comment
Share on other sites

Hi,

I am the one responsible for the recognizer and tone models.

Detailed instructions for anyone who still hasn't got it working, and skinkie if he wants to copy and paste it to the programs webpage.

Find the /speakgoodchinese folder

Right click on the sgc.bat file

Properties

Options

Set current code page to United States.

I have put this workaround on the download page.

http://www.speakgoodchinese.org/download.html

Thanks

Does the program test absolute levels as well as relative levels? That is, does it test that my 2nd tone rises high enough or that my 4th tone falls low enough? Or is it testing that my 4th tone falls enough relative to the starting point?

Yes. SGC compares the overall pitch (top) of the correct tone model to the pitch of the utterance. If the test utterance is more than 3 semitones below or 6 semitones above the model tones, it is discarded. Then the ranges of the tones (rises/falls) are compared. With the same cut-offs. Only then is the tone recognized. The recognizer too does use the shape and extend of the rises and falls.

I read somewhere in the documentation that the program is generous with regards to giving correct responses so as not to discourage new learners. In future versions it would be helpful if the user could choose the tolerance level.

Actually, you can by setting switches in the scripts. But you wouldn't want to.

The short reason is, the student should get the benefit of the doubt. A longer reason is that the recognizer type (Dynamic Time Warping on model contours) is much more likely to falsely reject a correct tone than to falsely accept an incorrect tone.

We managed to get both equal (the optimum solution) at around 15% for actual use data. This error rate is rather high for single bi-syllabic words, but building recognizers for beginning language learners is still an unsolved problem (for read "typical words" by native speakers we got below 5%, a meaningless statistics).

The tuning is done in two ways. First, SGC will pick the correct tone if it is close enough to the best (incorrect) solution. Second, many confusions which are part of Mandarin assimilations tend to remove the differences between tones in certain contexts (eg, tones 2 and 3 in the context of another 2 or 3). We just consider the utterance correct if the recognizer picks the wrong tone of a confusionable pair (eg, if 2-3 is recognized as 2-2).

These rules can be found in SpeakGoodChinese/SGC_ToneProt/SGC_ToneProt.praat

Look for:

# Special cases

However, if someone knows more about chinese tone assimilation/coarticulation phenomena, please feel free to point out our mistakes. We really are NOT well informed in the phonetics of Mandarin. Especially the neutral tone proved to be an enigma (however, we alread contacted Yiya Chen).

Btw, we also worked on a pronunciation recognizer. That proved to be much more difficult and the end result was so bad and the project time so short that we stopped that. It is still open to development, though.

Rob van Son

Link to comment
Share on other sites

Join the conversation

You can post now and select your username and password later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Click here to reply. Select text to quote.

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...