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.

Antworten:



12

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

sox -t waveaudio -d new-file.wav

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

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 .


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.