Cũng y như các vấn đề Deep Learning khác, bài toán đầu tiên chúng ta cần có tác dụng là giải pháp xử lý dữ liệu. Vậy với dữ liệu audio, quá trình tiền cách xử trí sẽ như thế nào? Trong nội dung bài viết này, mình sẽ trình bày chi tiết về vụ việc này.

Bạn đang xem: Phân tích dữ liệu âm thanh

Sử dụng các thư viện music trong python để lấy đặc trưng

Thư viện python hỗ trợ xử lý âm thanh

Một số thư viện python cung cấp xử lý âm nhạc như librosa, scipy, torchaudio. Toàn bộ đều được cho phép bạn đọc các tệp âm nhạc ở các định dạng khác nhau.

Bước đầu tiên là thiết lập tệp lên:
*
Bạn hoàn toàn có thể biểu diễn sóng âm nhạc như sau:
*

Dữ liệu tín hiệu âm thanh (Audio Signal Data)

Khi âm nhạc được lưu giữ trong một tệp, nó vẫn ở định hình nén. Lúc tệp được tải, nó sẽ được giải nén và chuyển đổi thành một mảng Numpy.

*
Mỗi phần tử trong mảng này đại diện cho biên độ của sóng music ở 1/sample_rate khoảng thời gian của giây.

Ví dụ với file âm nhạc ở trên dài 278.521s cùng với sample rate là 16000hz thì con số samples của file đã là 278.52 * 16000=4456336

Biên độ của tần số nghỉ ngơi giây thứ 1 là:

*

Bây giờ, chúng ta tiếp tục nhóm âm thanh lấy mẫu thành các đoạn dài trăng tròn mili giây.

*

Biểu diễn dưới dạng biểu vật dụng đường mang lại khoảng thời gian 20ms này:

*
Chúng ta hoàn toàn có thể thấy đoạn ghi âm này chỉ dài 1/50 giây. Nhưng ngay cả đoạn thu thanh ngắn này cũng chính là một bạn dạng trộn lẫn tinh vi của những tần số âm nhạc khác nhau. Có một trong những âm thanh trầm, một trong những âm thanh cỡ trung bình và thậm chí một số âm thanh độ mạnh cao. Nhưng mà khi phần đông tần số khác biệt này kết phù hợp với nhau lại khiến cho âm thanh tinh vi của các giọng nói của con người.

Để khiến cho dữ liệu này thuận tiện hơn mang đến mạng nơ-ron xử lý, chúng ta sẽ tách sóng âm thanh tinh vi này thành các phần nguyên tố của nó. Vậy thì tách bóc như cụ nào ??? Thử tưởng tượng theo lấy một ví dụ này, mọi bạn sẽ thấy dễ hiểu hơn. Vào âm nhạc, ta thường xuyên có những hợp âm. Trả sử chúng ta đánh phù hợp âm C Major trên đàn piano. M thanh này là sự phối kết hợp của 3 nốt nhạc C, E và G. Họ cần tách bóc âm thanh phức hợp này thành các nốt cá biệt để hiểu được chúng là C, E với G. Đây đó là ý tưởng phân tích âm nhạc thành những thành phần của nó.Chúng ta triển khai việc so sánh này phụ thuộc vào biến thay đổi Fourier.

Biến đổi Fourier

Theo wikipedia, đặc điểm của biến đổi Fourier:

*
Với phép chuyển đổi Fourier, chúng ta biến hóa một biểu hiện từ miền thời hạn sang miền tần số. Thay đổi Fourier không chỉ cung ứng các tần số bao gồm trong biểu thị mà còn cung cấp độ bự của mỗi tần số tất cả trong tín hiệu.
*
*
Tuy nhiên, tiêu giảm của màn trình diễn miền tần số là không có thông tin về thời gian.

Spectrogram

Trong phần trước, bọn họ đã chia dấu hiệu thành những giá trị tần số của nó, chúng sẽ nhập vai trò là features cho mạng nơ ron nhấn dạng giọng nói. Nhưng mà khi áp dụng FFT cho bộc lộ của mình, nó chỉ cung cấp các quý hiếm tần số và họ bị mất dấu tin tức thời gian. Vì chưng đó, họ cần tìm kiếm một bí quyết khác để thống kê giám sát các features làm thế nào cho các giá trị tần số và thời hạn đều được quan tiền sát. Spectrogram có thể giải quyết được vấn đề này.Biểu diễn trực quan những tần số của một biểu thị nhất định với thời gian được call là Spectrogram. vào biểu đồ màn trình diễn Spectrogram - một trục bộc lộ thời gian, trục máy hai thể hiện tần số với màu sắc bộc lộ độ lớn (biên độ) của tần số quan gần cạnh tại 1 thời điểm thay thể. Màu sắc tươi sáng biểu hiện tần số mạnh. Các tần số nhỏ hơn tự (0–1k
Hz) là mạnh dạn (sáng). (Các tần số mạnh bạo chỉ nằm trong tầm từ 0 đến 1k
Hz bởi đoạn âm thanh này là lời nói của nhỏ người. )

