ฉันจะบันทึกเสียงจากบรรทัดคำสั่งของ windows ได้อย่างไร


14

มีแอปพลิเคชันที่สามารถบันทึกเสียงที่ฉันสามารถเรียกใช้จากบรรทัดคำสั่งบน XP ได้หรือไม่

เป็นการดีที่ฉันจะเริ่มต้นด้วยคำสั่งหนึ่งและหยุดมันด้วยคำสั่งอื่น หรือฉันสามารถระบุช่วงเวลาด้วยคำสั่งเริ่มต้น

คำตอบ:


10

คุณสามารถใช้แพคเกจ SoX

rec recorded_track.wav 00:05

บันทึกเป็นเวลา 5 นาที

เอกสารเพิ่มเติมเกี่ยวกับSoX manpage


3
SOX ไม่ปรากฏขึ้นพร้อมกับคำสั่ง "rec" อีกต่อไป
PeterX

1
@peterx ดูคำตอบจาก @ this-lausox -t waveaudio −d new-file.wav
Holger Bille

12

recไม่มีให้ในแพ็คเกจ SoX Windows อีกต่อไป คุณสามารถใช้บรรทัดคำสั่งนี้แทน:

sox -t waveaudio -d new-file.wav

ขอบคุณสำหรับการอัพเดท. หวังว่าฉันจะ "เหนียว" สิ่งนี้สำหรับนักสำรวจในอนาคต
Tom Wright

@TomWright คุณสามารถเลือกคำตอบนี้เป็นคำตอบที่ดีที่สุดใหม่
Hashim

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 นั้นค่อนข้างเร็วเช่นกันดังนั้นคุณอาจไม่สังเกตเห็นความแตกต่างในการใช้งาน CPU


หากคุณต้องการบันทึกเสียงจากอุปกรณ์เฉพาะ (ไม่ใช่เฉพาะค่าเริ่มต้น):

ขั้นตอนที่ 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สามารถทำได้มากขึ้น (ฟิลเตอร์เช่น I / O อุปกรณ์ควบคุม) สำหรับคำถามนี้โดยเฉพาะอย่างยิ่งผมจะมุ่งเน้นไปที่การป้อนข้อมูลอุปกรณ์


รายการทั้งหมดของอุปกรณ์ป้อนข้อมูล:
รายการทุกอุปกรณ์ป้อนข้อมูลของDirectShow นอกจากนี้ยังต้องใช้ชื่อไฟล์ที่nullได้รับ

ffmpeg -list_devices true -f dshow -i null

บันทึกเสียงจากอุปกรณ์อินพุต:
บันทึก30วินาทีของข้อมูลเสียง(ข้อมูล PCM)จากอินพุตของ DirectShow
แทนที่: DEVICE_IDด้วย id ที่ต้องการจากรายการIDที่คุณได้รับจากคำสั่งก่อนหน้า

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

FFmpegเอกสารเกี่ยวกับDShow


1

นี่เก่า แต่อาจเป็นทางเลือก

LiveInCode

โปรแกรมนี้เข้ารหัสเสียงสดจาก line-in หรือไมโครโฟนโดยตรงใน Ogg Vorbis, MP3, FLAC, Speex และรูปแบบอื่น ๆ

เวอร์ชั่นปัจจุบันรองรับ Ogg Vorbis และ Speex ในตัวเท่านั้น หมายความว่าคุณสามารถใช้โปรแกรมเปลี่ยนรหัสอื่น ๆ ได้เช่นกัน แต่สำหรับตัวเข้ารหัสอื่นที่ไม่ใช่ Ogg Vorbis และ Speex คุณจะต้องระบุบรรทัดคำสั่งด้วยตนเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.