18

Tôi muốn phát triển một ứng dụng để phát hiện gió theo luồng âm thanh.
Tôi cần một số suy nghĩ chuyên gia ở đây, chỉ để cho tôi đường dẫn hoặc một số liên kết, tôi biết đây không phải là nhiệm vụ dễ dàng nhưng tôi đang có kế hoạch đặt rất nhiều nỗ lực ở đây.Phát hiện tiếng ồn của gió

Kế hoạch của tôi là phát hiện một số mẫu phổ biến trong luồng và nếu các giá trị gần với mẫu gió phổ biến này, tôi sẽ thông báo rằng kết quả phù hợp. có thể chắc chắn rằng gió được phát hiện, nếu các giá trị không khớp với các mẫu thì tôi đoán không có nhiều gió ...

Đó là kế hoạch của tôi lúc đầu, nhưng tôi cần phải tìm hiểu cách này mọi thứ đã xong. Có một số dự án mở đã làm điều này? Hay có ai đang nghiên cứu về chủ đề này?

Lý do tôi viết trên diễn đàn này là bởi vì tôi không biết làm thế nào để google nó, những điều tôi tìm thấy không phải là tôi đang tìm kiếm. Tôi thực sự không biết làm thế nào để bắt đầu phát triển loại thuật toán này.

EDIT 1:
tôi cố gắng ghi lại một cơn gió, và khi tôi mở file âm thanh lưu đối với tôi nó chỉ là một loạt các con số :). Tôi thậm chí không nhìn thấy những gì định dạng tôi nên lưu này, là sóng đủ tốt? Tôi có nên sử dụng cái gì khác, hoặc nếu tôi chuyển đổi tập tin âm thanh tiếng ồn gió trong mp3: điều này sẽ giúp phân tích cú pháp?

Tôi có nhiều câu hỏi, đó là vì tôi không biết từ đâu để đọc thêm về loại chủ đề này. Tôi gắn thẻ câu hỏi của mình với các hướng dẫn nên tôi hy vọng một người nào đó sẽ giúp tôi.

Phải có thứ gì đó có thể phát hiện được, vì tiếng ồn của gió rất phổ biến, phải bằng cách nào đó để phát hiện điều này, chúng tôi chỉ cần ai đó đưa cho tôi lời khuyên, người quen với chủ đề này.

+1

+1: Câu hỏi thú vị và trung thực. – leppie

+1

Bạn đã ghi lại một số mẫu tiếng ồn gió chưa? Họ trông như thế nào? Ý tôi là chuỗi thời gian, quang phổ công suất ... – kol

+3

Gió là chính nó. Đó là sự tương tác với các yếu tố khác gây tiếng ồn: lá, nhà cửa, oboes, micro ... Vì vậy, bạn phải thu hẹp môi trường của mình trước tiên. – mouviciel

Trả lời

3

Khoa học cho vấn đề của bạn được gọi là "phân loại mẫu", đặc biệt là trường con của "phân loại mẫu âm thanh". Nhiệm vụ được tóm tắt khi phân loại một bản ghi âm thành hai lớp (gió và không phải gió). Dường như bạn chưa có nền tảng vững chắc trong xử lý tín hiệu, vì vậy hãy để tôi chèn một cảnh báo trung tâm: Phân loại mẫu không dễ dàng như lúc đầu. Con người nổi trội ở phân loại hoa văn. Máy tính không.

Cách tiếp cận tốt đầu tiên thường là tính toán mối tương quan giữa biến đổi Fourier của tín hiệu và mẫu. Tuy nhiên, không biết bao nhiêu tùy thuộc vào tốc độ gió.

Bạn có thể muốn xem xét phương pháp bag-of-frames, nó đã được sử dụng thành công để phân loại tiếng ồn xung quanh.

2

Vì @thiton đã đề cập đây là ví dụ về phân loại mẫu âm thanh.

Đặc điểm chính của gió: đó là tiếng ồn trắng có hình dạng (band/hp filtering) với dao động bán ngẫu nhiên nhỏ về biên độ và độ cao. Ít nhất đó là cách mà hầu hết các nhà tổng hợp tái sản xuất nó và nó có vẻ khá thuyết phục.

Bạn phải kiểm tra nội dung phổ và thay đổi trong wavefile, vì vậy bạn sẽ cần FFT. Định dạng đầu vào không thực sự quan trọng, nhưng rõ ràng là nguyên liệu thô (wav) là tốt hơn.

Một khi bạn nhận ra rằng bạn nên phát hiện rằng nó gần với một số loại nhiễu màu và sau đó có thể trích xuất hàng loạt độ cao và biên độ và cố gắng sử dụng thuật toán phân loại mẫu cổ điển cho tập dữ liệu đó.Tôi nghĩ rằng việc học có giám sát có thể hoạt động ở đây.

3

Tôi vừa xem qua bài đăng này gần đây tôi đã tạo một thư viện có thể phát hiện tiếng ồn của gió trong bản ghi.

