Comment puis-je enregistrer du son à partir de la ligne de commande Windows?

14

Existe-t-il une application capable d'enregistrer du son que je peux exécuter à partir de la ligne de commande sous XP?

Idéalement, je le démarrerais avec une commande et l'arrêterais avec une autre. Ou je pourrais spécifier une durée avec la commande de démarrage.

Tom Wright
la source

Réponses:

10

Vous pouvez utiliser le package SoX .

rec recorded_track.wav 00:05

Enregistre pendant 5 minutes.

Plus de documentation sur la page de manuel SoX .

Sathyajith Bhat
la source
3
SOX ne semble plus être livré avec la commande "rec".
PeterX
1
@peterx Voir la réponse de @ this-lausox -t waveaudio −d new-file.wav
Holger Bille
12

recn'est plus fourni dans le package SoX Windows. Au lieu de cela, vous pouvez utiliser cette ligne de commande:

sox -t waveaudio -d new-file.wav
laurent
la source
Merci pour la mise à jour. J'aimerais pouvoir "coller" cela pour tous les futurs explorateurs.
Tom Wright
@TomWright Vous pouvez sélectionner cette réponse comme nouvelle meilleure réponse.
Hashim
4

Pour enregistrer du son à l'aide de la ligne de commande sous Windows, vous pouvez utiliser fmedia :

fmedia --record --out=Recording.wav

Vous pouvez arrêter l'enregistrement à tout moment en appuyant sur Ctrl+C.

Pendant l'enregistrement, fmedia montre la puissance du signal, par exemple:

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

Les formats pris en charge sont WAV, FLAC, OGG et MP3. La sortie vers WAV est la plus rapide. Cependant, la compression FLAC est également assez rapide, vous ne remarquerez donc probablement aucune différence dans l'utilisation du processeur.


Si vous souhaitez capturer le son d'un appareil spécifique (et pas seulement celui par défaut):

Étape 1. Utilisez --list-dev commutateur pour afficher tous les appareils disponibles.

Étape 2. Choisissez un appareil que vous souhaitez utiliser et appelez fmedia avec --dev-capture argument.

Par exemple, démarrez l'enregistrement à partir d'un appareil spécifique - Microphone:

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
la source
2

FFmpeg

Bien que la conversion de format ffmpegpuisse faire beaucoup plus. (c.-à-d. filtres, contrôle des périphériques d'E / S) . Pour cette question particulière, je vais me concentrer sur les périphériques d'entrée .


Liste de tous les périphériques d'entrée:
répertorie tous les périphériques d'entrée de DirectShow . Cela nécessite également le nom de fichier qui est pourquoi nullest donné.

ffmpeg -list_devices true -f dshow -i null

Enregistrement audio à partir du dispositif d'entrée:
Enregistre 30secondes de données audio (données PCM) à partir de DirectShow l » entrée.
Remplacer: DEVICE_IDpar l'ID souhaité dans la liste des ID que vous avez obtenus avec la commande précédente.

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

Documentation FFmpeg sur dshow .

Quadcubique
la source
1

C'est vieux mais ça pourrait être une alternative

LiveInCode

Ce programme code l'audio en direct de l'entrée ligne ou du microphone directement dans Ogg Vorbis, MP3, FLAC, Speex et d'autres formats.

La version actuelle ne prend en charge que Ogg Vorbis et Speex. Cela signifie que vous pouvez également utiliser d'autres encodeurs, mais pour les encodeurs autres que Ogg Vorbis et Speex, vous devrez spécifier manuellement la ligne de commande.

Nifle
la source