Wie kann ich Sound von der Windows-Befehlszeile aufnehmen?

14

Gibt es eine Anwendung, die Sound aufzeichnen kann, den ich unter XP über die Befehlszeile ausführen kann?

Idealerweise würde ich es mit einem Befehl starten und mit einem anderen beenden. Oder ich könnte eine Dauer mit dem Startbefehl angeben.

Tom Wright
quelle

Antworten:

10

Sie können das SoX-Paket verwenden .

rec recorded_track.wav 00:05

Aufzeichnungen für 5 Minuten.

Weitere Dokumentation zur SoX-Hilfeseite .

Sathyajith Bhat
quelle
3
SOX wird anscheinend nicht mehr mit dem Befehl "rec" ausgeliefert.
PeterX
1
@ Peterx Siehe Antwort von @ this-lausox -t waveaudio −d new-file.wav
Holger Bille
12

recist im SoX-Windows-Paket nicht mehr enthalten. Stattdessen können Sie diese Befehlszeile verwenden:

sox -t waveaudio -d new-file.wav
laurent
quelle
Danke für das Update. Ich wünschte, ich könnte dies für zukünftige Entdecker "aufkleben".
Tom Wright
@TomWright Sie können diese Antwort als die neue beste Antwort auswählen.
Hashim
4

Unter Windows können Sie mit fmedia über die Befehlszeile Ton aufnehmen :

fmedia --record --out=Recording.wav

Sie können die Aufnahme jederzeit beenden, indem Sie drücken Ctrl+C.

Während der Aufnahme zeigt fmedia an, wie laut das Signal ist, zum Beispiel:

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

Unterstützte Formate sind WAV, FLAC, OGG und MP3. Die Ausgabe in WAV erfolgt am schnellsten. Die FLAC-Komprimierung ist jedoch auch recht schnell, sodass Sie wahrscheinlich keinen Unterschied in der CPU-Auslastung feststellen werden.


Wenn Sie Sound von einem bestimmten Gerät (nicht nur dem Standardgerät) aufnehmen möchten:

Schritt 1. Verwenden Sie den --list-devSchalter, um alle verfügbaren Geräte anzuzeigen.

Schritt 2. Wählen Sie ein Gerät aus, das Sie verwenden möchten, und rufen Sie fmedia mit --dev-captureArgument auf.

Starten Sie beispielsweise die Aufnahme von einem bestimmten Gerät - Mikrofon:

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
quelle
2

FFmpeg

Während der Formatkonvertierung ffmpegkönnte noch viel mehr getan werden. (dh Filter, I / O-Gerätesteuerung) . In dieser speziellen Frage werde ich mich auf Eingabegeräte konzentrieren .


Alle Eingabegeräte auflisten:
Listet alle Eingabegeräte von DirectShow auf . Dies erfordert auch den Dateinamen, weshalb nullangegeben wird.

ffmpeg -list_devices true -f dshow -i null

Audio vom Eingabegerät aufnehmen:
Speichert 30Sekunden an Audiodaten (PCM-Daten) von der DirectShow -Eingabe.
Ersetzen: DEVICE_IDmit der gewünschten ID aus der Liste der IDs, die Sie vom vorherigen Befehl erhalten haben.

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

FFmpeg Dokumentation auf dshow .

Quadcubic
quelle
1

Dies ist alt, könnte aber eine Alternative sein

LiveInCode

Dieses Programm kodiert Live-Audio vom Line-In oder Mikrofon direkt in Ogg Vorbis, MP3, FLAC, Speex und andere Formate.

Die aktuelle Version unterstützt nur Ogg Vorbis und Speex. Dies bedeutet, dass Sie auch andere Encoder verwenden können, aber für andere Encoder als Ogg Vorbis und Speex müssen Sie die Befehlszeile manuell angeben.

Nifle
quelle