 piede828
|
Hi all,
I am trying to run the OpenEarsSampleProject on iPhone3G but I get this an EXC_BAD_ACCESS in the ContinuousAudioUnit.mm on the line 180:
memcpy(audioDriver->ringBuffer[chunkToWriteTo].buffer,(SInt16 *)ioData->mBuffers[0].mData,inNumberFrames*2); // Copy this unit's samples into the ringbuffer
The project works fine on iPhone4
|
 Halle
|
Hello,
Please post your output from OPENEARSLOGGING and VERBOSEPOCKETSPHINX.
|
 piede828
|
Hi, these are the last lines
2011-11-04 22:00:44.781 OpenEarsSampleProject[519:5d03] OPENEARSLOGGING: Listening.
2011-11-04 22:00:44.760 OpenEarsSampleProject[519:307] Setting up the continuous recognition loop has failed for some reason, please turn on OPENEARSLOGGING in OpenEarsConfig.h to learn more.
2011-11-04 22:00:44.812 OpenEarsSampleProject[519:307] Pocketsphinx calibration is complete.
2011-11-04 22:00:44.848 OpenEarsSampleProject[519:307] OPENEARSLOGGING: I'm running flite
[Switching to process 13059 thread 0x3303]
[Switching to process 13059 thread 0x3303]
|
 Halle
|
Please post all of the OPENEARSLOGGING and VERBOSEPOCKETSPHINX logging.
|
 piede828
