- Về cơ bản, các tính năng tốt nhất được sử dụng để so sánh giọng nói/thoại là MFCC.
Có một số phần mềm có thể được sử dụng để trích xuất các hệ số: Praat website
Bạn cũng có thể cố gắng tìm một lib để trích xuất các hệ số này.
[Edit: Tôi đã tìm thấy trong tuneR documentation rằng nó có một chức năng để giải nén MFCC - tìm kiếm các chức năng melfcc()
]
- Sau khi bạn đã chiết xuất các tính năng này, bạn có thể sử dụng Machine Learning (SVM, RandomForests hoặc một cái gì đó như thế) để phát triển một trình phân loại.
Tôi có một hội thảo mà tôi đã trình bày về Hệ thống nhận dạng loa, hãy nhìn vào nó, nó có thể hữu ích. (Seminar)
Nếu bạn có thời gian và sự quan tâm, bạn có thể algo đọc:
Authors: Kinnunen, T., & Li, H. (2010)
Paper: an overview of text-independent speaker recognition: From features to supervectors
Sau khi bạn nhận được một vector đặc trưng cho mỗi mẫu âm thanh (với MFCC và/hoặc các tính năng khác), sau đó bạn' sẽ cần phải so sánh cặp vectơ tính năng (tính năng từ Asotính năng từ B):
Bạn có thể cố gắng sử dụng sự khác biệt tuyệt đối giữa các tính năng đã ctors:
- abs (tính năng vector từ A - vector tính năng từ B)
Kết quả của các hoạt động trên là một vector đặc trưng mà mỗi phần tử là> = 0 và nó có cùng kích thước của vectơ A (hoặc B).
Bạn cũng có thể thử nghiệm các nhân tố khôn ngoan giữa các tính năng A và B:
- (A1 * B1, A2 * B2, ..., Một * Bn)
Sau đó, bạn cần phải dán nhãn cho mỗi tính năng vector
(1 nếu người A == người B và 0 nếu người A! = Người B).
Thông thường phần chênh lệch tuyệt đối hoạt động tốt hơn các vector đặc trưng nhân, nhưng bạn có thể thêm cả hai vectơ và kiểm tra việc thực hiện phân loại sử dụng cả abs diff và nhân tính năng cùng một lúc.
Nguồn
2015-12-14 11:40:18
Tôi không phải là chuyên gia xử lý âm thanh nhưng bạn có thể thực hiện rất nhiều nội dung với 'seewave' có thể hữu ích cho bạn. Đối với vấn đề cụ thể của bạn, lập trình phổ và biên độ bình thường đến với tâm trí của tôi - cả hai đều có thể dễ dàng thực hiện trong 'seewave'. – cryo111
ya cảm ơn đề xuất của bạn, tôi đã thử chuẩn hóa biên độ trong gói seewave nhưng, Theo kiến thức của tôi, chúng tôi cần có các giá trị hợp lý trong khi thực hiện bình thường hóa, tôi có thể tìm cho bạn biết nếu bạn có bất kỳ ý tưởng nào về điều đó. Cảm ơn bạn một lần nữa. – Dinesh