¿Cómo puedo grabar sonido desde la línea de comandos de Windows?

14

¿Existe una aplicación capaz de grabar sonido que pueda ejecutar desde la línea de comandos en XP?

Lo ideal sería comenzar con un comando y detenerlo con otro. O podría especificar una duración con el comando de inicio.

Tom Wright
fuente

Respuestas:

10

Puedes usar el paquete SoX .

rec recorded_track.wav 00:05

Registros por 5 minutos.

Más documentación en la página de manual de SoX .

Sathyajith Bhat
fuente
3
SOX ya no parece enviarse con el comando "rec".
PeterX
1
@peterx Ver la respuesta de @ this-lausox -t waveaudio −d new-file.wav
Holger Bille
12

recya no se proporciona en el paquete SoX de Windows. En su lugar, puede usar esta línea de comando:

sox -t waveaudio -d new-file.wav
Laurent
fuente
Gracias por la actualización. Ojalá pudiera "pegar" esto para cualquier futuro explorador.
Tom Wright el
@TomWright Puede seleccionar esta respuesta como la nueva mejor respuesta.
Hashim
4

Para grabar sonido usando la línea de comando en Windows puede usar fmedia :

fmedia --record --out=Recording.wav

Puede detener la grabación en cualquier momento presionando Ctrl+C.

Durante la grabación, fmedia muestra qué tan fuerte es la señal, por ejemplo:

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

Los formatos compatibles son WAV, FLAC, OGG y MP3. La salida a WAV es la más rápida. Sin embargo, la compresión FLAC también es bastante rápida, por lo que probablemente no notará ninguna diferencia en el uso de la CPU.


Si desea capturar el sonido de un dispositivo específico (no solo el predeterminado):

Paso 1. Use el --list-devinterruptor para mostrar todos los dispositivos disponibles.

Paso 2. Elige un dispositivo que quieras usar y llama a fmedia con --dev-captureargumento.

Por ejemplo, comience a grabar desde un dispositivo específico - Micrófono:

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
def
fuente
2

FFmpeg

Si bien la conversión de formato, ffmpegpodría hacer mucho más. (es decir, filtros, control de dispositivos de E / S) . Para esta pregunta en particular, me centraré en los dispositivos de entrada .


Listar todos los dispositivos de entrada:
Listar todos los dispositivos de entrada de DirectShow . Esto también requiere el nombre de archivo por eso nullse da.

ffmpeg -list_devices true -f dshow -i null

Grabar audio del dispositivo de entrada:
guarda 30segundos de datos de audio (datos PCM) de la entrada de DirectShow .
Reemplazar: DEVICE_IDcon la identificación deseada de la lista de las identificaciones que obtuvo del comando anterior.

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

Documentación de FFmpeg en dshow .

Quadcubic
fuente
1

Esto es viejo pero podría ser una alternativa.

LiveInCode

Este programa codifica audio en vivo desde línea de entrada o micrófono directamente a Ogg Vorbis, MP3, FLAC, Speex y otros formatos.

La versión actual solo tiene soporte incorporado para Ogg Vorbis y Speex. Significa que también puede usar cualquier otro codificador, pero para codificadores que no sean Ogg Vorbis y Speex, deberá especificar manualmente la línea de comandos.

Nifle
fuente