It was tested on Mac OS 10.3.9, so it's definitely possible that it is broken in 10.5 or even in 10.4.
But I wouldn't be surprised if 10.5 is the release that broke it, because Apple stupidly broke a lot of BSD functionality in order to get its "Real UNIX" label.
My wife has a MacBook Pro with 10.5, so I can test it later this week.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have compiled and installed pocketsphinx under mac os x 10.5.
everthing seemed to be fine but running
./pocketsphinx_continuous -hmm ../share/pocketsphinx/model/hmm/wsj1 -lm ../../../7927.lm -dict ../../../7927.dic
gives:
INFO: tty-continuous.c(256): ./pocketsphinx_continuous COMPILED ON: Apr 7 2008, AT: 23:31:33
Floating point exception
What is wrong?
Sorry pasted the wrong bit into the last posting
Thread 2 Crashed:
0 libsphinxad.0.dylib 0x00019eca PaOSX_CoreAudioIOCallback + 202 (pa_mac_core.c:1054)
1 com.apple.audio.CoreAudio 0x000fffe3 HP_IOProc::Call(AudioTimeStamp const&, AudioTimeStamp const&, AudioBuffer
List const, AudioTimeStamp const&, AudioBufferList) + 319
2 com.apple.audio.CoreAudio 0x000ffcd4 IOA_Device::CallIOProcs(AudioTimeStamp const&, AudioTimeStamp const&, Aud
ioTimeStamp const&) + 274
3 com.apple.audio.CoreAudio 0x000ffbb0 HP_IOThread::PerformIO(AudioTimeStamp const&) + 1246
4 com.apple.audio.CoreAudio 0x000fdf8b HP_IOThread::WorkLoop() + 1239
5 com.apple.audio.CoreAudio 0x000fdaaf HP_IOThread::ThreadEntry(HP_IOThread) + 17
6 com.apple.audio.CoreAudio 0x000ee304 CAPThread::Entry(CAPThread) + 96
7 libSystem.B.dylib 0x00425c55 _pthread_start + 321
8 libSystem.B.dylib 0x00425b12 thread_start + 34
Hmmm, this indicates that an audio buffer has 0 channels, which doesn't make a whole lot of sense.
It must be that CoreAudio APIs changed somehow, or that the buffer isn't initialized properly.
Sadly, Apple doesn't really like to document its APIs, so I'm not sure exactly how to go about fixing this.
I did a brute force fix which seems to work (without me knowing what I am doing)
if (outOutputData->mBuffers[0].mNumberChannels!=0){
numFramesInOutputBuffer = outOutputData->mBuffers[0].mDataByteSize /
(sizeof(float) * outOutputData->mBuffers[0].mNumberChannels);
} else {
numFramesInOutputBuffer = 0;
}
>I have compiled and installed pocketsphinx under mac os x 10.5.
Which version of pocketsphinx and sphinxbase?
> Floating point exception
does pocketsphinx_test run for you? It must be a bug. David said pocketsphinx release was tested on macos, trunk may be broken indeed.
It was tested on Mac OS 10.3.9, so it's definitely possible that it is broken in 10.5 or even in 10.4.
But I wouldn't be surprised if 10.5 is the release that broke it, because Apple stupidly broke a lot of BSD functionality in order to get its "Real UNIX" label.
My wife has a MacBook Pro with 10.5, so I can test it later this week.
I have tried the trunk version and sphinxbase-0.3 mot pocketsphinx-0.4.1, evertime I got floating point exceptions.
./pocketsphinx_test: line 20: 57375 Floating point exception$S2BATCH -adcin yes -cepext .16k -samprate 16000 -agc none -fwdflat no -bestpath no -lm ${TASK}/turtle.lm -dict ${TASK}/turtle.dic -hmm ${HMM} -mmap yes
I found a CrashReporterFile, the error seems to be a division by zero at:
0 libsphinxad.0.dylib 0x0001b7cf GetAudioStreamReadable + 31 (pablio.c:181)