ฉันต้องการเปลี่ยนความถี่ของไฟล์เสียง ความหมาย: ไฟล์ทั้งหมดควรฟัง (พูด) หนึ่งคู่สูงกว่าหรือต่ำกว่า ทำอย่างไร? การใช้ffmpeg
หรือเครื่องมือโอเพนซอร์สบรรทัดคำสั่งอื่น ๆ จะดีกว่า
ฉันต้องการเปลี่ยนความถี่ของไฟล์เสียง ความหมาย: ไฟล์ทั้งหมดควรฟัง (พูด) หนึ่งคู่สูงกว่าหรือต่ำกว่า ทำอย่างไร? การใช้ffmpeg
หรือเครื่องมือโอเพนซอร์สบรรทัดคำสั่งอื่น ๆ จะดีกว่า
คำตอบ:
ด้วย ffmpeg:
ffmpeg -i <input> -af asetrate=44100*0.5,aresample=44100 <output>
ที่นี่ 0.5 คือปัจจัยระดับเสียง หรือดูคำตอบอื่น ๆ สำหรับรายละเอียดเพิ่มเติม
หากคุณต้องการ GUI ให้ใช้ความกล้ามันเป็นเครื่องมือแก้ไขเสียงข้ามแพลตฟอร์มฟรี
คุณสมบัติ: เปลี่ยนระดับเสียงโดยไม่ต้องเปลี่ยนจังหวะหรือในทางกลับกัน
เป็นทางเลือกให้ลองsox อะไรแบบนั้น:
sox <infile> <outfile> pitch <shift>
ที่ให้เปลี่ยนระดับเสียงเป็น 'เซนต์' บวกหรือลบ (เช่น 100th ของ semitone) มี 12 semitones ต่ออ็อกเทฟดังนั้นนั่นจะหมายถึง± 1200
เป็นพารามิเตอร์
ffmpeg -i man.wav -af asetrate=48000*0.75,aresample=48000 man_pitch_down.wav
ฉันเห็นด้วยffmpeg -i
wav ดั้งเดิมDuration: 00:00:01.95, bitrate: 3080 kb/s
และ wav ที่แก้ไขDuration: 00:00:02.60, bitrate: 1536 kb/s
แล้ว อย่างที่ฉันเข้าใจDuration
คือความยาวเป็นวินาที
ค้นหาอัตราเสียงเข้าก่อน:
ffmpeg -i input.mp4
สมมติว่าอัตราอินพุตเสียง 44,100 Hz คำสั่งนี้จะทำงาน:
ffmpeg -i input.mp4 -af asetrate=44100*3/4,atempo=4/3 output.mp4
ปัจจัย 3/4 จะเปลี่ยนเสียงผู้หญิงส่วนใหญ่และ“ ผอม” (กระแต) เป็นเสียงชายและ“ อ้วน” ใช้ 4/3 ในทางตรงกันข้าม:
ffmpeg -i input.mp4 -af atempo=3/4,asetrate=44100*4/3 output.mp4
สังเกตุเห็นลำดับที่กลับด้านของตัวกรองเพื่อป้องกันการเสื่อมสภาพของสัญญาณ เมื่อใดก็ตามที่เป็นไปได้การดำเนินการแบบไม่สูญเสียควรมาก่อนการดำเนินการแบบสูญเสีย ฉันไม่แน่ใจ 100% ว่าฉันไม่ได้ทำผิดพลาดบางอย่างที่นี่จากตัวกรอง FFmpeg ที่เข้าใจผิด
ตัวกรอง FFmpeg asetrate
ควรมีตัวแปรที่มีชื่อir
สำหรับอัตราเสียงเข้าคล้ายกับiw
× ih
ในตัวกรองวิดีโอบางตัว แต่ฉันไม่สามารถพูดถึงมันได้ในเอกสารประกอบ
สำหรับปัจจัยที่มากกว่า 2 (เช่น 4/1 หรือ 1/4) คุณต้องใช้atempo
ตัวกรองหลายตัว (1/4 = 1/2 * 1/2 หรือ 4/1 = 2/1 * 2/1):
ffmpeg -i input.mp4 -af asetrate=44100*4,atempo=1/2,atempo=1/2 output.mp4
ฉันไม่รู้วิธีที่จะได้รับเสียงชาย "ผอม" และเสียง "อ้วน"
แทนที่จะ-af
คุณสามารถเขียนหรือ-filter:audio
-filter:a