|
here you go:
GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Fri Sep 16 06:56:50 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "--host=i386-apple-darwin --target=arm-apple-darwin".tty /dev/ttys000
target remote-mobile /tmp/.XcodeGDBRemote-26886-42
Switching to remote-macosx protocol
mem 0x1000 0x3fffffff cache
mem 0x40000000 0xffffffff none
mem 0x00000000 0x0fff none
[Switching to process 11523 thread 0x2d03]
[Switching to process 11523 thread 0x2d03]
sharedlibrary apply-load-rules all
warning: Unable to read symbols for /Users/pietrodesiato/Library/Developer/Xcode/iOS DeviceSupport/4.2.1 (8C148)/Symbols/usr/lib/info/dns.so (file not found).
warning: No copy of dns.so found locally, reading from memory on remote device. This may slow down the debug session.
2011-11-05 09:53:18.723 OpenEarsSampleProject[635:307] OPENEARSLOGGING: The audio session has never been initialized so we will do that now.
2011-11-05 09:53:19.127 OpenEarsSampleProject[635:307] OPENEARSLOGGING: AudioSessionManager startAudioSession has reached the end of the initialization.
2011-11-05 09:53:19.151 OpenEarsSampleProject[635:307] OPENEARSLOGGING: Exiting startAudioSession.
2011-11-05 09:53:19.508 OpenEarsSampleProject[635:307] OPENEARSLOGGING: Starting dynamic language model generation
2011-11-05 09:53:19.517 OpenEarsSampleProject[635:307] OPENEARSLOGGING: Running MITLM
0.880 Loading corpus /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/Documents/OpenEarsDynamicGrammar.corpus...
1.060 Smoothing[1] = ModKN
1.060 Smoothing[2] = ModKN
1.060 Smoothing[3] = ModKN
1.060 Set smoothing algorithms...
1.070 Estimating full n-gram model...
1.070 Saving LM to /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/Documents/OpenEarsDynamicGrammar.languagemodel...
2011-11-05 09:53:20.436 OpenEarsSampleProject[635:307] OPENEARSLOGGING: Using convertGraphemes for the word or phrase QUIDNUNC which doesn't appear in the dictionary
2011-11-05 09:53:21.263 OpenEarsSampleProject[635:307] OPENEARSLOGGING: I'm done running dynamic language model generation and it took 1.746844 seconds
2011-11-05 09:53:21.273 OpenEarsSampleProject[635:307] Dynamic language generator completed successfully, you can find your new files OpenEarsDynamicGrammar.languagemodel
and
OpenEarsDynamicGrammar.dic
at the paths
/var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/Documents/OpenEarsDynamicGrammar.languagemodel
and
/var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/Documents/OpenEarsDynamicGrammar.dic
2011-11-05 09:53:21.281 OpenEarsSampleProject[635:307]
Welcome to the OpenEars sample project. This project understands the words:
BACKWARD,
CHANGE,
FORWARD,
GO,
LEFT,
MODEL,
RIGHT,
TURN,
and if you say "CHANGE MODEL" it will switch to its dynamically-generated model which understands the words:
CHANGE,
MODEL,
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY,
QUIDNUNC
2011-11-05 09:53:21.310 OpenEarsSampleProject[635:5d03] OPENEARSLOGGING: Recognition loop has started
INFO: cmd_ln.c(512): Parsing command line:
\
-lm /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/OpenEars1.languagemodel \
-dict /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/OpenEars1.dic \
-fdict /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/noisedict \
-hmm /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app \
-maxhmmpf 3000 \
-maxwpf 5
Current configuration:
[NAME] [DEFLT] [VALUE]
-agc none none
-agcthresh 2.0 2.000000e+00
-alpha 0.97 9.700000e-01
-argfile
-ascale 20.0 2.000000e+01
-backtrace no no
-beam 1e-48 1.000000e-48
-bestpath yes yes
-bestpathlw 9.5 9.500000e+00
-bghist no no
-ceplen 13 13
-cmn current current
-cmninit 8.0 8.0
-compallsen no no
-debug 0
-dict /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/OpenEars1.dic
-dictcase no no
-dither no no
-doublebw no no
-ds 1 1
-fdict /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/noisedict
-feat 1s_c_d_dd 1s_c_d_dd
-featparams
-fillprob 1e-8 1.000000e-08
-frate 100 100
-fsg
-fsgusealtpron yes yes
-fsgusefiller yes yes
-fwdflat yes yes
-fwdflatbeam 1e-64 1.000000e-64
-fwdflatefwid 4 4
-fwdflatlw 8.5 8.500000e+00
-fwdflatsfwin 25 25
-fwdflatwbeam 7e-29 7.000000e-29
-fwdtree yes yes
-hmm /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app
-input_endian little little
-jsgf
-kdmaxbbi -1 -1
-kdmaxdepth 0 0
-kdtree
-latsize 5000 5000
-lda
-ldadim 0 0
-lextreedump 0 0
-lifter 0 0
-lm /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/OpenEars1.languagemodel
-lmctl
-lmname default default
-logbase 1.0001 1.000100e+00
-logfn
-logspec no no
-lowerf 133.33334 1.333333e+02
-lpbeam 1e-40 1.000000e-40
-lponlybeam 7e-29 7.000000e-29
-lw 6.5 6.500000e+00
-maxhmmpf -1 3000
-maxnewoov 20 20
-maxwpf -1 5
-mdef
-mean
-mfclogdir
-mixw
-mixwfloor 0.0000001 1.000000e-07
-mllr
-mmap yes yes
-ncep 13 13
-nfft 512 512
-nfilt 40 40
-nwpen 1.0 1.000000e+00
-pbeam 1e-48 1.000000e-48
-pip 1.0 1.000000e+00
-pl_beam 1e-10 1.000000e-10
-pl_pbeam 1e-5 1.000000e-05
-pl_window 0 0
-rawlogdir
-remove_dc no no
-round_filters yes yes
-samprate 16000 1.600000e+04
-seed -1 -1
-sendump
-senmgau
-silprob 0.005 5.000000e-03
-smoothspec no no
-svspec
-tmat
-tmatfloor 0.0001 1.000000e-04
-topn 4 4
-topn_beam 0 0
-toprule
-transform legacy legacy
-unit_area yes yes
-upperf 6855.4976 6.855498e+03
-usewdphones no no
-uw 1.0 1.000000e+00
-var
-varfloor 0.0001 1.000000e-04
-varnorm no no
-verbose no no
-warp_params
-warp_type inverse_linear inverse_linear
-wbeam 7e-29 7.000000e-29
-wip 0.65 6.500000e-01
-wlen 0.025625 2.562500e-02
2011-11-05 09:53:21.759 OpenEarsSampleProject[635:307] Pocketsphinx is starting up.
INFO: cmd_ln.c(512): Parsing command line:
\
-nfilt 20 \
-lowerf 1 \
-upperf 4000 \
-wlen 0.025 \
-transform dct \
-round_filters no \
-remove_dc yes \
-svspec 0-12/13-25/26-38 \
-feat 1s_c_d_dd \
-agc none \
-cmn current \
-cmninit 39 \
-varnorm no
Current configuration:
[NAME] [DEFLT] [VALUE]
-agc none none
-agcthresh 2.0 2.000000e+00
-alpha 0.97 9.700000e-01
-ceplen 13 13
-cmn current current
-cmninit 8.0 39
-dither no no
-doublebw no no
-feat 1s_c_d_dd 1s_c_d_dd
-frate 100 100
-input_endian little little
-lda
-ldadim 0 0
-lifter 0 0
-logspec no no
-lowerf 133.33334 1.000000e+00
-ncep 13 13
-nfft 512 512
-nfilt 40 20
-remove_dc no yes
-round_filters yes no
-samprate 16000 1.600000e+04
-seed -1 -1
-smoothspec no no
-svspec 0-12/13-25/26-38
-transform legacy dct
-unit_area yes yes
-upperf 6855.4976 4.000000e+03
-varnorm no no
-verbose no no
-warp_params
-warp_type inverse_linear inverse_linear
-wlen 0.025625 2.500000e-02
INFO: acmod.c(238): Parsed model-specific feature parameters from /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/feat.params
INFO: feat.c(848): Initializing feature stream to type: '1s_c_d_dd', ceplen=13, CMN='current', VARNORM='no', AGC='none'
INFO: cmn.c(142): mean[0]= 12.00, mean[1..12]= 0.0
INFO: acmod.c(163): Using subvector specification 0-12/13-25/26-38
INFO: mdef.c(520): Reading model definition: /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/mdef
INFO: mdef.c(531): Found byte-order mark BMDF, assuming this is a binary mdef file
INFO: bin_mdef.c(330): Reading binary model definition: /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/mdef
INFO: bin_mdef.c(508): 50 CI-phone, 143047 CD-phone, 3 emitstate/phone, 150 CI-sen, 5150 Sen, 27135 Sen-Seq
INFO: tmat.c(205): Reading HMM transition probability matrices: /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/transition_matrices
INFO: acmod.c(117): Attempting to use SCHMM computation module
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/means
INFO: ms_gauden.c(292): 1 codebook, 3 feature, size
INFO: ms_gauden.c(198): Reading mixture gaussian parameter: /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/variances
INFO: ms_gauden.c(292): 1 codebook, 3 feature, size
INFO: ms_gauden.c(358): 0 variance values floored
INFO: s2_semi_mgau.c(897): Loading senones from dump file /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/sendump
INFO: s2_semi_mgau.c(921): BEGIN FILE FORMAT DESCRIPTION
INFO: s2_semi_mgau.c(1016): Using memory-mapped I/O for senones
INFO: s2_semi_mgau.c(1293): Maximum top-N: 4 Top-N beams: 0 0 0
INFO: dict.c(294): Allocating 4115 * 20 bytes (80 KiB) for word entries
INFO: dict.c(306): Reading main dictionary: /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/OpenEars1.dic
INFO: dict.c(206): Allocated 0 KiB for strings, 0 KiB for phones
INFO: dict.c(309): 8 words read
INFO: dict.c(314): Reading filler dictionary: /var/mobile/Applications/7BB55DEE-DD29-42C8-8B74-E8C70EAE9FA0/OpenEarsSampleProject.app/noisedict
INFO: dict.c(206): Allocated 0 KiB for strings, 0 KiB for phones
INFO: dict.c(317): 11 words read
INFO: dict2pid.c(396): Building PID tables for dictionary
INFO: dict2pid.c(405): Allocating 50^3 * 2 bytes (244 KiB) for word-initial triphones
INFO: dict2pid.c(131): Allocated 30200 bytes (29 KiB) for word-final triphones
INFO: dict2pid.c(195): Allocated 30200 bytes (29 KiB) for single-phone word triphones
INFO: ngram_model_arpa.c(476): ngrams 1=10, 2=16, 3=8
INFO: ngram_model_arpa.c(135): Reading unigrams
INFO: ngram_model_arpa.c(515): 10 = #unigrams created
INFO: ngram_model_arpa.c(194): Reading bigrams
INFO: ngram_model_arpa.c(531): 16 = #bigrams created
INFO: ngram_model_arpa.c(532): 3 = #prob2 entries
INFO: ngram_model_arpa.c(539): 3 = #bo_wt2 entries
INFO: ngram_model_arpa.c(291): Reading trigrams
INFO: ngram_model_arpa.c(552): 8 = #trigrams created
INFO: ngram_model_arpa.c(553): 2 = #prob3 entries
INFO: ngram_search_fwdtree.c(99): 8 unique initial diphones
INFO: ngram_search_fwdtree.c(147): 0 root, 0 non-root channels, 12 single-phone words
INFO: ngram_search_fwdtree.c(186): Creating search tree
INFO: ngram_search_fwdtree.c(191): before: 0 root, 0 non-root channels, 12 single-phone words
INFO: ngram_search_fwdtree.c(324): after: max nonroot chan increased to 145
INFO: ngram_search_fwdtree.c(333): after: 8 root, 17 non-root channels, 11 single-phone words
INFO: ngram_search_fwdflat.c(153): fwdflat: min_ef_width = 4, max_sf_win = 25
2011-11-05 09:53:23.286 OpenEarsSampleProject[635:5d03] OPENEARSLOGGING: Starting openAudioDevice on the device.
2011-11-05 09:53:23.307 OpenEarsSampleProject[635:5d03] OPENEARSLOGGING: Audio unit wrapper successfully created.
2011-11-05 09:53:23.365 OpenEarsSampleProject[635:5d03] OPENEARSLOGGING: Set audio route to SpeakerAndMicrophone
2011-11-05 09:53:23.376 OpenEarsSampleProject[635:5d03] OPENEARSLOGGING: Setting the variables for the device and starting it.
2011-11-05 09:53:23.394 OpenEarsSampleProject[635:5d03] OPENEARSLOGGING: Looping through ringbuffer sections and pre-allocating them.
2011-11-05 09:53:24.349 OpenEarsSampleProject[635:5d03] OPENEARSLOGGING: Started audio output unit.
2011-11-05 09:53:24.360 OpenEarsSampleProject[635:5d03] OPENEARSLOGGING: Calibration has started
2011-11-05 09:53:24.363 OpenEarsSampleProject[635:307] Pocketsphinx calibration has started.
2011-11-05 09:53:28.590 OpenEarsSampleProject[635:5d03] OPENEARSLOGGING: Calibration has completed
2011-11-05 09:53:28.612 OpenEarsSampleProject[635:5d03] OPENEARSLOGGING: Project has these words in its dictionary:
BACKWARD
CHANGE
FORWARD
GO
LEFT
MODEL
RIGHT
TURN
2011-11-05 09:53:28.616 OpenEarsSampleProject[635:5d03] OPENEARSLOGGING: Listening.
2011-11-05 09:53:28.598 OpenEarsSampleProject[635:307] Pocketsphinx calibration is complete.
2011-11-05 09:53:28.643 OpenEarsSampleProject[635:307] OPENEARSLOGGING: I'm running flite
[Switching to process 13059 thread 0x3303]
[Switching to process 13059 thread 0x3303]
(gdb)
|
 Halle