Tôi đã tạo ra một mô hình của tiếng ồn gió và tạo ra một cơ sở dữ liệu các ví dụ và sau đó đào tạo một thuật toán Machine Learning để phát hiện và đo mức gió theo cách cân nhắc.

C++/C code is here nếu nó được sử dụng cho bất kỳ ai!

+0

Bạn có thể cho chúng tôi biết thêm một chút về dự án của bạn không? Tôi muốn biết làm thế nào mã được cấp phép (là nó mã nguồn mở, mà giấy phép?) Câu hỏi này cũng yêu cầu một số hướng dẫn về cách thực hiện điều này. Bạn đã sử dụng phương pháp tiếp cận chung nào? –

+1

Hi dự án của tôi được gọi là dự án ghi âm tốt, nó là một dự án nghiên cứu tại Đại học Salford, Vương quốc Anh www.goodrecording.net. Chúng tôi đang tìm cách tự động xác định chất lượng âm thanh, đặc biệt là trong nội dung do người dùng tạo. Mã nguồn là mã nguồn mở, nó được cấp phép theo Giấy phép MIT. Cách tiếp cận mà tôi đã sử dụng là tạo ra một mô hình của tiếng ồn gió, thêm nhiễu vào nhiều ví dụ về âm thanh và âm thanh lời nói, sau đó trích xuất các tính năng âm thanh (MFCC) và đào tạo một trình phân loại rừng ngẫu nhiên với tỷ lệ tín hiệu định lượng thành nhiễu. – Kenders2000

1

Đây thực sự là một vấn đề khó giải quyết.

Giả sử bạn chỉ có một dữ liệu micrô đơn. Dữ liệu thô bạn nhận được khi bạn mở tệp âm thanh (tín hiệu miền thời gian) có một số nhưng không có nhiều thông tin cho loại xử lý này. Bạn cần phải đi vào miền tần số bằng cách sử dụng FFTs và xem xét số liệu thống kê của các thùng tần số và sử dụng nó để xây dựng một trình phân loại bằng cách sử dụng SVM hoặc Rừng ngẫu nhiên.

Với tất cả sự tôn trọng đối với @ Karoly-Horvath, tôi cũng sẽ không sử dụng bất kỳ bản ghi nào đã trải qua quá trình nén, chẳng hạn như mp3. Thuật toán nén âm thanh luôn bóp méo các tần số cao hơn, khi nó bật ra, là một tính năng quan trọng trong việc phát hiện gió ngay bây giờ. Nếu có thể, hãy lấy dữ liệu PCM thô từ micrô. Bạn cũng cần chắc chắn rằng bản ghi của bạn được lấy mẫu ở ít nhất 24kHz để bạn có thông tin về tín hiệu lên tới 12kHz.

Cuối cùng - hình dạng gió trong miền tần số không phải là tiếng ồn trắng được lọc đơn giản. Các đặc tính là nó thường có năng lượng cao trong các tần số thấp (một loại âm thanh ầm ầm) với âm thanh sheering và vỗ trong các tần số cao. Năng lượng tần số cao là khá thoáng qua, vì vậy nếu kích thước FFT của bạn quá lớn, bạn sẽ bỏ lỡ tính năng quan trọng này.

Nếu bạn có 2 dữ liệu micrô, thì điều này sẽ dễ dàng hơn một chút. Gió, khi ghi lại, là hiện tượng cục bộ. Chắc chắn, trong bản ghi âm, bạn có thể nghe tiếng xào xạc của lá hoặc âm thanh của chuông gió gây ra bởi gió. Nhưng đó không phải là tiếng ồn của gió và không nên lọc ra.

Tiếng ồn gió gây phiền nhiễu thực sự bạn nghe thấy trong bản ghi là không khí chạm vào màng micrô của bạn. Hiệu ứng đó là sự kiện địa phương - và có thể bị khai thác nếu bạn có 2 micrô. Nó có thể được khai thác bởi vì sự kiện này là cục bộ cho từng micrô riêng lẻ và không tương quan với micrô khác. Tất nhiên, nơi mà 2 mics được đặt trong quan hệ với nhau cũng rất quan trọng. Chúng phải gần nhau một cách hợp lý (nói, trong vòng 8 inch).

Một miền thời gian correlation sau đó có thể được sử dụng để xác định sự hiện diện của tiếng ồn của gió. (Tất cả các âm thanh ghi lại khác được tương quan với nhau vì mics khá gần nhau, do đó, một mối tương quan cao có nghĩa là không có gió, tương quan thấp có nghĩa là gió). Nếu bạn đang đi với phương pháp này, tập tin âm thanh đầu vào của bạn không cần phải được giải nén. Một thuật toán nén hợp lý sẽ không ảnh hưởng đến điều này.

Tôi hy vọng tổng quan này sẽ giúp ích.

Các vấn đề liên quan