การพิจารณาว่าเสียงที่คล้ายกันนั้นเกี่ยวกับคำพูดของมนุษย์


12

ในขณะที่กำลังมองหาคำตอบสำหรับปัญหานี้ฉันพบว่าบอร์ดนี้จึงตัดสินใจที่จะข้ามโพสต์คำถามของฉันนี้จาก Stack Overflow


ฉันกำลังค้นหาวิธีการกำหนดความคล้ายคลึงกันระหว่างเซ็กเมนต์เสียงและเสียงของมนุษย์ซึ่งแสดงเป็นตัวเลข

ฉันค้นหาค่อนข้างน้อย แต่สิ่งที่ฉันพบจนถึงขณะนี้ (รายละเอียดด้านล่าง) ไม่ตรงกับสิ่งที่ฉันต้องการ:

  • วิธีหนึ่งคือการใช้ซอฟต์แวร์รู้จำเสียงพูดเพื่อให้ได้คำจากส่วนเสียง อย่างไรก็ตามวิธีนี้ไม่สามารถเกิดขึ้นได้ว่าเสียง "คล้ายกัน" นั้นเป็นอย่างไรสำหรับการพูดของมนุษย์ บ่อยครั้งที่สามารถบอกได้ว่ามีคำในเสียงหรือไม่ แต่ถ้าไม่มีคำที่ชัดเจนก็ไม่สามารถบอกได้ว่าเสียงนั้นมีคำดังกล่าวหรือไม่
    ตัวอย่าง: CMU Sphinx , Dragonfly , SHoUT

  • วิธีการที่มีแนวโน้มมากขึ้นเรียกว่าVoice Activity Detection (VAD) อย่างไรก็ตามสิ่งนี้มีปัญหาเหมือนกัน: อัลกอริธึม / โปรแกรมที่ใช้ VAD มักจะส่งคืนว่ากิจกรรมถึงขีด จำกัด หรือไม่และไม่มีค่า "ความคล้ายคลึงกัน" ก่อนหรือหลังเกณฑ์ดังกล่าว อีกทางเลือกหนึ่งคือมองหาปริมาณไม่คล้ายกับคำพูดของมนุษย์
    ตัวอย่าง: Speex , Listener , FreeSWITCH


ความคิดใด ๆ


1
จากคำถามของคุณยังไม่ชัดเจนหากคุณมีปัญหาคือ A / ทำการบันทึกเสียงและบอกว่ามันมีคำพูดของมนุษย์หรือไม่ (ตัวอย่างของแอปพลิเคชัน: ตรวจสอบและลบ DJ talk จากการบันทึกรายการวิทยุ); หรือ B / รับอินพุตเสียงพูดและบอกว่าเสียงคล้ายกับส่วนเสียงอ้างอิง ในกรณีที่เป็น B คุณต้องการวัดความเหมือนกันของเกณฑ์ใด ในรูปร่าง contour? (เช่น: จับคู่เสียงร้องกับเพลง) ในชั้นเรียนของจังหวะและคลัสเตอร์? (เช่น: การจับคู่บีตบ็อกซิ่ง / การเลียนเสียงกับกลองวน) เกี่ยวกับเสียงต่ำ? (จับคู่เอฟเฟ็กต์เสียงกับเสียง) กรุณาบอกใบสมัครของคุณให้เราทราบ
pichenettes

ขออภัยปัญหาของฉันคือสิ่งที่คุณให้รายละเอียดใน A. ฉันต้องการตรวจสอบว่าเซ็กเมนต์เสียงเป็นคำพูดของมนุษย์หรือไม่
Jeff Gortmaker

1
ฉันทำงานเกี่ยวกับปัญหาที่เกี่ยวข้อง - พยายามหาว่าเสียงกรน / การหายใจได้รับการ "ปนเปื้อน" ด้วยคำพูดหรือดนตรี มันเป็นเรื่องยากที่จะทำอย่างไรกับความน่าเชื่อถือและเฉยเมยกับอัลกอริธึมรู้จำเสียงพูด "ขั้นสูง" (โดยแท้จริงแล้วพวกเขาจะใช้งานได้จริง) ข้อสังเกตหนึ่งของฉันคือคำพูดนั้นมีแนวโน้มที่จะมีจังหวะที่ไม่สม่ำเสมอในขณะที่ดนตรีเป็นปกติ นั่นและบางที "ความแบนของสเปกตรัม" นั้นคุ้มค่าที่จะตรวจสอบ (ฉันยังคงประเมินข้อดีของมันไว้เพื่อจุดประสงค์ของฉัน)
Daniel R Hicks

(ผมมีรายละเอียดมากกว่านี้: ฉันพบว่าค่าเบี่ยงเบนมาตรฐานของความเรียบของสเปกตรัมที่คำนวณจาก FFT ของเสียงดูเหมือนจะสะท้อนบางอย่างของคุณภาพเสียง)
Daniel R Hicks

