มีแอปพลิเคชันที่สามารถบันทึกเสียงที่ฉันสามารถเรียกใช้จากบรรทัดคำสั่งบน XP ได้หรือไม่
เป็นการดีที่ฉันจะเริ่มต้นด้วยคำสั่งหนึ่งและหยุดมันด้วยคำสั่งอื่น หรือฉันสามารถระบุช่วงเวลาด้วยคำสั่งเริ่มต้น
มีแอปพลิเคชันที่สามารถบันทึกเสียงที่ฉันสามารถเรียกใช้จากบรรทัดคำสั่งบน XP ได้หรือไม่
เป็นการดีที่ฉันจะเริ่มต้นด้วยคำสั่งหนึ่งและหยุดมันด้วยคำสั่งอื่น หรือฉันสามารถระบุช่วงเวลาด้วยคำสั่งเริ่มต้น
คำตอบ:
คุณสามารถใช้แพคเกจ SoX
rec recorded_track.wav 00:05
บันทึกเป็นเวลา 5 นาที
เอกสารเพิ่มเติมเกี่ยวกับSoX manpage
sox -t waveaudio −d new-file.wav
rec
ไม่มีให้ในแพ็คเกจ SoX Windows อีกต่อไป คุณสามารถใช้บรรทัดคำสั่งนี้แทน:
sox -t waveaudio -d new-file.wav
ในการบันทึกเสียงโดยใช้บรรทัดคำสั่งบน 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
ในขณะที่การแปลงรูปแบบ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
นี่เก่า แต่อาจเป็นทางเลือก
โปรแกรมนี้เข้ารหัสเสียงสดจาก line-in หรือไมโครโฟนโดยตรงใน Ogg Vorbis, MP3, FLAC, Speex และรูปแบบอื่น ๆ
เวอร์ชั่นปัจจุบันรองรับ Ogg Vorbis และ Speex ในตัวเท่านั้น หมายความว่าคุณสามารถใช้โปรแกรมเปลี่ยนรหัสอื่น ๆ ได้เช่นกัน แต่สำหรับตัวเข้ารหัสอื่นที่ไม่ใช่ Ogg Vorbis และ Speex คุณจะต้องระบุบรรทัดคำสั่งด้วยตนเอง