Tôi đã đọc nhiều câu hỏi về SO, và thẳng thắn, mỗi câu hỏi không mô tả bất kỳ cách cụ thể nào để nói về nó. Một số người nói "làm FFT" và một số người nói "không giao nhau", v.v. Nhưng tôi chỉ hiểu được rằng đầu vào âm thanh kỹ thuật số bao gồm một loạt các biên độ cho một tần số cụ thể và tốt .. Không thực sự biết nhiều ngoài nó
Bây giờ tôi đã biết định lý Nyquist, tần số, biên độ, chuỗi Fourier, v.v., và đó là từ 2-3 năm trước khi tôi làm điều đó trong chương trình đại học của tôi trong một học kỳ. Nhưng hồi đó, chúng tôi thực sự không dạy cách sử dụng Fourier trong thế giới thực nhiều và tôi không bận tâm đến việc tìm hiểu thêm về chủ đề này ngoài việc học chỉ đủ để vượt qua chủ đề. Nhưng bây giờ tôi sẽ phải sử dụng tất cả những thứ đó.
Dưới đây là ảnh chụp nhanh những âm thanh tôi đang cố gắng phát hiện:
Rõ ràng các âm thanh có đồ thị độc đáo. Tôi chỉ muốn hiểu làm thế nào để trích xuất các đặc điểm độc đáo đặc biệt của chúng cho các đường nhọn độc đáo của chúng trong biểu đồ. Giống như những gì biên độ, tần số, vv Và trong bao nhiêu thời gian - mặc dù đó là tầm thường tôi đoán.
Tôi muốn một bước đơn giản, danh sách hướng dẫn không mơ hồ - Tôi có thể google thuật ngữ tôi sẽ không hiểu.
Có lẽ như thế này? -
Nhận dữ liệu âm thanh đầu vào
Phổ đồ
Nhận biểu đồ phổ cho âm thanh bạn muốn phát hiện trong môi trường ồn ào
Nghiên cứu biểu đồ đó - vẽ các đặc điểm độc đáo của âm thanh đó
Tạo một số loại chức năng có thể phát hiện các đặc điểm cụ thể đó trong nguồn cấp âm thanh trực tiếp, sử dụng các đặc điểm của âm thanh được tìm thấy trong (4)
Nếu một trận đấu được tìm thấy, tốt - công việc đã hoàn thành.
Ba Lan thuật toán để loại bỏ các tiêu cực sai.
Nơi tôi bối rối là - làm thế nào để tôi đi khoảng 3,4,5. Đặc biệt là 3 và 4. Vì tôi đang tạo một phần mềm trong đó người dùng có thể ghi lại bất kỳ âm thanh nào dưới dạng đầu vào cử chỉ để sử dụng sau này, tôi muốn hệ thống của mình có thể ghi lại bất kỳ âm thanh nào và khớp với âm thanh trực tiếp thức ăn để phát hiện cử chỉ âm thanh đó. Giống như nói, ho, hoặc búng ngón tay, hoặc huýt sáo, hoặc vỗ tay. Hoặc nói phụ âm - hoặc hoặc hoặc . Chỉ cần về bất kỳ âm thanh.
Tôi đã nghĩ đến việc làm cho người dùng ghi lại âm thanh mà họ muốn lưu trữ như một cử chỉ trong một môi trường khá. Và người dùng sẽ tạo ra âm thanh chỉ ở giữa phần đệm thời gian yên tĩnh ; 3 giây ở đầu và cuối ghi âm.
Vì vậy, trong 3 giây đầu tiên, hệ thống của tôi sẽ thiết lập rằng đầu vào hiện tại là âm thanh nền yên tĩnh bình thường. Và sau đó, một sự thay đổi đột ngột trong biểu đồ sẽ là đầu vào âm thanh bắt đầu. Và khi điều đó dừng lại, quá trình ghi sẽ tiếp tục trong 3 giây nữa, phần đệm thời gian yên tĩnh kéo dài . Điều này sẽ được thực hiện bằng tay bởi người dùng. Sau đó, nó sẽ tự động lưu trữ các đặc điểm của chỉ phần đó trong đó sự thay đổi đột ngột trong biểu đồ kéo dài - ở đâu đó giữa thời gian đệm.
Và do đó, các đặc điểm của phần đó sẽ được lưu dưới dạng dữ liệu cử chỉ của âm thanh đó, được sử dụng để phát hiện âm thanh cụ thể đó trong nguồn cấp âm thanh trực tiếp sau này.
Vấn đề là, tôi đang nghĩ tất cả những điều này bằng tiếng Anh. Tôi cần phải suy nghĩ trong toán học và vật lý, để có thể thực hiện nó một cách hiệu quả trong mã của tôi. Tôi thật sự không biết phải viết gì và viết nó ở đâu trong mã của mình - ngay cả với rất nhiều thư viện và câu hỏi về SO theo ý của tôi.
Và xin lỗi nếu điều này là dài.