16.09.2012, 15:06 | #1 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Устанавливаем USB Sound card на OpenWrt устройства
Я использовал дешевую звуковую карту
Установить пакеты для звуковой карты и проигрыватель opkg update opkg install kmod-sound-core kmod-usb-audio madplay Подключаем звуковую карту к USB и смотрим информацию о ней cat /proc/asound/cards Если в системе звуковая карта определилась, то пробуем воспроизвести звуковой фаил madplay /srv/www/recog/tts.mp3 Посмотреть какие модули используются звуковой картой lsmod | grep snd Код:
snd_usb_audio 71880 0 snd_usbmidi_lib 13978 1 snd_usb_audio snd_pcm_oss 33153 0 snd_mixer_oss 12361 1 snd_pcm_oss snd_pcm 51688 2 snd_usb_audio,snd_pcm_oss snd_timer 14142 1 snd_pcm snd_rawmidi 14483 1 snd_usbmidi_lib snd_seq_device 4269 1 snd_rawmidi snd_hwdep 4270 1 snd_usb_audio snd_page_alloc 4593 1 snd_pcm snd 40184 9 snd_usb_audio,snd_usbmidi_lib,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_rawmidi,snd_seq_device,snd_hwdep soundcore 3852 1 snd input_core 21430 2 uvcvideo,snd usbcore 104514 8 uvcvideo,snd_usb_audio,snd_usbmidi_lib,usb_storage,uhci_hcd,ohci_hcd,ehci_hcd Слушать веб радио |
19.09.2012, 23:11 | #2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Что бы записать с микрофона в wav, raw, voc или au фаил
потребуется установить пакет alsa opkg update opkg install kmod-sound-core kmod-usb-audio alsa-utils Запускаем запись в папку /tmp, имя зписываемого файла test.wav, параметры записываемого файла 8 бит, 8000 Гц, моно arecord -f u8 -c1 -r8000 /tmp/test.wav Прервать запись можно нажатием Ctrl^C При использовании нескольких Sound card нужно в параметрах arecord выбрать устройство для аудиозахвата -D plughw:0,0, если второе устройство то -D plughw:1,0 или третье -D plughw:2,0 Для проверки сколько у Вас в системе записывающих устройств используйте команду cat /proc/asound/modules Или команду выводящую подробную информацию arecord -l Установить продолжительность записи в примере 10 сек. -d 10 Формат 8 бит без знака -f u8 Один канал (Моно) c1 Частота дискредитации 8000кГц -r 8000 Формат звукового файла -t Все доступные параметры arecord можно посмотреть arecord -h Код:
/www/cgi-bin$ arecord -h Usage: arecord [OPTION]... [FILE]... -h, --help help --version print current version -l, --list-devices list all soundcards and digital audio devices -L, --list-pcms list device names -D, --device=NAME select PCM by name -q, --quiet quiet mode -t, --file-type TYPE file type (voc, wav, raw or au) -c, --channels=# channels -f, --format=FORMAT sample format (case insensitive) -r, --rate=# sample rate -d, --duration=# interrupt after # seconds -M, --mmap mmap stream -N, --nonblock nonblocking mode -F, --period-time=# distance between interrupts is # microseconds -B, --buffer-time=# buffer duration is # microseconds --period-size=# distance between interrupts is # frames --buffer-size=# buffer duration is # frames -A, --avail-min=# min available space for wakeup is # microseconds -R, --start-delay=# delay for automatic PCM start is # microseconds (relative to buffer size if <= 0) -T, --stop-delay=# delay for automatic PCM stop is # microseconds from xrun -v, --verbose show PCM structure and setup (accumulative) -V, --vumeter=TYPE enable VU meter (TYPE: mono or stereo) -I, --separate-channels one file for each channel -i, --interactive allow interactive operation from stdin -m, --chmap=ch1,ch2,.. Give the channel map to override or follow --disable-resample disable automatic rate resample --disable-channels disable automatic channel conversions --disable-format disable automatic format conversions --disable-softvol disable software volume control (softvol) --test-position test ring buffer position --test-coef=# test coefficient for ring buffer position (default 8) expression for validation is: coef * (buffer_size / 2) --test-nowait do not wait for ring buffer - eats whole CPU --max-file-time=# start another output file when the old file has recorded for this many seconds --process-id-file write the process ID here --use-strftime apply the strftime facility to the output file name --dump-hw-params dump hw_params of the device --fatal-errors treat all errors as fatal Recognized sample formats are: S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM SPECIAL S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE U18_3BE G723_24 G723_24_1B G723_40 G723_40_1B DSD_U8 Some of these may not be available on selected hardware The available format shortcuts are: -f cd (16 bit little endian, 44100, stereo) -f cdr (16 bit big endian, 44100, stereo) -f dat (16 bit little endian, 48000, stereo) |
25.09.2012, 23:51 | #3 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Если Вы установили пакет ALSA то проиграть звуковой фаил можно при помощи aplay
Плюсом этого проигрывателя является то, что он может воспроизводить на любой выбранной в параметрах звуковой карте, если у Вас их в системе больше чем одна. aplay -D plughw:0,0 /tmp/test.wav Воспроизвести в динамики звук, который принял микрофон arecord -D plughw:0,0 | aplay -D plughw:0,0 |
26.09.2012, 08:08 | #4 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Смотрим какими устройствами можно управлять из микшера
amixer contents numid=1,iface=MIXER,name='Mic Playback Switch' ; type=BOOLEAN,access=rw------,values=1 : values=off numid=2,iface=MIXER,name='Mic Playback Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=32,step=0 : values=23 | dBminmax-min=0.00dB,max=47.81dB numid=5,iface=MIXER,name='Mic Capture Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=6,iface=MIXER,name='Mic Capture Volume' ; type=INTEGER,access=rw---R--,values=1,min=0,max=16,step=0 : values=0 | dBminmax-min=0.00dB,max=23.81dB numid=7,iface=MIXER,name='Auto Gain Control' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=3,iface=MIXER,name='Speaker Playback Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on numid=4,iface=MIXER,name='Speaker Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=151,step=0 : values=150,150 | dBminmax-min=-28.37dB,max=0.06dB Регулируем громкость динамиков amixer -c 0 -- sset Speaker Playback Volume 80% Отключить динамики amixer -c 0 -- sset Speaker Playback Volume off Включить динамики amixer -c 0 -- sset Speaker Playback Volume on Регулируем уровень микрофонного входа amixer -c 0 -- sset Mic Capture Volume 90% -с - номер звуковой карты -- sset - имя аудио устройства |
26.09.2012, 10:11 | #5 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Конвертировать из wav в mp3
lame -f /mnt/tmp.wav /mnt/tmp.mp3 Проиграть mp3 aplay -D plughw:0,0 /mnt/tmp.mp3 Записать с микрофона в формате mp3 Для обеспечения быстродействия запускаю с максимальным приоритетом и выбираю наихудшее качество arecord -f S8 -c1 -r8000 -D plughw:0,0 -t raw | nice -n -20 lame -x -r -s 8 -m m --signed --bitwidth 8 -b 8 -q 9 - /mnt/tmp.mp3 Параметры утилиты Lame -r Входяший формат raw -s 8 Частота дискредитации входного файла в кГц -m m Количество звуковых каналов (m)ono, (s)tereo, (j)oint, (f)orce, (d)dual-mono -b 8 Скорость передачи битов. Bitrate - Битрейт. 8, 16, 24, ..., 320 --bitwidth 16 Разряднось семпла 8бит или 16 бит --signed семплы со знаком --unsigned семплы без знака -q 5 Качество сжатия, 0-высшее качество, 9-худшее качество -f Тоже самое что и Q 2 -h Тоже самое что и Q7 -x swap bytes входного файла --resample n - Изменение частоты дискретизации n = 8, 11,025, 12, 16, 22,05, 24, 32, 44,1, 48 |
27.09.2012, 23:52 | #6 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
|
16.10.2012, 16:30 | #7 |
Member
Регистрация: 28.09.2012
Сообщений: 52
Вес репутации: 0 |
|
19.10.2012, 03:02 | #9 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 |
подкючал 2 типа usb колонок:
- Defender 330 - SVEN PS-30 результат работает тольлко один канал с китайской USB картой (картинка в верху ветки) - оба канала. |
07.03.2013, 03:37 | #10 |
Junior Member
Регистрация: 07.03.2013
Сообщений: 5
Вес репутации: 0 |
добрый вечер
не подскажите, в чем проблема может бить: Код:
Installing kmod-usb-audio (3.8.2-1) to root... Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/kmod-usb-audio_3.8.2-1_ar71xx.ipk. Multiple packages (kmod-usb-core and kmod-usb-core) providing same name marked HOLD or PREFER. Using latest. Multiple packages (kmod-input-core and kmod-input-core) providing same name marked HOLD or PREFER. Using latest. Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb-audio: * kernel (= 3.8.2-1-5d97e4a33c83bcf8fdae5d18f8b02941) * kernel (= 3.8.2-1-5d97e4a33c83bcf8fdae5d18f8b02941) * * opkg_install_cmd: Cannot install package kmod-usb-audio. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|