Tôi đang cố gắng thực hiện một trò chơi ca hát sẽ phân tích đầu vào mic thô và cho người chơi biết anh ấy hát hay như thế nào. Điều đó cần phải được thực hiện trong thời gian thực.
Tôi đã bắt gặp rất nhiều chủ đề hỏi cùng một câu hỏi nhưng tôi vẫn chưa hoàn thành nó, có lẽ là do tôi không có kinh nghiệm trong lĩnh vực này và nền tảng toán học nông cạn. Tôi đã triển khai một thuật toán dựa trên bài viết về độ dịch chuyển của trang web DSPDimension: http://www.dspdimension.com/admin/pitch-shifting-USE-the-ft/
Tôi trích xuất tần số và cường độ thực như bài báo giải thích, nhưng tôi không biết tìm tần số cơ bản với điều này. Tôi đã cố gắng để có được thùng với cường độ lớn nhất nhưng điều đó chỉ mang lại cho tôi kết quả đúng cho tín hiệu cao hơn, không quan trọng tôi sử dụng yếu tố quá khổ nào mà tôi vẫn nhận được dữ liệu xấu cho tín hiệu freq thấp. Cách tiếp cận này là hoàn toàn sai hay tôi đang đi đúng hướng nhưng chỉ thiếu một cái gì đó?
Cảm ơn trước,
EDIT: Tôi đã quên đề cập rằng tôi chỉ quan tâm đến lớp pitch, vì vậy sẽ ổn nếu thiếu phần cơ bản nhưng tôi có một âm bội mạnh mẽ trong mẫu.
EDIT2: Cảm ơn mọi người, tôi vừa hoàn thành một phiên bản thuật toán hoạt động như một bùa mê. Vấn đề ước tính cao độ thấp là do thử nghiệm đầu vào của tôi. Khi tôi hát nốt nhạc nó khớp chính xác. Ngoài ra, tôi đang xem xét tất cả các sóng hài bây giờ, không chỉ là đỉnh cao nhất.