Как я могу записать звук из командной строки Windows?

14

Есть ли приложение, способное записывать звук, которое я могу запустить из командной строки на XP?

В идеале я бы начал с одной команды и остановил с другой. Или я мог бы указать продолжительность с помощью команды запуска.

Том Райт
источник

Ответы:

10

Вы можете использовать пакет SoX .

rec recorded_track.wav 00:05

Запись за 5 минут.

Больше документации на странице руководства SoX .

Сатьяджит Бхат
источник
3
SOX больше не поставляется с командой rec.
PeterX
1
@peterx Смотрите ответ от @ this-lausox -t waveaudio −d new-file.wav
Хольгер Билль
12

recбольше не предоставляется в пакете SoX Windows. Вместо этого вы можете использовать эту командную строку:

sox -t waveaudio -d new-file.wav
Laurent
источник
Спасибо за обновление. Хотел бы я "приклеить" это для любых будущих исследователей.
Том Райт
@ TomWright Вы можете выбрать этот ответ в качестве нового лучшего ответа.
Хашим
4

Для записи звука с помощью командной строки в Windows вы можете использовать fmedia :

fmedia --record --out=Recording.wav

Вы можете остановить запись в любое время, нажав Ctrl+C.

Во время записи fmedia показывает громкость сигнала, например:

g:\fmedia>fmedia --record --out=myrec.flac
fmedia v0.10
0:19  [========..] -7.89dB / -1.31dB

Поддерживаемые форматы: WAV, FLAC, OGG и MP3. Вывод в WAV самый быстрый. Однако сжатие FLAC также довольно быстрое, поэтому вы, вероятно, не заметите никакой разницы в использовании процессора.


Если вы хотите захватывать звук с определенного устройства (а не только по умолчанию):

Шаг 1. Используйте --list-devпереключатель, чтобы показать все доступные устройства.

Шаг 2. Выберите устройство, которое вы хотите использовать, и вызовите fmedia с --dev-captureаргументом.

Например, начать запись с определенного устройства - микрофона:

C:\>fmedia --list-dev
fmedia v0.10
Playback:
device #1: Realtek Digital Output (Realtek High Definition Audio)
device #2: Speakers (Realtek High Definition Audio)

Capture:
device #1: Stereo Mix (Realtek High Definition Audio)
device #2: Microphone (Realtek High Definition Audio)
device #3: Line In (Realtek High Definition Audio)

C:\>fmedia --record --out=Recording.wav --dev-capture=2
Защита
источник
2

FFmpeg

Хотя преобразование формата ffmpegможет сделать гораздо больше. (т.е. фильтры, управление устройством ввода / вывода) . Для этого конкретного вопроса я сосредоточусь на устройствах ввода .


Список всех устройств ввода:
список всех устройств ввода DirectShow . Для этого также требуется имя файла, поэтому nullон указан.

ffmpeg -list_devices true -f dshow -i null

Запись звука с устройства ввода:
сохраняет 30секунды аудиоданных (данных PCM) со входа DirectShow .
Заменить: DEVICE_IDна нужный идентификатор из списка идентификаторов, которые вы получили из предыдущей команды.

ffmpeg -f dshow -t 30 -i "audio=DEVICE_NAME" out.wav

FFmpeg Документация по dshow .

nullptr
источник
1

Это старый, но может быть альтернативой

LiveInCode

Эта программа кодирует живой звук из линейного входа или микрофона напрямую в Ogg Vorbis, MP3, FLAC, Speex и другие форматы.

В текущей версии есть только встроенная поддержка Ogg Vorbis и Speex. Это означает, что вы также можете использовать любые другие кодировщики, но для кодировщиков, отличных от Ogg Vorbis и Speex, вам нужно будет вручную указать командную строку.

Nifle
источник