Try the state-file attached to this mail.
You have to set these two switches to these values
(even within the stat-file above, without these changes you will only
record your own voice and not hear the other one):
Capture Right Mux --> "PGA"
Capture Left Mux --> "Line or RXP-RXN"
Matthias
Ed Kapitein schrieb:
> Thanks Matthias,
>
> Seems like a fine solution to me, what switches are set to what value?
> I would like to record both the incomming voice and my own voice.
> Implementing this in a script seems not to difficult too.
>
> Kind regards,
> Ed
>
> On Fri, 2009-07-10 at 15:15 +0200, Matthias Felsche wrote:
>
>> Actually Dictator does not manipulate any state-file.
>> It provides its own. One for playing files that has been recorded, one for
>> recording.
>> It loads the recording-state and changes two switches, depending on what
>> you'd like to record.
>> It backups the previous state and reloads it when it is done.
>>
>> You have to change the state of alsa if you want to record a phonecall. I
>> think there is no alternative!
>> It's easier to do with a ready state-file than by manipulating every single
>> switch!
>>
>> At all, if you want something working automatically, you just have to listen
>> for incoming calls (via dbus?) and when one is coming, you have to start
>> (e.g.) a script
>> which loads a state with which you can record a call simultaneously and
>> start arecord and end when you hang up.
>>
>> Matthias
>>
>> -----Ursprüngliche Nachricht-----
>> Von: "The Digital Pioneer" <[email protected]>
>> Gesendet: 10.07.09 15:03:31
>> An: List for Openmoko community discussion <[email protected]>
>> Betreff: Re: Record call.
>>
>> I would think it would be easy, but given how many people have tried
>> to do it and ended up with rather unsatisfactory solutions (sorry
>> Dictator folks, but manipulating the statefiles just doesn't feel
>> like a clean solution...), I think it is not as easy as it sounds.
>> But then, what in the Freerunner is?... Apparently, no-one has
>> figured out how to reliably do bluetooth calls yet either. :(
>>
>> Also beware, if you're in the US, it's illegal to record calls
>> without warning the other party.
>> _______________________________________________ Openmoko community
>> mailing list [email protected] http://lists.openmoko.org/
>>
>> mailman/listinfo/community
>>
>>
>> ________________________________________________________________
>> Neu: WEB.DE Doppel-FLAT mit Internet-Flatrate + Telefon-Flatrate
>> für nur 19,99 Euro/mtl.!* http://produkte.web.de/go/02/
>>
>>
>> _______________________________________________
>> Openmoko community mailing list
>> [email protected]
>> http://lists.openmoko.org/mailman/listinfo/community
>>
>>
>
>
> _______________________________________________
> Openmoko community mailing list
> [email protected]
> http://lists.openmoko.org/mailman/listinfo/community
>
>
state.neo1973gta02 {
control.1 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 255'
iface MIXER
name 'PCM Volume'
value.0 235
value.1 235
}
control.2 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 255'
iface MIXER
name 'ADC Capture Volume'
value.0 240
value.1 240
}
control.3 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 127'
iface MIXER
name 'Headphone Playback Volume'
value.0 127
value.1 127
}
control.4 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 127'
iface MIXER
name 'Speaker Playback Volume'
value.0 127
value.1 127
}
control.5 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 127'
iface MIXER
name 'Mono Playback Volume'
value 121
}
control.6 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 7'
iface MIXER
name 'Bypass Playback Volume'
value.0 6
value.1 6
}
control.7 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 7'
iface MIXER
name 'Sidetone Playback Volume'
value.0 4
value.1 4
}
control.8 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 7'
iface MIXER
name 'Voice Playback Volume'
value.0 2
value.1 2
}
control.9 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Headphone Playback ZC Switch'
value.0 false
value.1 false
}
control.10 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Speaker Playback ZC Switch'
value.0 false
value.1 false
}
control.11 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 7'
iface MIXER
name 'Mono Bypass Playback Volume'
value 2
}
control.12 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 7'
iface MIXER
name 'Mono Sidetone Playback Volume'
value 2
}
control.13 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 7'
iface MIXER
name 'Mono Voice Playback Volume'
value 2
}
control.14 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mono Playback ZC Switch'
value false
}
control.15 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'Linear Control'
comment.item.1 'Adaptive Boost'
iface MIXER
name 'Bass Boost'
value 'Linear Control'
}
control.16 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 '130Hz @ 48kHz'
comment.item.1 '200Hz @ 48kHz'
comment.item.2 '100Hz @ 16kHz'
comment.item.3 '400Hz @ 48kHz'
comment.item.4 '100Hz @ 8kHz'
comment.item.5 '200Hz @ 8kHz'
iface MIXER
name 'Bass Filter'
value '130Hz @ 48kHz'
}
control.17 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 15'
iface MIXER
name 'Bass Volume'
value 7
}
control.18 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 15'
iface MIXER
name 'Treble Volume'
value 7
}
control.19 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 '8kHz'
comment.item.1 '4kHz'
iface MIXER
name 'Treble Cut-off'
value '8kHz'
}
control.20 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 7'
iface MIXER
name 'Sidetone Capture Volume'
value.0 2
value.1 2
}
control.21 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 7'
iface MIXER
name 'Voice Sidetone Capture Volume'
value 2
}
control.22 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 63'
iface MIXER
name 'Capture Volume'
value.0 60
value.1 60
}
control.23 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Capture ZC Switch'
value.0 false
value.1 false
}
control.24 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 2
iface MIXER
name 'Capture Switch'
value.0 true
value.1 true
}
control.25 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 '3.4Hz @ 48kHz'
comment.item.1 '82Hz @ 16k'
comment.item.2 '82Hz @ 8kHz'
comment.item.3 '170Hz @ 8kHz'
iface MIXER
name 'Capture Filter Select'
value '3.4Hz @ 48kHz'
}
control.26 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 HiFi
comment.item.1 Voice
iface MIXER
name 'Capture Filter Cut-off'
value HiFi
}
control.27 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Capture Filter Switch'
value true
}
control.28 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 7'
iface MIXER
name 'ALC Capture Target Volume'
value 5
}
control.29 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 7'
iface MIXER
name 'ALC Capture Max Volume'
value 7
}
control.30 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Off
comment.item.1 Right
comment.item.2 Left
comment.item.3 Stereo
iface MIXER
name 'ALC Capture Function'
value Off
}
control.31 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'ALC Capture ZC Switch'
value false
}
control.32 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 15'
iface MIXER
name 'ALC Capture Hold Time'
value 15
}
control.33 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 15'
iface MIXER
name 'ALC Capture Decay Time'
value 12
}
control.34 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 15'
iface MIXER
name 'ALC Capture Attack Time'
value 2
}
control.35 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 31'
iface MIXER
name 'ALC Capture NG Threshold'
value 0
}
control.36 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'Constant PGA Gain'
comment.item.1 'Mute ADC Output'
iface MIXER
name 'ALC Capture NG Type'
value 'Constant PGA Gain'
}
control.37 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'ALC Capture NG Switch'
value false
}
control.38 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Capture
comment.item.1 Playback
iface MIXER
name '3D Function'
value Capture
}
control.39 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 '2.2kHz'
comment.item.1 '1.5kHz'
iface MIXER
name '3D Upper Cut-off'
value '2.2kHz'
}
control.40 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 '200Hz'
comment.item.1 '500Hz'
iface MIXER
name '3D Lower Cut-off'
value '200Hz'
}
control.41 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 15'
iface MIXER
name '3D Volume'
value 0
}
control.42 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name '3D Switch'
value false
}
control.43 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Capture 6dB Attenuate'
value false
}
control.44 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Playback 6dB Attenuate'
value false
}
control.45 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 None
comment.item.1 '32kHz'
comment.item.2 '44.1kHz'
comment.item.3 '48kHz'
iface MIXER
name De-emphasis
value None
}
control.46 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Stereo
comment.item.1 Left
comment.item.2 Right
comment.item.3 Mono
iface MIXER
name 'Playback Mono Mix'
value Stereo
}
control.47 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'Non Inverted'
comment.item.1 Inverted
iface MIXER
name 'Playback Phase'
value 'Non Inverted'
}
control.48 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 3'
iface MIXER
name 'Mic2 Capture Volume'
value 3
}
control.49 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 3'
iface MIXER
name 'Mic1 Capture Volume'
value 0
}
control.50 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'DAI 0'
comment.item.1 'DAI 1'
comment.item.2 'DAI 2'
comment.item.3 'DAI 3'
iface MIXER
name 'DAI Mode'
value 'DAI 2'
}
control.51 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Stereo
comment.item.1 'Left ADC'
comment.item.2 'Right ADC'
comment.item.3 'Channel Swap'
iface MIXER
name 'ADC Data Select'
value Stereo
}
control.52 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'Non Inverted'
comment.item.1 Inverted
iface MIXER
name 'ROUT2 Phase'
value Inverted
}
control.53 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'Mic 1'
comment.item.1 'Mic 2'
comment.item.2 'Mic 3'
iface MIXER
name 'Mic Selection Mux'
value 'Mic 1'
}
control.54 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'RXP - RXN'
comment.item.1 'RXP + RXN'
comment.item.2 RXP
comment.item.3 RXN
iface MIXER
name 'Rx Mixer'
value 'RXP - RXN'
}
control.55 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'Line 1 + 2'
comment.item.1 'Line 1 - 2'
comment.item.2 'Line 1'
comment.item.3 'Line 2'
iface MIXER
name 'Line Mixer'
value 'Line 1 + 2'
}
control.56 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'Line Mix'
comment.item.1 'Rx Mix'
iface MIXER
name 'Line Mono Mux'
value 'Line Mix'
}
control.57 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'Line 2'
comment.item.1 'Rx Mix'
iface MIXER
name 'Line Right Mux'
value 'Rx Mix'
}
control.58 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'Line 1'
comment.item.1 'Rx Mix'
iface MIXER
name 'Line Left Mux'
value 'Rx Mix'
}
control.59 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'ALC Mixer Line Capture Switch'
value false
}
control.60 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'ALC Mixer Mic2 Capture Switch'
value false
}
control.61 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'ALC Mixer Mic1 Capture Switch'
value false
}
control.62 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'ALC Mixer Rx Capture Switch'
value false
}
control.63 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'Left PGA'
comment.item.1 'Mic 1'
comment.item.2 'Mic 2'
comment.item.3 'Right PGA'
iface MIXER
name 'Mic Sidetone Mux'
value 'Mic 2'
}
control.64 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 PGA
comment.item.1 'Line or RXP-RXN'
comment.item.2 Sidetone
iface MIXER
name 'Capture Right Mux'
value 'Line or RXP-RXN'
}
control.65 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 PGA
comment.item.1 'Line or RXP-RXN'
comment.item.2 Line
iface MIXER
name 'Capture Left Mux'
value PGA
}
control.66 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Stereo
comment.item.1 'Analogue Mix Left'
comment.item.2 'Analogue Mix Right'
comment.item.3 'Digital Mono Mix'
iface MIXER
name 'Capture Right Mixer'
value 'Analogue Mix Right'
}
control.67 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 Stereo
comment.item.1 'Analogue Mix Left'
comment.item.2 'Analogue Mix Right'
comment.item.3 'Digital Mono Mix'
iface MIXER
name 'Capture Left Mixer'
value 'Analogue Mix Right'
}
control.68 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Playback Mixer Voice Capture Sw'
value false
}
control.69 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Playback Mixer Left Capture Swi'
value false
}
control.70 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Playback Mixer Right Capture Sw'
value false
}
control.71 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 VREF
comment.item.1 'Capture ST'
comment.item.2 LOUT2
iface MIXER
name 'Out4 Mux'
value VREF
}
control.72 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 VREF
comment.item.1 ROUT2
comment.item.2 'Left + Right'
iface MIXER
name 'Out3 Mux'
value VREF
}
control.73 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 1
comment.item.0 'Inverted Mono 1'
comment.item.1 Left
comment.item.2 Right
comment.item.3 'Left + Right'
iface MIXER
name 'Mono 2 Mux'
value 'Inverted Mono 1'
}
control.74 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mono Mixer Left Playback Switch'
value false
}
control.75 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mono Mixer Right Playback Switc'
value false
}
control.76 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mono Mixer Voice Playback Switc'
value false
}
control.77 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mono Mixer Sidetone Playback Sw'
value true
}
control.78 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Mono Mixer Bypass Playback Swit'
value true
}
control.79 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Right Mixer Voice Playback Swit'
value false
}
control.80 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Right Mixer Sidetone Playback S'
value false
}
control.81 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Right Mixer Right Playback Swit'
value false
}
control.82 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Right Mixer Bypass Playback Swi'
value true
}
control.83 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Left Mixer Voice Playback Switc'
value false
}
control.84 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Left Mixer Sidetone Playback Sw'
value false
}
control.85 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Left Mixer Left Playback Switch'
value false
}
control.86 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Left Mixer Bypass Playback Swit'
value false
}
control.87 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'DAPM Stereo Out Switch'
value false
}
control.88 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'DAPM GSM Line Out Switch'
value true
}
control.89 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'DAPM GSM Line In Switch'
value false
}
control.90 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'DAPM Headset Mic Switch'
value false
}
control.91 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'DAPM Handset Mic Switch'
value true
}
control.92 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'DAPM Handset Spk Switch'
value true
}
control.93 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Amp State Switch'
value true
}
control.94 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Amp Spk Switch'
value true
}
}
_______________________________________________
Openmoko community mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/community