*

Tạo Spectrogram

Ý tưởng đó là chia tín hiệu âm thanh thành những khung nhỏ tuổi hơn (cửa sổ) và đo lường và tính toán DFT (hoặc FFT) cho từng cửa sổ đó. Bằng cách này, shop chúng tôi sẽ nhận ra tần số cho từng cửa sổ với số cửa sổ sẽ đại diện cho thời gian. Để không làm mất đi một vài ba tần số khi lấy các cửa sổ một cách liên tục, họ thường giữ cho các cửa sổ này ck lên nhau (overlap). Đối với tác vụ dấn dạng tiếng nói thông thường, bạn nên sử dụng cửa sổ dài từ đôi mươi đến 30 ms. Một con bạn không thể nói nhiều hơn thế nữa một âm vị trong khoảng thời hạn này.

*

Đầu ra của thuật toán DFT (hoặc FFT) là 1 mảng những số đại diện cho những biên độ của những tần số khác nhau trong cửa ngõ sổ. Ma trận 2 chiều thu được là biểu thứ Spectrogram.

Thử trình diễn Spectrograms bằng code:

*
Nhìn vào biểu đồ gia dụng trên, chúng ta không thể thấy rõ được các thông tin về tần số, biên độ mà lại Spectrogram thể hiện. Điều này được phân tích và lý giải là do kĩ năng nhận thức âm nhạc của bé người. Hầu như những music mà họ nghe được đều triệu tập xung xung quanh một dải tần số với biên độ tương đối hẹp. Vày vậy, trong vô số nhiều bài toán (đặc biệt là dấn dạng giọng nói), Spectrogram ko phải là sự lựa chọn hoàn hảo. Do vậy ta đề nghị thêm vài bước tính nữa nhằm thu được dạng MFCC hoặc Mel Spectrogram, xuất sắc hơn, phổ biến hơn, tác dụng hơn Spectrogram.

Mel Spectrogram

Mel Scale

Các phân tích đã cho là con bạn không cảm thấy được tần số trên thang đo tuyến đường tính. Nhỏ người hoàn toàn có thể dễ dàng rành mạch được music với tần số thấp rộng tần số cao. Phần lớn con người rất có thể dễ dàng nhận biết sự khác hoàn toàn giữa âm thanh 100 Hz với 200 Hz nhưng lại khó nhận biết sự khác biệt giữa 2000 với 2100 Hz, khoác dù khoảng cách giữa hai bộ âm nhạc là như nhau. Đây là biện pháp con fan cảm nhận các tần số. Đây là điều khiến Mel Scale trở thành gốc rễ cơ bản trong những ứng dụng sản phẩm học đối với âm thanh, bởi nó bắt chước nhận thức của con fan về âm thanh.Sự biến hóa từ thang đo Hertz sang thang đo Mel như sau:
*

Decibel Scale

Trong thang đo này, 0 d
B là trọn vẹn im lặng. Từ bỏ đó, những đơn vị đo lường và tính toán tăng lên theo cấp số nhân. 10 d
B to hơn 10 lần đối với 0 d
B, trăng tròn d
B to hơn 100 lần với 30 d
B to hơn 1000 lần. Bên trên thang đo này, âm thanh trên 100 d
B ban đầu trở nên lớn tới cả không thể chịu đựng nổi.

*

Để xử lý âm thanh một biện pháp chân thực, giải pháp xử lý của Mel Spectrogram như sau:Tần số (trục y) được sửa chữa thay thế bằng giá trị Logarithmic của nó, gọi là Mel Scale.Biên độ được thay thế bằng giá trị Logarithmic của nó, điện thoại tư vấn là Decibel Scale để chỉ ra rằng màu sắc.Chúng ta thử vẽ lại Spectrogram nghỉ ngơi trên, sửa chữa tần số bởi Mel Scale:
*
Biểu thứ này biểu diễn tốt hơn Spectrograms, nhưng đa phần vẫn còn về tối và không có đủ tin tức hữu ích. Test sửa đổi nó để áp dụng Decibel Scale thay vì chưng Biên độ.
*
Đến đây thì tin tức của Audio vẫn được biểu đạt rất rõ ràng trên hình hình ảnh của Mel Spectrogram.

Xem thêm: Cách cài đặt network printer trên macbook, hướng dẫn cài máy in cho macbook đơn giản

Ngoài Mel Spectrogram, thì đặc trưng MFCC cũng thường xuyên được sử dụng để trích xuất đặc trưng âm thanh. Các chúng ta cũng có thể tìm phát âm kĩ rộng ở đây.

Kết luận

Ở bài xích này, mình đã trình diễn về một trong những đặc trưng âm nhạc thường được sử dụng trong việc Speech to Text. Bài tiếp sau mình sẽ trình bày về phương pháp tiếp cận các mô hình trong việc này. Cảm ơn các bạn đã đón đọc và xem tiếp bài của bản thân mình nhé.