Re: Stuck Voice Injection in gsm call with Neofreerunner device
On Friday 30 April 2010, saravanan T wrote: > Hello, > > I would like to find out whether voice injection in gsm call is possible in > openmoko or not. I have read your FAQ's on the openmoko wiki, found out > that we could play a file during gsm call. I also did find some posts in > openmoko regarding this to be positive. > > My Questions are > 1. I did not find any api(Java,Python) to inject the voice during call ? > Where should I look ? It isn't the sort of task that needs an API really, at least on the Openmoko handsets. You just need to set the mixer to route the output of the DAC into the GSM input and play the file. How to do this will vary slightly depending on what distro you are using, and what sort of interface you want. Give us more details and we can give more hints. Timo's method of setting up the mixer is much more long winded than it needs to be though! For some background on the mixer see the wiki: http://wiki.openmoko.org/wiki/Neo_Freerunner_audio_subsystem http://wiki.openmoko.org/wiki/Neo_1973_audio_subsystem > 2. It said that the hardware is capable of doing so? Do I have have to > reprogram or mod the kernel or os ? No mods required. Once the mixer state file is modified it's _very_ simple. > 3.Why does android does not support this kind of mechanism? (They say > android is open-source) Is it the Hardware problem or software one? On the Openmoko handsets it's a software issue as we know the hardware can do it. If the Android audio API can't cope with it then I guess Google didn't think it was important. I know the linphone guys are complaining that Android is incapable of doing low-latency audio. > I dont know how to proceed in this one with the device(neofreerunner). > Please do me help me regarding the above. Thanks ___ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Re: Stuck Voice Injection in gsm call with Neofreerunner device
saravanan T writes: > 1. I did not find any api(Java,Python) to inject the voice during call ? > Where should I look ? Good question. I have managed to record audio from GSM but not yet playback. I first # Route audio from aplay to GSM. # aplay audio starts from left DAC so we start from there. # keep the channels separate, do not mix them to for mono. # R1, DMONOMIX = 0 = Stereo amixer -qc0 cset numid=46,name='Playback Mono Mix' 0 # R1, DACINV = 0 = non-inverted (does not really matter) amixer -qc0 cset numid=47,name='Playback Phase' 0 # R8, LDACVOL = 200 amixer -qc0 cset numid=01,name='PCM Volume' 200,0 # R1, DEEMP = 00 = no-deemphasis amixer -qc0 cset numid=45,name='De-emphasis' 0 # R10, BB = 0 = linear bass boost amixer -qc0 cset numid=15,name='Bass Boost' 0 # R10, BC = 000 = bass filter cut-off 13 Hz at fs = 48 kHz amixer -qc0 cset numid=16,name='Bass Filter' 0 # R10, BASS = 1000 = bass intensity -1.5 dB amixer -qc0 cset numid=17,name='Bass Volume' 8 # R11, TC = 0 = treble filter high amixer -qc0 cset numid=19,name='Treble Cut-off' 0 # R11, TRBL = terble intensity -1.5 dB amixer -qc0 cset numid=18,name='Treble Volume' 8 # R19, 3DEN = disable 3D function amixer -qc0 cset numid=42,name='3D Switch' off # should now be at "left DAC" box :-) # R20, VMIDSEL does not have alsa control # R38, LD2MO = 1 = enable left DAC to mono mixer amixer -qc0 cset numid=74,name='Mono Mixer Left Playback Switch' off # *R38, MM2MO = 0 = disable MM signal to mono mixer amixer -qc0 cset numid=78,name='Mono Mixer Bypass Playback Swit' off # *R39, RD2MO = 0, disable right dac to mono mixer amixer -qc0 cset numid=75,name='Mono Mixer Right Playback Switc' off # *R39, ST2MO = 0, disable sidetone signal to mono mixer amixer -qc0 cset numid=77,name='Mono Mixer Sidetone Playback Sw' off # *R39, VXD2MO = 0, disable voice dac to mono mixer amixer -qc0 cset numid=76,name='Mono Mixer Voice Playback Switc' off # *R34, LD2LO = 0 = disable left dac to left mixer amixer -qc0 cset numid=85,name="Left Mixer Left Playback Switch" off # *R36, RD2RO = 0 disable right dac to right mixer amixer -qc0 cset numid=81,name='Right Mixer Right Playback Swit' off # R44, MONO1VOL amixer -qc0 cset numid=05,name="Mono Playback Volume" 100 # R22, MONO2 = 1 (MONO2 enable) amixer -qc0 cset numid=88,name="DAPM GSM Line Out Switch" on # R22, MONO1 = 1 (MONO1 enable) amixer -qc0 cset numid=77,name="Mono Mixer Sidetone Playback Sw" on # R45, MONO2SW = 00 = inverted MONO1 amixer -qc0 cset numid=73,name="Mono 2 Mux" 0 to configure audio routing and then use speaker-test -t sine -r 48000 to generate a test signal. ___ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Stuck Voice Injection in gsm call with Neofreerunner device
Hello, I would like to find out whether voice injection in gsm call is possible in openmoko or not. I have read your FAQ's on the openmoko wiki, found out that we could play a file during gsm call. I also did find some posts in openmoko regarding this to be positive. My Questions are 1. I did not find any api(Java,Python) to inject the voice during call ? Where should I look ? 2. It said that the hardware is capable of doing so? Do I have have to reprogram or mod the kernel or os ? 3.Why does android does not support this kind of mechanism? (They say android is open-source) Is it the Hardware problem or software one? I dont know how to proceed in this one with the device(neofreerunner). Please do me help me regarding the above. Thanks Regards Saravanan.L ___ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community