ไลบรารี Python สำหรับการแยกคุณสมบัติเสียง การจัดหมวดหมู่ การแบ่งส่วน และแอปพลิเคชัน
นี่เป็นข้อมูลทั่วไป คลิกที่นี่เพื่อดูวิกิฉบับสมบูรณ์ และที่นี่เพื่อดูข้อมูลเบื้องต้นเกี่ยวกับการจัดการข้อมูลเสียง
ข่าว
- [2022-01-01] หากคุณไม่สนใจในการฝึกโมเดลเสียงจากข้อมูลของคุณเอง คุณสามารถตรวจสอบ Deep Audio API ได้ หากคุณสามารถส่งข้อมูลเสียงได้โดยตรง และรับการคาดการณ์เกี่ยวกับเนื้อหาเสียงที่เกี่ยวข้อง (คำพูดและความเงียบ) , แนวดนตรี, เพศของผู้พูด ฯลฯ)
- [2021-08-06] คุณสมบัติเสียงลึก - มีการจัดหมวดหมู่เสียงลึกและการแยกคุณสมบัติโดยใช้ CNN และ Pytorch
- ลองดูสคริปต์ Python ของ paura สำหรับการบันทึกและวิเคราะห์ข้อมูลเสียงแบบเรียลไทม์
ทั่วไป
pyAudioAnalysis เป็นไลบรารี Python ที่ครอบคลุมงานการวิเคราะห์เสียงที่หลากหลาย ผ่าน pyAudioAnalysis คุณสามารถ:
- แยก คุณสมบัติ เสียงและการนำเสนอ (เช่น mfccs, spectrogram, chromagram)
- ฝึกฝน ปรับพารามิเตอร์ และ ประเมิน ตัวแยกประเภทส่วนของเสียง
- จำแนก เสียงที่ไม่รู้จัก
- ตรวจจับ เหตุการณ์เสียงและยกเว้นช่วงเงียบจากการบันทึกที่ยาวนาน
- ดำเนินการ แบ่งส่วนภายใต้การดูแล (การแบ่งส่วนร่วม - การจำแนกประเภท)
- ดำเนินการ แบ่งส่วนโดยไม่ได้รับการดูแล (เช่น การแยกเสียงของผู้พูด) และแยก ภาพขนาดย่อ ของเสียง
- ฝึกฝนและใช้แบบจำลอง การถดถอยของเสียง (ตัวอย่างการใช้งาน: การจดจำอารมณ์)
- ใช้การลดขนาดเพื่อ แสดง ภาพข้อมูลเสียงและความคล้ายคลึงกันของเนื้อหา
การติดตั้ง
- โคลนแหล่งที่มาของไลบรารีนี้:
git clone https://github.com/tyiannak/pyAudioAnalysis.git
- ติดตั้งการอ้างอิง:
pip install -r ./requirements.txt
- ติดตั้งโดยใช้ pip:
pip install -e .
ตัวอย่างการจำแนกเสียง
ตัวอย่างเพิ่มเติมและบทช่วยสอนโดยละเอียดสามารถพบได้ที่วิกิ
pyAudioAnalysis มี Wrapper ที่เรียกง่ายเพื่อดำเนินงานวิเคราะห์เสียง เช่น โค้ดนี้จะฝึกตัวแยกประเภทส่วนของเสียงก่อน โดยกำหนดชุดของไฟล์ WAV ที่จัดเก็บไว้ในโฟลเดอร์ (แต่ละโฟลเดอร์ที่แสดงถึงคลาสที่แตกต่างกัน) จากนั้นตัวแยกประเภทที่ได้รับการฝึกจะถูกใช้เพื่อจำแนกไฟล์เสียง WAV ที่ไม่รู้จัก
from pyAudioAnalysis import audioTrainTest as aT
aT . extract_features_and_train ([ "classifierData/music" , "classifierData/speech" ], 1.0 , 1.0 , aT . shortTermWindow , aT . shortTermStep , "svm" , "svmSMtemp" , False )
aT . file_classification ( "data/doremi.wav" , "svmSMtemp" , "svm" )
ผลลัพธ์: (0.0, array([ 0.90156761, 0.09843239]), ['music', 'speech'])
นอกจากนี้ยังมีการรองรับบรรทัดคำสั่งสำหรับฟังก์ชันทั้งหมดอีกด้วย เช่น คำสั่งต่อไปนี้จะแยกสเปกตรัมของสัญญาณเสียงที่เก็บไว้ในไฟล์ WAV: python audioAnalysis.py fileSpectrogram -i data/doremi.wav
อ่านเพิ่มเติม
นอกเหนือจากไฟล์ README นี้ เพื่อให้เข้าใจวิธีใช้ไลบรารีนี้ได้ดียิ่งขึ้น ควรอ่านข้อมูลต่อไปนี้:
- พื้นฐานการจัดการเสียง: ประมวลผลไฟล์เสียงใน Command-Line หรือ Python หากคุณต้องการเรียนรู้วิธีจัดการไฟล์เสียงจากบรรทัดคำสั่ง และการเขียนโปรแกรมพื้นฐานเกี่ยวกับการประมวลผลสัญญาณเสียง เริ่มต้นด้วยสิ่งนั้นหากคุณไม่รู้อะไรเกี่ยวกับเสียง
- ข้อมูลเบื้องต้นเกี่ยวกับการวิเคราะห์เสียง: การจดจำเสียงโดยใช้การเรียนรู้ของเครื่อง ข้อมูลนี้จะเจาะลึกกว่าบทความก่อนหน้านี้เล็กน้อย โดยให้ข้อมูลเบื้องต้นที่สมบูรณ์เกี่ยวกับทฤษฎีและการปฏิบัติในการแยกคุณสมบัติเสียง การจัดหมวดหมู่ และการแบ่งส่วน (รวมถึงตัวอย่าง Python มากมาย)
- วิกิของห้องสมุด
- วิธีใช้แมชชีนเลิร์นนิงเพื่อระบายสีแสงตามอารมณ์ดนตรี กรณีการใช้งานที่น่าสนใจของการใช้ lib นี้เพื่อฝึกเครื่องมือประมาณค่าอารมณ์เพลงแบบเรียลไทม์
- คำอธิบายทั่วไปและเชิงทฤษฎีเพิ่มเติมของวิธีการที่นำมาใช้ (พร้อมกับการทดลองหลายครั้งในกรณีการใช้งานเฉพาะ) มีการนำเสนอในเอกสารเผยแพร่นี้ โปรดใช้ข้อมูลอ้างอิงต่อไปนี้เมื่ออ้างอิง pyAudioAnalysis ในงานวิจัยของคุณ :
@ article { giannakopoulos2015pyaudioanalysis ,
title = { pyAudioAnalysis : An Open - Source Python Library for Audio Signal Analysis },
author = { Giannakopoulos , Theodoros },
journal = { PloS one },
volume = { 10 },
number = { 12 },
year = { 2015 },
publisher = { Public Library of Science }
}
สำหรับสื่อการวิเคราะห์เสียงที่เกี่ยวข้องกับ Matlab ให้ตรวจสอบหนังสือเล่มนี้
ผู้เขียน
Theodoros Giannakopoulos นักวิจัยหลักด้านการเรียนรู้ของเครื่องหลายรูปแบบที่กลุ่มวิเคราะห์มัลติมีเดียของ Computational Intelligence Lab (MagCIL) ของสถาบันสารสนเทศและโทรคมนาคม ของศูนย์วิจัยวิทยาศาสตร์แห่งชาติ "Demokritos"