คำตอบ:


6

ปัญหาประเภทนี้มักจะถูกแก้ไขโดยใช้เทคนิคการเรียนรู้ของเครื่อง

ทำลายสัญญาณเป็นลำดับ 20ms หรือ 50ms frames แยกคุณสมบัติในแต่ละเฟรม โดยทั่วไปแล้ว MFCC นั้นดีสำหรับแอปพลิเคชั่นประเภทนี้แม้ว่าจะมีคุณสมบัติที่เฉพาะเจาะจงมากขึ้นสำหรับการตรวจจับเสียง (พลังงานการปรับ 4 Hz - ซึ่งเป็นอัตราที่ผู้คนพูดคร่าวๆ;

จากนั้นใช้ชุดการฝึกอบรมของเสียงที่คุณระบุว่าเป็นคำพูด / ไม่พูดฝึกตัวลักษณนาม (แบบจำลองการผสมแบบเกาส์, SVM ... ) บนคุณสมบัติเฟรม

สิ่งนี้จะช่วยให้คุณสามารถจำแนกเฟรมที่ไม่มีป้ายกำกับในคลาสของคำพูด / ไม่ใช่คำพูด ขั้นตอนสุดท้ายประกอบด้วยการตัดสินใจที่ราบรื่น (กรอบที่จัดเป็นแบบไม่มีการพูดล้อมรอบด้วยกรอบการพูดหลายร้อยน่าจะเป็นข้อผิดพลาดการจัดหมวดหมู่) ตัวอย่างเช่นการใช้ HMM หรือเพียงแค่ตัวกรองมัธยฐาน

อ้างอิงน้อย:

การจำแนกคำพูด / ดนตรีที่แข็งแกร่งในเอกสารเสียง (Pinquier & al) การเลือกคำพูด / เพลงสำหรับแอปพลิเคชั่นมัลติมีเดีย (El-Maleh & al) การเปรียบเทียบคุณสมบัติสำหรับการเลือกปฏิบัติคำพูด / เพลง (Carey & al)

โปรดทราบว่าคุณลักษณะและเทคนิคการจำแนกประเภทที่อธิบายยังเกี่ยวข้องกับปัญหาระดับ 1 ของการตรวจหาคำพูด (แทนที่จะเป็นการแยกแยะคำพูดกับสิ่งอื่น) ในกรณีนี้คุณสามารถใช้เทคนิคการสร้างแบบจำลอง 1 ระดับเช่น SVM ระดับ 1 หรือเพียงแค่นำคะแนนความน่าจะเป็นของ GMM ที่ผ่านการฝึกอบรมเกี่ยวกับข้อมูลเสียงเป็นมาตรการ "การพูด"

หากในอีกทางหนึ่งปัญหาของคุณคือการแยกแยะคำพูดกับสิ่งอื่น (พูดเพลง) คุณสามารถใช้วิธีที่ไม่ได้รับการดูแลซึ่งเน้นการตรวจจับขอบเขตระหว่างเนื้อหาเสียงที่คล้ายกัน - แทนที่จะระบุเนื้อหานี้เอง


ขอบคุณสิ่งนี้ช่วยได้มาก! ประโยชน์ของการทำลายสัญญาณลงในหน้าต่างเล็ก ๆ คืออะไร? เนื่องจากผลลัพธ์ที่ฉันกำลังค้นหาเป็นค่าตัวเลขที่อธิบายเซ็กเมนต์เสียงทั้งหมดจะเป็นการดีกว่าถ้าจะแยกฟีเจอร์สำหรับสัญญาณทั้งหมดและไม่ใช่เฉพาะหน้าต่างที่ระบุเท่านั้น
Jeff Gortmaker

การคำนวณคุณสมบัติ (โดยเฉพาะอย่างยิ่งสเปกตรัมหรือเซปทรัล) บนหน้าต่างที่ยาวมาก ๆ นั้นจะเฉลี่ยหรือยกเลิกคุณสมบัติบางอย่างที่ทำให้การพูดโดดเด่น คุณสามารถตรวจสอบได้ด้วยตัวคุณเองโดยการผสมคำพูดสั้น ๆ มากมายเข้าด้วยกัน - มันยากที่จะรู้ว่าผลลัพธ์เป็นคำพูด ดังนั้นจึงเป็นการดีกว่าที่จะทำการจำแนกในส่วนย่อย ๆ และในกรณีของคุณให้รวมคะแนน (เช่นคำนวณค่าเฉลี่ยของคะแนนความน่าจะเป็นที่กำหนดโดย GMM หรือคำนวณ% ของเฟรมที่จำแนกเป็นคำพูดโดยตัวจําแนกไบนารี)
pichenettes

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