Cá nhân tôi thấy Python là một trong những lựa chọn tốt nhất ngoài kia và tôi đã tự mình làm một số công việc trong lĩnh vực nhận dạng âm thanh. Bạn được hoan nghênh kiểm tra ví dụ phần mềm của tôi để nhận dạng tự động các loài chim từ các bản ghi âm thanh ồn ào: Ornithokrites . Chương trình được Bộ Bảo tồn New Zealand sử dụng và họ rất vui vì điều đó. Dựa trên ví dụ này tôi muốn chỉ ra một số ưu điểm của việc sử dụng Python:
- Cộng đồng lớn, phát triển nhanh chóng cung cấp hàng tấn thư viện. SciPy cung cấp rất nhiều phương pháp để xử lý tín hiệu (được cấp, không nhiều và trưởng thành như Matlab). Mặc dù vậy, SciPy, mặc dù là một trong những điều quan trọng nhất, chỉ là một trong hàng trăm có thể giúp bạn trong nỗ lực của bạn. Tôi tìm thấy Aubio tốt nhất để phân tích âm nhạc. Để nhận dạng giọng nói và âm nhạc chắc chắn bạn sẽ tận hưởng số lượng lớn các tính năng âm thanh mà Yaafe có thể trích xuất.
- Nó miễn phí! Sau khi ra khỏi học viện, bạn nhanh chóng phát hiện ra rằng Matlab khá đắt. Và ngay cả khi bạn có đủ khả năng, thì người dùng phối cảnh của bạn sẽ không hài lòng về sự phụ thuộc này. Ví dụ, Bộ Bảo tồn đã đề cập sẽ không chấp nhận phần mềm độc quyền.
- Nhận dạng thường yêu cầu học máy và Python có bộ công cụ tuyệt vời cho nó: sklearn. Đây là trạng thái của thư viện nghệ thuật - và dễ sử dụng. Hãy nhìn vào các cuộc thi Kaggle (học máy) và kiểm tra xem có bao nhiêu lập trình viên hàng đầu đang sử dụng Python và sklearn.
- Bạn có thể quản lý "dữ liệu lớn". Nếu bạn muốn chạy phân tích đối với các cơ sở dữ liệu ghi âm được nối mạng lớn, thì Python đã thiết lập tốt các công cụ. Tôi không nghĩ giao diện Matlab / Octave dễ dàng với ví dụ Hadoop, mặc dù vui lòng sửa lỗi cho tôi nếu tôi sai. R làm tốt hơn khu vực này.
- Nói về giao thoa, bạn có thể dễ dàng giao tiếp chương trình của bạn với một trang web. Đây là cách tôi quản lý Ornithokrites (nhận dạng chim): chương trình chạy trên dịch vụ điện toán đám mây của Amazon Web Services. Tuyệt vời nếu bạn muốn cung cấp phần mềm của mình cho những người khác, những người không nhất thiết muốn trải qua quy trình cài đặt của tất cả các thư viện cần thiết.
Lựa chọn thứ hai của tôi sẽ là R. Mặc dù không có nhiều tính năng như Python, nhưng nó có rất nhiều thư viện hữu ích (kiểm tra ví dụ: seewave cho các ứng dụng của bạn). Cài đặt những thứ trên cả Windows và Linux là một miếng bánh, điều này rất quan trọng nếu bạn muốn người khác sử dụng chương trình của mình. Tuy nhiên, theo kinh nghiệm của tôi, tính toán hiệu năng cao trong R khó khăn hơn - một điều quan trọng cần lưu ý nếu bạn cần thực hiện RẤT NHIỀU xử lý và nhận dạng.
Ví dụ về phân loại âm nhạc trong Python:
Hệ thống học máy xây dựng sách với Python có một chương về phân loại âm nhạc
Các công cụ khác (liệt kê không có nghĩa là hoàn thành): Python in Music