ลบความเงียบออกจากไฟล์เสียงขณะที่ยังคงช่องว่าง


16

ขณะนี้เรากำลังใช้คำสั่งนี้ภายในเชลล์สคริปต์เพื่อลบความเงียบออกจากไฟล์เสียง:

ffmpeg -i $INFILE -af silenceremove=0:0:0:-1:1:${NOISE_TOLERANCE}dB -ac 1 $SILENCED_FILE -y

ใช้งานได้ดียกเว้นว่าจะลบความเงียบทั้งหมดทำให้เสียงที่เหลืออยู่ถูกบีบเข้าด้วยกัน

วิธีนี้สามารถทำได้ในขณะที่เหลือสองหรือสามวินาทีระหว่างเสียงแต่ละส่วน?

โซลูชันต้องมีประสิทธิภาพมากเนื่องจากเราจะประมวลผลเสียงจำนวนมากและควรใช้เครื่องมือที่สามารถติดตั้งได้อย่างง่ายดายบนทั้ง Linux และ OSX เช่น ffmpeg หรือ sox

คำตอบ:


25

วิธีที่ดีที่สุดที่ฉันเคยเห็นคือการเพิ่มการ-lตั้งค่าสถานะเพื่อเงียบดังนี้:

sox in.wav out6.wav silence -l 1 0.1 1% -1 2.0 1%

ฉันได้คัดลอกคำสั่งนี้จากตัวอย่างที่ 6 ของโพสต์บล็อกที่มีประโยชน์มากนี้ชื่อThe Sox of Silence


ผ่านการทดสอบและทำสิ่งที่ฉันต้องการ ขอขอบคุณ!
Nathan ReinstateMonica Arthur

ในที่สุดการแก้ปัญหาเกี่ยวกับวิธีการทำงาน ขอบคุณ
vr_driver

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