แยกเสียงร้องออกจากเพลงบน Mac
สร้างดนตรีประกอบสำหรับฝึกร้องจากไฟล์เพลงบน Mac เครื่องมือ speech CLI ฟรีจะแยกเสียงร้อง กลอง เบส และเครื่องดนตรีอื่น จากนั้น FFmpeg ผสมสเต็มประกอบทั้งสามเข้าด้วยกัน เริ่มจากตัวอย่างสั้นด้านล่างและฟังผลก่อนใช้เพลงของคุณเอง
1. ติดตั้งเครื่องมือ
ต้องใช้ Mac ที่มี Apple Silicon, macOS 15 ขึ้นไป และ Homebrew เปิด Terminal แล้วเรียกใช้คำสั่งติดตั้ง ประมวลผลภายใน Mac โดยไม่ต้องมีบัญชี Soniqo หรืออัปโหลดเสียง
brew install speech ffmpeg
การแยกครั้งแรกจะดาวน์โหลดโมเดล HTDemucs จาก Hugging Face จึงต้องมีอินเทอร์เน็ตและใช้เวลาเพิ่ม โมเดลจะอยู่ในแคชของ Mac หลังจากนั้นใช้โมเดลที่แคชไว้แยกเสียงแบบออฟไลน์ได้
2. ทดลองเพลงตัวอย่าง
ใช้โฟลเดอร์ทำงานใหม่เพื่อเก็บต้นฉบับกับผลลัพธ์ไว้ด้วยกัน ดาวน์โหลด WAV สเตอริโอหรือฟังตัวอย่างก่อน ทุกตัวอย่างมาจากการบันทึกเดียวกัน จึงเปรียบเทียบเสียงที่เหลือในแต่ละผลลัพธ์ได้
curl -fL https://soniqo.audio/audio/samples/music/sample.wav -o sample.wav
ดาวน์โหลด WAV ตัวอย่าง · ที่มาและสัญญาอนุญาตของตัวอย่าง
Core ’ngrato (1995) · Singing Sergeants, United States Air Force Band. นี่คือผลลัพธ์ตัวอย่างจากคำสั่งด้านล่าง ไม่ใช่การทดสอบเปรียบเทียบคุณภาพการแยก
3. แยกเสียงที่บันทึก
เรียกใช้คำสั่งในโฟลเดอร์ที่มี sample.wav โดยจะสร้าง vocals.wav, drums.wav, bass.wav และ other.wav ใน stems ต้นฉบับยังคงอยู่เหมือนเดิม
speech separate sample.wav --engine htdemucs --htdemucs-precision int8 --output-dir stems
4. บันทึกดนตรีประกอบ
รวมกลอง เบส และเครื่องดนตรีอื่นโดยไม่ใส่สเต็มเสียงร้อง คำสั่ง FFmpeg นี้สร้าง instrumental.wav และใช้ลิมิเตอร์ควบคุมระดับพีก เป็นการผสมสามส่วนที่แยกแล้ว ไม่ใช่การลบเสียงร้องที่ประมาณได้ออกจากต้นฉบับ
ffmpeg -i stems/drums.wav -i stems/bass.wav -i stems/other.wav -filter_complex 'amix=inputs=3:normalize=0,alimiter=limit=0.98:level=false:latency=true' -c:a pcm_s16le instrumental.wav
เปิด instrumental.wav เพื่อตรวจดนตรีประกอบ และ stems/vocals.wav เพื่อฟังเสียงร้องเดี่ยว ฟังเสียงร้องที่ยังหลงเหลือ เครื่องดนตรีที่หายไป หรือเสียงกระแทกที่เปลี่ยนไป มิกซ์ที่หนา เสียงก้อง และเสียงทับซ้อนอาจทำให้มีร่องรอยการแยกที่ได้ยินได้
ใช้เพลงของคุณเอง
เปลี่ยนอินพุตเป็นพาธ WAV สเตอริโอของคุณ ใส่เครื่องหมายอัญประกาศรอบชื่อที่มีช่องว่าง และใช้โฟลเดอร์ผลลัพธ์แยกกันในแต่ละเพลง ขั้นตอนนี้ใช้ WAV สเตอริโอ 44.1 kHz จึงควรแปลงรูปแบบอื่นเป็น WAV ก่อน
speech separate "/path/to/Your Song.wav" --engine htdemucs --htdemucs-precision int8 --output-dir my-song-stems
หากต้องการดนตรีประกอบ ให้แทน stems ในคำสั่ง FFmpeg ด้วยโฟลเดอร์ผลลัพธ์ของเพลงนั้น
ผลลัพธ์ที่คาดหวัง
ตัวอย่างสั้นไม่ได้เป็นการวัดประสิทธิภาพของเพลงสามนาทีหรือโทรศัพท์ เวลาและหน่วยความจำขึ้นกับเพลงและโมเดล เริ่มจากคลิปสั้น เก็บต้นฉบับ และฟังตรวจสอบก่อนนำไปฝึกหรือแก้ไข
ดูการตั้งค่าโมเดลและ Swift API ในการแยกแหล่งเสียง วิธีติดตั้งในเริ่มต้นใช้งาน และตัวเลือกในเอกสาร CLI