Re: Stuck Voice Injection in gsm call with Neofreerunner device

2010-04-30 Thread Al Johnson
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

2010-04-30 Thread Timo Juhani Lindfors
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

2010-04-30 Thread saravanan T
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