User:VanInwagen
From Openmoko
VanInwagen (Talk | contribs) (New page: felschem aett student punkt hu minus berlin punkt de) |
VanInwagen (Talk | contribs) (draft of alsaaudio-problems i encountered) |
||
(5 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | + | "matthiasfelsche" at "web" dot "de" | |
+ | |||
+ | |||
+ | == Fiddlin' with Alsa and the Wolfson == | ||
+ | |||
+ | While writing Dictator 0.3 I came in trouble with recording and playing audio an the neo. | ||
+ | Something seems wrong with either my state-files for Dictator or with the configuration of the wolfson or with the wolfson itself or something mysterious. | ||
+ | |||
+ | === Strange Behaviour === | ||
+ | |||
+ | trying arecord with only one channel on either 'hw:0' or 'hw:0,0' produces the following: | ||
+ | |||
+ | root@om-gta02 ~ $ arecord -v --channels=1 -f S16_LE -r 8000 -D hw:0 | ||
+ | Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono | ||
+ | arecord: set_params:906: Channels count non available | ||
+ | |||
+ | Recording with two channels works. | ||
+ | |||
+ | While playing a stereo wav-file the following is putted out to dmesg: | ||
+ | [87893.780000] mapped channel 10 to 2 | ||
+ | |||
+ | Recording a wav with Dictator and explicitly saying, that one channel is used, the other one is putted into the file as well. If you do something like: | ||
+ | cat test.wav | od -x | less | ||
+ | |||
+ | You can see the double-bytes with regular no-data values (0x0000 or 0xffff or similar). | ||
+ | On the Neo these files are played in their declared speed but if you for example load them into audacity on your host-PC it will play the file twice as slow because it reads the second frame with 0-data too. | ||
+ | |||
+ | Where does this mysterious double.byte come from and why does the Neo ignore it? Recording with two-channels where one explicitly bears the empty channel, everything is fine on neo and on host-PC. | ||
+ | |||
+ | Removing the NULL-Bytes while recording mono, the file will be played at the right speed on your host but the Neo will double its speed. | ||
+ | |||
+ | I think it's the wolfson but i have to investigate. | ||
+ | |||
+ | == Info Output Stuff == | ||
+ | |||
+ | $ arecord -l | ||
+ | **** List of CAPTURE Hardware Devices **** | ||
+ | card 0: neo1973gta02 [neo1973-gta02], device 0: WM8753 HiFi WM8753 HiFi-0 [] | ||
+ | Subdevices: 1/1 | ||
+ | Subdevice #0: subdevice #0 | ||
+ | card 0: neo1973gta02 [neo1973-gta02], device 1: Voice WM8753 Voice-1 [] | ||
+ | Subdevices: 1/1 | ||
+ | Subdevice #0: subdevice #0 | ||
+ | |||
+ | root@om-gta02 ~ $ cat /proc/asound/devices | ||
+ | 0: [ 0] : control | ||
+ | 16: [ 0- 0]: digital audio playback | ||
+ | 17: [ 0- 1]: digital audio playback | ||
+ | 24: [ 0- 0]: digital audio capture | ||
+ | 25: [ 0- 1]: digital audio capture | ||
+ | 33: : timer | ||
+ | |||
+ | root@om-gta02 ~ $ cat /proc/asound/pcm | ||
+ | 00-00: WM8753 HiFi WM8753 HiFi-0 : : playback 1 : capture 1 | ||
+ | 00-01: Voice WM8753 Voice-1 : : playback 1 : capture 1 | ||
+ | |||
+ | root@om-gta02 ~ $ cat /proc/asound/cards | ||
+ | 0 [neo1973gta02 ]: WM8753 - neo1973-gta02 | ||
+ | neo1973-gta02 (WM8753) | ||
+ | |||
+ | root@om-gta02 ~ $ cat /proc/asound/version | ||
+ | Advanced Linux Sound Architecture Driver Version 1.0.18a. |
Latest revision as of 00:31, 30 November 2009
"matthiasfelsche" at "web" dot "de"
[edit] Fiddlin' with Alsa and the Wolfson
While writing Dictator 0.3 I came in trouble with recording and playing audio an the neo. Something seems wrong with either my state-files for Dictator or with the configuration of the wolfson or with the wolfson itself or something mysterious.
[edit] Strange Behaviour
trying arecord with only one channel on either 'hw:0' or 'hw:0,0' produces the following:
root@om-gta02 ~ $ arecord -v --channels=1 -f S16_LE -r 8000 -D hw:0 Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono arecord: set_params:906: Channels count non available
Recording with two channels works.
While playing a stereo wav-file the following is putted out to dmesg:
[87893.780000] mapped channel 10 to 2
Recording a wav with Dictator and explicitly saying, that one channel is used, the other one is putted into the file as well. If you do something like:
cat test.wav | od -x | less
You can see the double-bytes with regular no-data values (0x0000 or 0xffff or similar). On the Neo these files are played in their declared speed but if you for example load them into audacity on your host-PC it will play the file twice as slow because it reads the second frame with 0-data too.
Where does this mysterious double.byte come from and why does the Neo ignore it? Recording with two-channels where one explicitly bears the empty channel, everything is fine on neo and on host-PC.
Removing the NULL-Bytes while recording mono, the file will be played at the right speed on your host but the Neo will double its speed.
I think it's the wolfson but i have to investigate.
[edit] Info Output Stuff
$ arecord -l **** List of CAPTURE Hardware Devices **** card 0: neo1973gta02 [neo1973-gta02], device 0: WM8753 HiFi WM8753 HiFi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: neo1973gta02 [neo1973-gta02], device 1: Voice WM8753 Voice-1 [] Subdevices: 1/1 Subdevice #0: subdevice #0
root@om-gta02 ~ $ cat /proc/asound/devices 0: [ 0] : control 16: [ 0- 0]: digital audio playback 17: [ 0- 1]: digital audio playback 24: [ 0- 0]: digital audio capture 25: [ 0- 1]: digital audio capture 33: : timer
root@om-gta02 ~ $ cat /proc/asound/pcm 00-00: WM8753 HiFi WM8753 HiFi-0 : : playback 1 : capture 1 00-01: Voice WM8753 Voice-1 : : playback 1 : capture 1
root@om-gta02 ~ $ cat /proc/asound/cards 0 [neo1973gta02 ]: WM8753 - neo1973-gta02 neo1973-gta02 (WM8753)
root@om-gta02 ~ $ cat /proc/asound/version Advanced Linux Sound Architecture Driver Version 1.0.18a.