Khuếch đại âm thanh Python

Trước khi thảo luận về phân tích dữ liệu âm thanh, điều quan trọng là phải tìm hiểu một số khái niệm dựa trên vật lý về âm thanh và âm thanh, như định nghĩa của nó và các thông số như biên độ, bước sóng, tần số, khoảng thời gian, cường độ pha, v.v. Dưới đây là một số khái niệm và phương trình toán học

Định nghĩa về âm thanh [âm thanh]
Âm thanh là một dạng năng lượng được tạo ra bởi sự rung động của một vật thể, chẳng hạn như sự thay đổi áp suất không khí, do đó âm thanh được tạo ra. Sự thay đổi áp suất này làm cho các phân tử không khí dao động

sóng cơ học
Dao động du lịch trong không gian;
Năng lượng được yêu cầu từ điểm này đến điểm khác;
Phương tiện là bắt buộc

Khi chúng tôi nhận được dữ liệu âm thanh do bất kỳ nguồn nào tạo ra, bộ não của chúng tôi sẽ xử lý dữ liệu này và thu thập một số thông tin. Dữ liệu âm thanh có thể ở định dạng có cấu trúc phù hợp và bộ não của chúng ta có thể hiểu mẫu của từng từ tương ứng với từ đó và tạo hoặc mã hóa dữ liệu có thể hiểu được ở dạng văn bản thành dạng sóng. Từ sóng đó, dữ liệu số được thu thập dưới dạng tần số

Dữ liệu âm thanh của chúng tôi ở dạng khác nhau

  1. Định dạng Wav [tệp âm thanh dạng sóng]

  2. Định dạng MP3 [MPEG-1 audio layer-3]

  3. Định dạng WMA [âm thanh phương tiện windows]

Dưới đây là dạng sóng tương ứng mà chúng tôi nhận được từ biểu đồ dữ liệu âm thanh

Dạng sóng trên này mang

Bây giờ chúng ta thấy sóng âm thanh của chúng ta được biểu diễn như thế nào theo cách toán học

Y[t]=Asin[2πft+Q]

biên độ
Biên độ được định nghĩa là khoảng cách từ khoảng cách tối đa và tối thiểu
Trong phương trình trên, biên độ được biểu diễn bằng A

bước sóng
Bước sóng được định nghĩa là tổng khoảng cách mà một hạt đi được trong một khoảng thời gian

Giai đoạn
Pha được định nghĩa là vị trí của sóng tính từ điểm cân bằng tại thời điểm t=0

Bây giờ chúng ta sẽ xem xét một số thuật ngữ quan trọng như cường độ, độ to và âm sắc

công suất=2*pi*F/T

  1. Tốc độ truyền năng lượng

  2. Năng lượng do nguồn âm phát ra theo mọi phương trong một đơn vị thời gian

  3. Nó được đo bằng watt/m^2

Điều này còn được gọi là cường độ âm thanh hoặc độ to

Cường độ được đo bằng các thang đo khác nhau

  1. Thang logarit

  2. decibel

  3. Tỷ lệ giữa hai giá trị cường độ

  4. Sử dụng tần số tham chiếu

db[T]=10*log10[I1/I2]

Trong đó I1 và I2 là hai mức cường độ

âm sắc

Âm sắc mô tả chất lượng của âm thanh. Giống như chúng ta thấy trong bản đồ nhiệt, có các màu khác nhau cho các mức giá trị khác nhau. Nếu chúng ta có các âm thanh khác nhau trong một tệp thì âm sắc sẽ dễ dàng phân tích tất cả âm thanh trên một biểu đồ đồ họa trên cơ sở thư viện

  1. Âm sắc đa chiều

  2. phong bì âm thanh

  3. nội dung hài hòa

  4. Biên độ, tần số, biến điệu

Mô hình tấn công-phân rã-duy trì-giải phóng;

Dữ liệu trên ở dạng tín hiệu tương tự;

Có rất nhiều kỹ thuật để phân tích dữ liệu, như thống kê và đồ họa. Ở đây chúng ta thấy cách đồ họa để thực hiện phân tích dữ liệu

quang phổ

Sử dụng biểu đồ phổ, chúng tôi biểu thị cường độ âm thanh hoặc tiếng ồn của dữ liệu âm thanh theo tần số và thời gian. Trên tiền đề của các giá trị tần số đó, chúng tôi chỉ định một dải màu, với các giá trị thấp hơn là màu sáng hơn và các giá trị tần số cao là màu tối hơn. Một quang phổ có thể là một loại bản đồ nhiệt

Dưới đây là mã cho một quang phổ

1
2
3
4
5
6
7
8
import librosa
audio = 'training\\00003.wav'
x, sr = librosa.load[audio]
X = librosa.stft[x]
Xdb = librosa.amplitude_to_db[abs[X]]
plt.figure[figsize = [10, 5]]
librosa.display.specshow[Xdb, sr = sr, x_axis = 'time', y_axis = 'hz']
plt.colorbar[]

trích xuất tính năng

Tất cả dữ liệu âm thanh có các tính năng như âm lượng, cường độ, pha biên độ và vận tốc góc. Tuy nhiên, chúng tôi sẽ chỉ trích xuất thông tin hữu ích hoặc có liên quan. Trích xuất tính năng là trích xuất các tính năng để sử dụng chúng để phân tích

Có rất nhiều thư viện trong python để phân tích dữ liệu âm thanh như

  1. Librosa

  2. con mãng xà. trưng bày. âm thanh

  3. Spacy, v.v.

Tâm sóng

Trong bất kỳ lần phát âm thanh nào, chúng tôi có thể thấy dữ liệu âm thanh/âm thanh hoàn chỉnh của mình tập trung vào một điểm hoặc ý nghĩa cụ thể. Đây được gọi là tâm sóng. Nói cách khác, khối trung tâm của dữ liệu âm thanh

Dưới đây là code của chương trình

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import sklearn
spectral_centroids = librosa.feature.spectral_centroid[x, sr = sr][0]
spectral_centroids.shape[775, ]
# Computing the time variable
for visualization
plt.figure[figsize = [12, 4]]
frames = range[len[spectral_centroids]]
t = librosa.frames_to_time[frames]
# Normalising the spectral centroid
for visualisation
def normalize[x, axis = 0]:
  return sklearn.preprocessing.minmax_scale[x, axis = axis]
#Plotting the Spectral Centroid along the waveform
librosa.display.waveplot[x, sr = sr, alpha = 0.4]
plt.plot[t, normalize[spectral_centroids], color = 'b']

Rolloff quang phổ

Trong phương pháp này, chúng tôi cố gắng phân tích dạng sóng trong đó tần số của chúng tôi giảm đột ngột từ cao xuống 0. Trong ngôn ngữ của phép tính, chúng ta có thể nói rằng có một điểm không thể phân biệt trong dạng sóng của chúng ta

Chủ Đề