Кодек ALC203 путает каналы (SK-AT91SAM9G45)
Jury093
Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата Скрипт создаст 20 wav-ок, их прослушать.
И отписать здесь, что на плате, и результат.
Я один такой везучий, или это проблемма, на которую не обратили внимание?
запустил на 9m10:
Код root@arm9m10:~/hz# ./hhh
Recording WAVE '100.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '101.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '102.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '103.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
overrun!!! (at least 15.183 ms long)
Recording WAVE '104.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '105.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '106.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '107.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '108.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
overrun!!! (at least 28.300 ms long)
Recording WAVE '109.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
overrun!!! (at least 13.259 ms long)
Recording WAVE '110.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '111.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '112.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '113.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '114.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
overrun!!! (at least 13.741 ms long)
Recording WAVE '115.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '116.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '117.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '118.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Recording WAVE '119.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
overrun!!! (at least 13.772 ms long)
Recording WAVE '120.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
внутри "тишина", что на китах, что на компе, что в звуковом редакторе.. чего не так то?
На любой вопрос есть любой ответ.
Hoksmur
Пункты: 2203
Регистрация: 20.05.2013
Эм.. вы выбрали источник записи и включили усиление? Для линейного входа так на моей плате:
Код
aumix -i 100 -l R -l 100 -q
-i 100 устанавливает максимальное усиление на запись,
-l R выбирает в качестве источника сигнала линейный вход
-l 100 максимальная громкость
при прослушивании линейного входа
-q вывести, что получилось.
После этого даже без записи должны быть слышны наводки, если касаемся каналов линейного входа.
alsamixer тоже годиться, может даже удобней, посмотрите.
overrun у меня тоже проскакивал, поэтому думаю, что проблема воспроизводима
PS: В предыдущем посте тоже добавлю.
PPS: Попробовал дома под Win7 кодек VT1708S - усиления хватило с избытком.
Jury093
Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
вы внятно можете описать - ЧТО я должен увидеть или услышать?
то, что очевидно вам, совершенно непонятно мне.. ну выкрутил усиление на максимум, ну записались еще 20 файлов тишины и что? куда смотреть?
наводка от касания пальцем будет всегда - это еще со времен ламповых телевизоров и магнитофонов.. и просто неподключенный вход тоже будет ловить наводки..
На любой вопрос есть любой ответ.
Hoksmur
Пункты: 2203
Регистрация: 20.05.2013
Шум, фон 50 Гц от наводок электросети в одном канале. Сначала - просто услышать. Потом записать тоже из одного канала кучу раз. Прослушать или просмотреть в звуковом редакторе рузультат, контролируя, всегда ли в одном и том же канале записался шум, или в некоторых файлах он воспроизводится в другом? Один канал нужен, чтобы минимизировать путаницу.
Jury093
Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата всегда ли в одном и том же канале записался шум, или в некоторых файлах он воспроизводится в другом?
из 10 вавов - 7 захватило в один канал и 3 в другой..
факт рандомного капчуринга имеет место быть..
На любой вопрос есть любой ответ.
Hoksmur
Пункты: 2203
Регистрация: 20.05.2013
Списался с Александром Патраковым, он принимает участие в разработке ALSA.
По его совету записал фалы следующей строкой:
Код arecord -M -v --buffer-size=5555 -f cd -D hw:0 tst$var.wav -d 3
Скинул логи, и подтвердил, что запись по прежнему путает каналы.
Полагаю, он не возразит, если я процитирую его последний ответ:
Цитата Либо ядро, либо оборудование (скорее оборудование). В таком режиме
программная обработка в userspace полностью отключена - arecord имеет
прямой доступ к DMA-буферу без копирования. Тест однозначно доказывает,
что в DMA-буфере уже содержатся данные с перепутанными каналами.
Jury093 , можете указать на какой плате (CPU, кодеке) проводили эксперимент?
Хочу попробовать собрать другое ядро, с наскока не получилось. Кто собирал новей, чем 2.6.36-rc6 ?
Jury093
Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата Jury093 , можете указать на какой плате (CPU, кодеке) проводили эксперимент?
плата вот такая, но проц 9m10:
http://starterkit.ru/html/index.php?name=shop&op=view&id=49
на шелкографии 2.B
есть еще такая же на 9g45, но она хорошо прикручена и там рядом 220в плохо закрытые - не полезу без большой нужды..
имхо, результат будет тот же..
Цитата Хочу попробовать собрать другое ядро, с наскока не получилось. Кто собирал новей, чем 2.6.36-rc6 ?
вечером уточню версии ядер, навскидку - 3.4.2 и 3.6.0
На любой вопрос есть любой ответ.
Jury093
Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата вечером уточню версии ядер, навскидку - 3.4.2 и 3.6.0
Код root@arm9m10:~# uname -a
Linux arm9m10 3.6.0 #99 PREEMPT Sun Mar 17 22:41:58 MSK 2013 armv5tejl GNU/Linux
Код root@arm9g45:~# uname -a
Linux arm9g45 3.4.2 #16 Fri Dec 27 23:30:19 MSK 2013 armv5tejl GNU/Linux
На любой вопрос есть любой ответ.
Hoksmur
Пункты: 2203
Регистрация: 20.05.2013
Jury093 , спасибо.
Благодаря вашей информации понятно, что не зависит от версии ядра. И не изменяется от at91sam9g к at91sam9m10 .
Софт : Найти бы, где и как происходит работа с AC97 в ядре.
Железо : ALC203 - заменить на другой. Я нашёл на старой материнке ALC850, но простая перепайка не позволяет работать с ним, хотя миксер видит.
MCU - вот тут не знаю как.. Писать на голое железо тестовую программу для записи десятка файлов?..
Hoksmur
Пункты: 2203
Регистрация: 20.05.2013
Дополнение. Atmel, на мою просьбу повторить опыт
Jury093 , ответил следующее:
Цитата We faced some issues when using the utility 'arecord' to do the test, and after checking with our internal team, it has some issues in current kernel and we have some fix for the ac97 in kernel 3.15-rc1. However, we don't have any plan to back port them to our current stable linux branch recently.
We have a ac97 example project in standalone softpackage for AT91SAM9M10-G45 evaluation board and I think you can use it to evaluate the SAM9G45 AC97 controller.
The standalone software package is available here:
http://www.atmel.com/tools/SAM9M10-G45SOFTWAREPACKAGE.aspx.
Sorry for inconvenience!
В общем, ядро патчат, похоже ...