2015-12-14 25 views
8

Tôi đang làm việc trong một dự án mà nhiệm vụ của tôi đề cập đến so sánh giọng nói/âm thanh/giọng nói. Dự án này được sử dụng để đánh giá người chiến thắng trong các cuộc thi (bắt chước). Thực tế tôi cần nắm bắt giọng nói/giọng nói của người dùng và so sánh nó với tệp âm thanh gốc và trả lại phần trăm so khớp. Tôi cần phát triển điều này bằng ngôn ngữ R.so sánh âm thanh với R

Tôi đã thử các gói liên quan đến giọng nói trong R (tuneR, audio, seewave) nhưng trong tìm kiếm của mình, tôi không thể nhận được thông tin liên quan so sánh.

Tôi cần một số trợ giúp từ các bạn, tôi có thể tìm thông tin liên quan đến công việc của mình, cách tốt nhất để xử lý loại sự cố này và nếu có, các điều kiện tiên quyết để xử lý loại âm thanh này là gì công việc.

+0

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

+0

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

Trả lời

5
  • 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 B0 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 diffnhân tính năng cùng một lúc.

+1

Câu trả lời hay, nhưng tác giả đã tham chiếu một cuộc thi. Tôi không có nền tảng trong xử lý âm thanh vì vậy tôi thấy điều này rất thú vị. Nhưng, bạn sẽ không muốn xem xét một số chức năng như một chuẩn mực của hai vectơ, với một vectơ là những gì bạn đang cố gắng bắt chước và cái kia là đối thủ cạnh tranh, thay vì cố gắng phân loại? –

+1

Tôi chưa bao giờ làm việc với mimic nhưng tôi đã làm việc với Hệ thống nhận dạng loa (SRS). Để giải quyết vấn đề bắt chước này, tôi sẽ sử dụng cùng một cách tiếp cận được sử dụng trong SRS. Trong SRS, chúng tôi phát triển một bộ phân loại phải mạnh mẽ chống lại giả mạo (và cũng bắt chước). Một cách để đối phó với giả mạo là sử dụng phân loại như là một yếu tố dự báo (nhận được đáp ứng xác suất của bộ phân loại). Thay vì tìm kiếm một chuẩn mực, tôi sẽ xem xét xác suất này giữa đối thủ cạnh tranh và những gì bạn đang cố gắng bắt chước. Mô phỏng tốt nhất sẽ có điểm số cao hơn trong phân loại –

+0

Tôi sẽ chọn cách tiếp cận ở trên vì tôi nghĩ rằng vấn đề bắt chước tương tự với vấn đề giả mạo trong Hệ thống nhận dạng loa. Norm thường không phải là cách tiếp cận tốt nhất, nhưng nó là một trong những cách dễ nhất để thực hiện. Thay vì chỉ tiêu, cách tiếp cận đơn giản hơn sẽ là tính toán vectơ đặc trưng cho A (đối thủ cạnh tranh) và B (cố bắt chước), và sau đó tính toán độ tương tự cosin (hoặc tương quan) giữa cả hai vectơ đặc trưng. –