Как записать вход микрофона в файл формата WAV
Если вы хотите захватить вход с микрофона, подключенного к вашему компьютеру с Linux, есть простой способ сделать это. Но перед записью вы, вероятно, захотите отрегулировать входную громкость микрофона для оптимального качества записи. При низкой входной громкости ваш микрофон может не уловить ваш голос должным образом, а слишком высокая входная громкость может привести к сильному фоновому шуму в записи.
Если вы используете Ubuntu Desktop, вы можете настроить громкость микрофона, выбрав Настройки
→ Звук
→ Ввод
.
Чтобы записать вход с микрофона в Linux, вы можете использовать набор инструментов под названием alsa-utils
, разработанный для Advanced Linux Sound Architecture (ALSA).
Установите alsa-utils
в Linux
Для Ubuntu или Debian:
$ sudo apt-get install alsa-utils
Для Федоры:
$ sudo yum install alsa-utils
Для Arch Linux:
$ sudo pacman -S alsa-utils
Захват микрофонного входа с помощью arecord
Одной из утилит командной строки, содержащихся в alsa-utils
, является arecord
, которая может записывать ввод с микрофона в формат WAV.
Чтобы убедиться, что микрофон успешно распознан в вашей системе:
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CONEXANT Analog [CONEXANT Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
Чтобы записать вход микрофона в формат WAV:
$ arecord output.wav
Recording WAVE 'output.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono
Без каких-либо аргументов arecord
будет записывать вход микрофона в формате WAV с частотой дискретизации 8000 Гц, беззнаковой глубиной 8 бит и одним моноканалом. arecord
будет продолжать захват потока микрофонного ввода до тех пор, пока он не будет прерван с помощью Ctrl+c
.
При желании вы можете настроить выходной формат WAV следующим образом.
$ arecord -f cd output_stereo.wav
Recording WAVE 'output.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
$ arecord -r 16000 -f S16_LE output2.wav
Recording WAVE 'output2.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
Чтобы воспроизвести файл WAV, вы можете использовать другую утилиту ALSA, которая называется aplay
.
$ aplay output.wav