2011-08-02 37 views
7

Khi tôi chụp bằng công cụ ghi âm JavaSound hoặc bên thứ ba và ghi nó vào một tệp. Sau đó đọc các tập tin trở lại để sửa đổi nó, là có bất kỳ cách nào để loại bỏ các "tiếng ồn nền" với ứng dụng java của tôi.Làm thế nào tôi có thể loại bỏ tiếng ồn nền với java, trong khi ghi âm trong một khu vực đám đông?

Chẳng hạn như giao thông đường bộ/tiếng ồn trong khi người đang nói chuyện chính?

Cảm ơn

Trả lời

4

Xóa tạp âm nền rất khó. Nếu đó là tiếng ồn đồng đều, chẳng hạn như tiếng ồn "trắng" trên máy bay, có các thuật toán để loại bỏ các thành phần tần số đó. Nhưng nếu tiếng ồn không đồng đều và tương tự như bản ghi âm của bạn, ví dụ: mọi người nói chuyện trong nền, tiếng ồn đường phố, v.v. sẽ rất khó để tách chúng ra. Đã có nhiều nghiên cứu về điều này.

Ít nhất, bạn sẽ cần phải biết chính xác âm thanh tốt là gì và âm thanh xấu. Ví dụ. nếu bạn đang ghi lại giọng nói, có thể có phần mềm sửa chữa âm thanh đặc biệt có sẵn để tách biệt giọng nói với các âm thanh khác, ví dụ: http://www.izotope.com/products/audio/rx/. Nếu bạn đang ghi âm giọng nói bằng âm thanh nổi, bạn có thể thành công bằng cách phân tích vị trí bên trái/bên phải của giọng nói và sau đó xóa các thành phần không phải bằng giọng nói bằng cách tương ứng trái và phải.

Re: bình luận MKB của:

  1. một cổng tiếng ồn sẽ tắt âm thanh khi mức (của một số hoặc tất cả các thành phần tần số) là dưới một ngưỡng. Tùy thuộc vào mức độ tiếng ồn nền của bạn, điều này có thể giúp, nhưng thường là một cổng tiếng ồn là gây phiền nhiễu bởi vì bạn sẽ nghe thấy nền miễn là âm thanh "tốt" của bạn ở đó, và có sự im lặng ở giữa.
  2. bộ lọc thông thấp loại bỏ các thành phần tần số cao (nó cho phép tần số thấp vượt qua)! Vì vậy, nếu tiếng ồn nền của bạn là tần số cao, nó có thể giúp đỡ. Một bộ lọc thông thấp FIR hoặc IIR đơn giản dễ thực hiện. Nhưng nó cũng sẽ ảnh hưởng đến âm thanh "tốt" của bạn, nếu nó có các thành phần tần số cao.
Các vấn đề liên quan