Tôi tự hỏi làm cách nào để có được thông tin về âm nhạc như biên độ từ tệp âm thanh?Lấy mẫu sóng của tệp âm thanh trong Java
Giả sử chúng tôi có tệp âm thanh thô, những gì tôi muốn trích xuất dữ liệu từ tệp cho phép tôi tạo đường cong chẳng hạn như http://www1.icsi.berkeley.edu/Speech/mr/nearfar.html. Một khi tôi đã thu được đường cong này, tôi sẽ thực hiện FFT vv
Tôi đã cố gắng để tìm kiếm các giải pháp trong Java Sound, nhưng những gì tôi chỉ biết cho đến nay là tôi có thể đổ dữ liệu vào byte[]
sử dụng AudioInputStream
. Nhưng làm thế nào để dịch rằng byte[]
thành một double[]
có chứa thông tin thực tế về âm thanh? Trong trường hợp này, các giá trị trong double[]
thể hiện biên độ .
Có ai vui lòng cung cấp giải pháp để giải quyết vấn đề này trong Java không?
tất nhiên, trước tiên bạn cần phải đọc qua tiêu đề. –
@BjornRoche: OP nói về việc sử dụng 'AudioInputStream', nó bỏ qua tiêu đề và chỉ cung cấp các byte PCM hợp lệ. –
Rất tiếc. Bạn đúng, xin lỗi. –