Несколько файлов, созданных arecord

Я сделал собственный дистрибутив, используя buildroot, с жестким потоком для процессора ARMv7. Все работает кроме....

# arecord -D hw:0,0 -fdat -d 5 test.wav

Это делает несколько файлов. Тысячи из них.

-rw-r--r--    1 root     root        958508 Jan  1 00:19 test-01.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-02.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-03.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-04.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-05.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-06.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-07.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-08.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-09.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-10.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-100.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-101.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-102.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-103.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-104.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-105.wav
-rw-r--r--    1 root     root            44 Jan  1 00:19 test-106.wav

И так далее...

Это происходит, если я передаю параметр -d. Есть идеи?


person selfbg    schedule 08.07.2014    source источник
comment
Вы проверили настройки звука с помощью amixer или alsamixer? Вам нужно включить источники записи. Я полагаю, вы имеете в виду жесткое плавание? Но это не должно иметь значения. Вы также можете попробовать -N, если драйвер глючит.   -  person artless noise    schedule 08.07.2014
comment
Теоретически первый файл должен иметь размер 960044 байта. Это выглядит так, как будто 64-битная арифметика обрабатывается неправильно.   -  person CL.    schedule 08.07.2014


Ответы (2)


Проблема появляется в архитектуре ARM, начиная с версии 1.0.28 arecord (arecord --version). На Raspberry Pi 3 с Raspbian Jessie мне удалось понизить alsa-utils с 1.0.28-1 до 1.0.25-4 (откатиться к репозиторию Wheezy), так что это решило проблему:

  • sudo nano /etc/apt/sources.list
  • добавьте следующую строку в конец файла deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
  • sudo apt-get update
  • sudo aptitude versions alsa-utils (это должно показать, что старая версия станет доступной)
  • sudo apt-get install alsa-utils=1.0.25-4
  • теперь arecord --version должна отображать более раннюю версию 1.0.25
  • Вероятно, теперь вы хотите удалить ту строку, которую вы добавили в /etc/apt/sources.list, чтобы не получать другие пакеты из wheezy.
  • sudo nano /etc/apt/sources.list
  • удалить строку deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
  • снова запустите apt-get update
  • также приостановите работу alsa-utils, чтобы он не обновлялся
  • sudo apt-mark hold alsa-utils
person nagimov    schedule 12.08.2016

В качестве альтернативного решения можно обновить alsa-utils до последней версии 1.1.3 из исходного кода. Вот как я сделал это на своем Raspberry Pi 3

  1. mkdir ~/alsa-utils
  2. cd ~/alsa-utils/
  3. wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.1.3.tar.bz2
  4. tar xvjf alsa-utils-1.1.3.tar.bz2
  5. cd ~/alsa-utils/alsa-utils-1.1.3/
  6. sudo apt-get install libncursesw5-dev
  7. ./configure --disable-alsaconf --disable-bat --disable-xmlto --with-curses=ncursesw
  8. make
  9. sudo make install
  10. arecord --version
person QuickPrototype    schedule 01.03.2017
comment
Последняя версия на январь 2018 года — 1.1.5, просто обновите номер версии в командах. - person QuickPrototype; 29.01.2018