|
And what do you see if you type “backtrace” into the gdb prompt at the end?
This is strange because the stock install of the sample app is tested on 4.2.1 on a 3G. Have you made any changes to the sample app or its language models or dictionaries? Which compiler are you using?
Other questions:
• Is the headset connected when this is happening?
• Is VoiceOver on when the app is started?
|
 piede828
|
I got this:
#0 0x35d5bcfc in memmove ()
#1 0×00056634 in AudioUnitRenderCallback (inRefCon=0xaa85d0, ioActionFlags=0x41e4874, inTimeStamp=0x13260fc, inBusNumber=0, inNumberFrames=2048, ioData=0xaa96f0) at /Users/pietrodesiato/Dropbox/Mobisle/Proposte/Mobisle/OpenEars/OpenearsPietro/OpenEars/OpenEarsLibrary/Classes/src/ContinuousAudioUnit.mm:190
#2 0x36c66900 in AUInputElement::PullInput ()
#3 0x36c73ba0 in AUInputFormatConverter2::InputProc ()
#4 0x36c3e17c in AudioConverterChain::CallInputProc ()
#5 0x36c3e078 in AudioConverterChain::FillBufferFromInputProc ()
#6 0x36c3ddac in BufferedAudioConverter::GetInputBytes ()
#7 0x36c73a28 in CBRConverter::RenderOutput ()
#8 0x36c3d8f8 in BufferedAudioConverter::FillBuffer ()
#9 0x36c3daf4 in AudioConverterChain::RenderOutput ()
#10 0x36c3d8f8 in BufferedAudioConverter::FillBuffer ()
#11 0x36c3d594 in AudioConverterFillComplexBuffer ()
#12 0x36c7343c in AUConverterBase::RenderBus ()
#13 0x36d48f18 in AURemoteIO::RenderBus ()
#14 0x36c3fed4 in AUBase::DoRender ()
#15 0x36d49a60 in AURemoteIO::PerformIO ()
#16 0x36d49ec4 in AURIOCallbackReceiver_PerformIO ()
#17 0x36d40e34 in _XPerformIO ()
#18 0x36c6858c in mshMIGPerform ()
#19 0x36d01328 in MSHMIGDispatchMessage ()
#20 0x36d514cc in AURemoteIO::IOThread::Entry ()
#21 0x36c2cda8 in CAPThread::Entry ()
#22 0x35de5b4c in _pthread_start ()
#23 0x35dd77ac in thread_start ()
Current language: auto; currently objective-c++
|
 piede828
|
I am using Xcode 4.2 and I didn’t change anything in the project except that I added armv6 to the build settings > Architecture to make it work on 3G (otherwise it doesn’t run on it).
I have no headphones and no voiceover.
|
 piede828
|
Yeah and my iPhone3G is running 4.2.1
|
 Halle
|
OK, I will try to replicate this at the earliest opportunity and let you know what I find. It may just be necessary to provide more specific instructions about what to do with the instruction set. You might also try compiling it with gcc rather than Apple LLVM since this seems to be somehow related to Xcode 4.2 on first blush and that is another difference besides the non-support for armv6 out of the box.
|
 piede828
|
I have change to GCC and now it runs without that error! looks like it’s fixed
|
 piede828
|
Thanks, it’s working now.
|
 Halle
|
Awesome, glad to hear it. I will add that to the documentation shortly.
|