Làm cách nào để đọc tín hiệu âm thanh trong Python?

Lời nói là hình thức giao tiếp chính của con người và cũng là một phần quan trọng để hiểu hành vi và nhận thức. Nhận dạng giọng nói trong Trí tuệ nhân tạo là một kỹ thuật được triển khai trên các chương trình máy tính cho phép chúng hiểu các từ được nói

Là hình ảnh, video, âm thanh cũng là tín hiệu tương tự mà con người cảm nhận được thông qua các giác quan

Đối với máy móc, để sử dụng thông tin này, nó cần được lưu trữ dưới dạng tín hiệu số và được phân tích thông qua phần mềm. Việc chuyển đổi từ analog sang kỹ thuật số bao gồm hai quá trình dưới đây

  1. Lấy mẫu. Đây là một thủ tục được sử dụng để chuyển đổi tín hiệu thay đổi theo thời gian [thay đổi theo thời gian] s[t] thành một cấp số rời rạc của các số thực x[n]. Chu kỳ lấy mẫu [Ts] là thuật ngữ xác định khoảng thời gian giữa hai mẫu rời rạc liên tiếp. Tần suất lấy mẫu [fs = 1/Ts] là nghịch đảo của chu kỳ lấy mẫu. Các tần số lấy mẫu phổ biến là 8 kHz, 16 kHz và 44. 1kHz. Tốc độ lấy mẫu 1 Hz có nghĩa là một mẫu mỗi giây và do đó tốc độ lấy mẫu cao có nghĩa là chất lượng tín hiệu tốt hơn
  2. lượng tử hóa. Đây là quá trình thay thế mọi số thực được tạo bằng cách lấy mẫu bằng một giá trị gần đúng để thu được độ chính xác hữu hạn [được xác định trong một phạm vi bit]. Trong phần lớn các tình huống, 16 bit trên mỗi mẫu được sử dụng để biểu diễn một mẫu lượng tử hóa duy nhất. Do đó, các mẫu âm thanh thô thường có dải tín hiệu từ -215 đến 215 mặc dù trong quá trình phân tích, các giá trị này được chuẩn hóa thành dải [-1, 1] để xác thực và đào tạo mô hình đơn giản hơn. Độ phân giải mẫu luôn được đo bằng bit trên mỗi mẫu

Một hệ thống Nhận dạng giọng nói chung được thiết kế để thực hiện các tác vụ được đề cập bên dưới và có thể dễ dàng tương quan với kiến ​​trúc phân tích dữ liệu tiêu chuẩn

  1. Nắm bắt lời nói [từ, câu, cụm từ] do con người đưa ra. Bạn có thể coi đây là phần Thu thập dữ liệu của bất kỳ quy trình Machine Learning chung nào
  2. Chuyển đổi tần số âm thanh để sẵn sàng cho máy. Quá trình này là phần tiền xử lý dữ liệu, nơi chúng tôi làm sạch các tính năng của dữ liệu để máy xử lý dữ liệu đó
  3. Ứng dụng Xử lý ngôn ngữ tự nhiên [NLP] trên dữ liệu thu được để hiểu nội dung lời nói
  4. Tổng hợp các từ đã nhận dạng để giúp máy nói một phương ngữ tương tự

Xử lý Tín hiệu Lời nói [Âm thanh]. Hình ảnh của tác giả

Hãy để chúng tôi đi qua tất cả các bước này và xử lý từng bước một, một cách chi tiết, với mã giả tương ứng. Ngoài ra, trước khi chúng ta bắt đầu, bên dưới là một liên kết đến kho lưu trữ mã hoàn chỉnh sẽ hữu ích để xem qua cùng với hướng dẫn này

rjrahul24/ai-with-python-series

Chuỗi hướng dẫn về Python nhằm tìm hiểu các khái niệm về Trí tuệ nhân tạo. Loạt bài hướng dẫn này bắt đầu từ…

github. com

Bước 1. Đọc tệp cho tín hiệu âm thanh

Tệp I/O bằng Python [scipy. i]. SciPy có nhiều phương thức thực hiện thao tác tệp trong Python. Mô-đun I/O bao gồm các phương thức read[filename[, mmap]] và write[filename, rate, data] được sử dụng để đọc từ một. wav và viết một mảng NumPy ở dạng. tập tin wav. Chúng tôi sẽ sử dụng các phương pháp này để đọc và ghi các định dạng tệp âm thanh [âm thanh]

Bước đầu tiên để bắt đầu thuật toán nhận dạng giọng nói là tạo một hệ thống có thể đọc các tệp chứa âm thanh [. sóng,. mp3, v.v. ] và hiểu thông tin có trong các tệp này. Python có các thư viện mà chúng ta có thể sử dụng để đọc từ các tệp này và diễn giải chúng để phân tích. Mục đích của bước này là trực quan hóa tín hiệu âm thanh dưới dạng điểm dữ liệu có cấu trúc

  • ghi âm. Bản ghi là một tệp chúng tôi cung cấp cho thuật toán làm đầu vào của thuật toán. Sau đó, thuật toán sẽ làm việc trên đầu vào này để phân tích nội dung của nó và xây dựng mô hình nhận dạng giọng nói. Đây có thể là tệp đã lưu hoặc bản ghi trực tiếp, Python cho phép cả hai
  • Lấy mẫu. Tất cả các tín hiệu của bản ghi được lưu trữ theo cách số hóa. Các chữ ký điện tử này rất khó để phần mềm hoạt động vì máy chỉ hiểu đầu vào số. Lấy mẫu là kỹ thuật được sử dụng để chuyển đổi các tín hiệu số này thành dạng số rời rạc. Việc lấy mẫu được thực hiện ở một tần số nhất định và nó tạo ra các tín hiệu số. Việc chọn các mức tần số phụ thuộc vào cảm nhận của con người về âm thanh. Chẳng hạn, chọn tần số cao ngụ ý rằng nhận thức của con người về tín hiệu âm thanh đó là liên tục
# Using IO module to read Audio Files
from scipy.io import wavfile
freq_sample, sig_audio = wavfile.read["/content/Welcome.wav"]
# Output the parameters: Signal Data Type, Sampling Frequency and Duration
print['\nShape of Signal:', sig_audio.shape]
print['Signal Datatype:', sig_audio.dtype]
print['Signal duration:', round[sig_audio.shape[0] / float[freq_sample], 2], 'seconds']
>>> Shape of Signal: [645632,]
>>> Signal Datatype: int16
>>> Signal duration: 40.35 seconds
# Normalize the Signal Value and Plot it on a graph
pow_audio_signal = sig_audio / np.power[2, 15]
pow_audio_signal = pow_audio_signal [:100]
time_axis = 1000 * np.arange[0, len[pow_audio_signal], 1] / float[freq_sample]
plt.plot[time_axis, pow_audio_signal, color='blue']

Hình ảnh của tác giả

Đây là đại diện của biên độ âm thanh của tệp đầu vào so với thời lượng phát của nó. Chúng tôi đã trích xuất thành công dữ liệu số từ âm thanh [. wav] tập tin

Bước 2. Chuyển đổi tần số âm thanh

Biểu diễn tín hiệu âm thanh mà chúng ta đã thực hiện trong phần đầu tiên biểu diễn tín hiệu âm thanh trong miền thời gian. Nó cho thấy cường độ [độ to hoặc biên độ] của sóng âm thanh theo thời gian. Các phần có biên độ = 0, đại diện cho sự im lặng

Về mặt kỹ thuật âm thanh, biên độ = 0 là âm thanh của các phần tử không khí tĩnh hoặc chuyển động khi không có âm thanh nào khác trong môi trường

Biểu diễn miền tần số. Để hiểu rõ hơn về tín hiệu âm thanh, cần xem xét nó qua miền tần số. Biểu diễn tín hiệu âm thanh này sẽ cung cấp cho chúng tôi thông tin chi tiết về sự hiện diện của các tần số khác nhau trong tín hiệu. Biến đổi Fourier là một khái niệm toán học có thể được sử dụng trong việc chuyển đổi tín hiệu liên tục từ trạng thái miền thời gian ban đầu sang trạng thái miền tần số. Chúng tôi sẽ sử dụng Biến đổi Fourier [FT] trong Python để chuyển đổi tín hiệu âm thanh thành biểu diễn tập trung vào tần số

Biến đổi Fourier trong Python. Biến đổi Fourier là một khái niệm toán học có thể phân tách tín hiệu này và đưa ra các tần số riêng lẻ. Điều này rất quan trọng để hiểu tất cả các tần số được kết hợp với nhau để tạo thành âm thanh mà chúng ta nghe thấy. Biến đổi Fourier [FT] cung cấp tất cả các tần số có trong tín hiệu và cũng cho biết độ lớn của từng tần số

Tất cả các tín hiệu âm thanh bao gồm một tập hợp nhiều sóng âm đơn tần di chuyển cùng nhau và tạo ra nhiễu loạn trong môi trường chuyển động, chẳng hạn như một căn phòng. Thu âm thanh về cơ bản là thu các biên độ mà các sóng này tạo ra trong không gian

NumPy [np. fft. fft]. Hàm NumPy này cho phép chúng tôi tính toán Biến đổi Fourier rời rạc 1-D. Hàm sử dụng thuật toán Biến đổi Fourier nhanh [FFT] để chuyển đổi một chuỗi đã cho thành Biến đổi Fourier rời rạc [DFT]. Trong tệp chúng tôi đang xử lý, chúng tôi có một chuỗi biên độ được lấy từ tệp âm thanh, ban đầu được lấy mẫu từ tín hiệu liên tục. Chúng tôi sẽ sử dụng chức năng này để chuyển đổi miền thời gian này thành tín hiệu miền tần số rời rạc

Chuyển đổi tín hiệu âm thanh từ miền thời gian sang miền tần số. Hình ảnh của tác giả

Bây giờ chúng ta hãy xem qua một số mã để triển khai Biến đổi Fourier thành tín hiệu Âm thanh với mục đích biểu thị âm thanh theo cường độ của nó [decibel [dB]]

# Working on the same input file
# Extracting the length and the half-length of the signal to input to the foruier transform
sig_length = len[sig_audio]
half_length = np.ceil[[sig_length + 1] / 2.0].astype[np.int]
# We will now be using the Fourier Transform to form the frequency domain of the signal
signal_freq = np.fft.fft[sig_audio]
# Normalize the frequency domain and square it
signal_freq = abs[signal_freq[0:half_length]] / sig_length
signal_freq **= 2
transform_len = len[signal_freq]
# The Fourier transformed signal now needs to be adjusted for both even and odd cases
if sig_length % 2:
signal_freq[1:transform_len] *= 2
else:
signal_freq[1:transform_len-1] *= 2
# Extract the signal's strength in decibels [dB]
exp_signal = 10 * np.log10[signal_freq]
x_axis = np.arange[0, half_length, 1] * [freq_sample / sig_length] / 1000.0
plt.plot[x_axis, exp_signal, color='green', linewidth=1]

Hình ảnh của tác giả

Với điều này, chúng tôi có thể áp dụng Biến đổi Fourier cho tệp đầu vào Âm thanh và sau đó thấy biểu diễn miền tần số [tần số theo cường độ tín hiệu] của âm thanh

Bước 3. Trích xuất các tính năng từ lời nói

Khi bài phát biểu được chuyển từ tín hiệu miền thời gian sang tín hiệu miền tần số, bước tiếp theo là chuyển đổi dữ liệu miền tần số này thành một vectơ đặc trưng có thể sử dụng được. Trước khi bắt đầu điều này, chúng ta phải biết về một khái niệm mới gọi là MFCC

Hệ số Cepstral tần số Mel [MFCC]

MFCC là một kỹ thuật được thiết kế để trích xuất các tính năng từ tín hiệu âm thanh. Nó sử dụng thang MEL để phân chia các dải tần của tín hiệu âm thanh và sau đó trích xuất các hệ số từ từng dải tần riêng lẻ, do đó, tạo ra sự phân tách giữa các tần số. MFCC sử dụng Biến đổi Cosin rời rạc [DCT] để thực hiện thao tác này. Thang đo MEL được thiết lập dựa trên nhận thức của con người về âm thanh, tôi. e. , cách bộ não con người xử lý tín hiệu âm thanh và phân biệt giữa các tần số khác nhau. Chúng ta hãy xem sự hình thành của thang đo MEL bên dưới

  • Nhận thức âm thanh giọng nói của con người. Một người trưởng thành, có khả năng nghe cơ bản nằm trong khoảng từ 85 Hz đến 255 Hz và điều này có thể được phân biệt rõ hơn giữa các giới tính [85 Hz đến 180 Hz đối với Nam và 165 Hz đến 255 Hz đối với nữ]. Trên các tần số cơ bản này, còn có các sóng hài mà tai người xử lý. Sóng hài là phép nhân của tần số cơ bản. Đây là các phép nhân đơn giản, chẳng hạn, hài thứ hai của tần số 100 Hz sẽ là 200 Hz, hài thứ ba sẽ là 300 Hz, v.v.

Phạm vi nghe sơ bộ của con người là 20Hz đến 20KHz và cảm nhận âm thanh này cũng không tuyến tính. Chúng ta có thể phân biệt âm thanh tần số thấp tốt hơn so với âm thanh tần số cao. Ví dụ: chúng ta có thể nói rõ ràng sự khác biệt giữa tín hiệu 100Hz và 200Hz nhưng không thể phân biệt giữa 15000 Hz và 15100 Hz. Để tạo các âm có tần số khác nhau, chúng ta có thể sử dụng chương trình trên hoặc sử dụng công cụ này

  • Thang MEL. Stevens, Volkmann và Newmann đã đề xuất một cao độ vào năm 1937 giới thiệu thang đo MEL ra thế giới. Đó là thang đo cao độ [thang đo tín hiệu âm thanh với các mức cao độ khác nhau] được con người đánh giá trên cơ sở bằng nhau về khoảng cách. Về cơ bản nó là một thang đo bắt nguồn từ nhận thức của con người. Ví dụ, nếu bạn tiếp xúc với hai nguồn âm thanh cách xa nhau, bộ não sẽ cảm nhận được khoảng cách giữa các nguồn âm thanh này mà không thực sự nhìn thấy chúng. Thang đo này dựa trên cách con người chúng ta đo khoảng cách tín hiệu âm thanh bằng thính giác. Bởi vì nhận thức của chúng tôi là phi tuyến tính, khoảng cách trên thang đo này tăng theo tần suất
  • Ngân hàng bộ lọc khoảng cách MEL. Để tính công suất [độ mạnh] của mọi dải tần, bước đầu tiên là phân biệt các dải đặc trưng khác nhau có sẵn [được thực hiện bởi MFCC]. Khi các sự phân tách này được thực hiện, chúng tôi sử dụng các ngân hàng bộ lọc để tạo các phân vùng theo tần số và phân tách chúng. Ngân hàng bộ lọc có thể được tạo bằng cách sử dụng bất kỳ tần suất được chỉ định nào cho các phân vùng. Khoảng cách giữa các bộ lọc trong ngân hàng bộ lọc tăng theo cấp số nhân khi tần số tăng. Trong phần mã, chúng ta sẽ xem cách tách các dải tần

Toán học của MFCC và ngân hàng bộ lọc

MFCC và việc tạo ra các ngân hàng bộ lọc đều được thúc đẩy bởi bản chất của tín hiệu âm thanh và bị ảnh hưởng bởi cách con người cảm nhận âm thanh. Nhưng quá trình xử lý này cũng đòi hỏi rất nhiều tính toán toán học đằng sau hậu trường trong quá trình thực hiện. Python trực tiếp cung cấp cho chúng ta các phương thức để xây dựng bộ lọc và thực hiện chức năng MFCC trên âm thanh nhưng chúng ta hãy xem qua phép toán đằng sau các chức năng này

Ba mô hình toán học riêng biệt đi vào quá trình xử lý này là Biến đổi Cosine rời rạc [DCT], được sử dụng để khử tương quan của các hệ số ngân hàng bộ lọc, còn được gọi là làm trắng âm thanh và Mô hình hỗn hợp Gaussian - Mô hình Markov ẩn [GMM-HMM] là

Mặc dù, ngày nay, khi chi phí tính toán đã giảm [nhờ Điện toán đám mây], các hệ thống giọng nói học sâu ít bị nhiễu hơn, được sử dụng trên các kỹ thuật này

DCT là một thuật toán biến đổi tuyến tính và do đó nó sẽ loại bỏ rất nhiều tín hiệu hữu ích, do âm thanh có tính phi tuyến tính cao

# Installing and importing necessary libraries
pip install python_speech_features
from python_speech_features import mfcc, logfbank
sampling_freq, sig_audio = wavfile.read["Welcome.wav"]
# We will now be taking the first 15000 samples from the signal for analysis
sig_audio = sig_audio[:15000]
# Using MFCC to extract features from the signal
mfcc_feat = mfcc[sig_audio, sampling_freq]
print['\nMFCC Parameters\nWindow Count =', mfcc_feat.shape[0]]
print['Individual Feature Length =', mfcc_feat.shape[1]]
>>> MFCC Parameters Window Count = 93
>>> Individual Feature Length = 13
mfcc_feat = mfcc_feat.T
plt.matshow[mfcc_feat]

Các đường màu vàng nằm ngang đầu tiên bên dưới mỗi phân đoạn là tần số cơ bản và ở mức mạnh nhất của chúng. Phía trên đường màu vàng là các sóng hài có cùng khoảng cách tần số giữa chúng. . Hình ảnh của tác giả
# Generating filter bank features
fb_feat = logfbank[sig_audio, sampling_freq]
print['\nFilter bank\nWindow Count =', fb_feat.shape[0]]
print['Individual Feature Length =', fb_feat.shape[1]]
>>> Filter bank Window Count = 93
>>> Individual Feature Length = 26
fb_feat = fb_feat.T
plt.matshow[fb_feat]

Hình ảnh của tác giả

Nếu chúng ta thấy hai bản phân phối, rõ ràng là bản phân phối âm thanh tần số thấp và tần số cao được tách biệt trong hình ảnh thứ hai

MFCC, cùng với ứng dụng của Filter Banks là một thuật toán tốt để tách tín hiệu tần số cao và thấp. Điều này đẩy nhanh quá trình phân tích vì chúng tôi có thể cắt tín hiệu âm thanh thành hai hoặc nhiều phân đoạn riêng biệt và phân tích riêng chúng dựa trên tần số của chúng

Bước 4. Nhận biết lời nói

Nhận dạng giọng nói là quá trình hiểu giọng nói của con người và chuyển nó thành văn bản trong máy. Có một số thư viện có sẵn để xử lý lời nói thành văn bản, cụ thể là Bing Speech, Google Speech, Houndify, IBM Speech to Text, v.v. Chúng tôi sẽ sử dụng thư viện Google Speech để chuyển đổi Lời nói thành Văn bản

API bài phát biểu của Google

Thông tin thêm về API Google Speech có thể được đọc từ Trang Google Cloud và trang PyPi Nhận dạng Giọng nói. Một vài tính năng chính mà Google Speech API có khả năng là điều chỉnh giọng nói. Điều này có nghĩa là API hiểu miền của bài phát biểu. Chẳng hạn, tiền tệ, địa chỉ, năm đều được quy định trong quá trình chuyển đổi lời nói thành văn bản. Có các lớp dành riêng cho miền được xác định trong thuật toán nhận ra những lần xuất hiện này trong lời nói đầu vào. API hoạt động với cả tệp tại chỗ, tệp được ghi trước cũng như bản ghi trực tiếp trên micrô trong môi trường làm việc hiện tại. Chúng tôi sẽ phân tích lời nói trực tiếp thông qua đầu vào microphonic trong phần tiếp theo

Luồng kiến ​​trúc của Google Speech API. Hình ảnh của tác giả
  1. Làm việc với micrô. Gói mã nguồn mở PyAudio cho phép chúng tôi ghi lại âm thanh trực tiếp qua micrô đi kèm và phân tích âm thanh đó bằng Python trong thời gian thực. Việc cài đặt PyAudio sẽ khác nhau tùy theo hệ điều hành [phần giải thích cài đặt được đề cập trong phần mã bên dưới]
  2. Lớp micrô. Ví dụ của. lớp microphone[] có thể được sử dụng với Trình nhận dạng giọng nói để ghi lại âm thanh trực tiếp trong thư mục làm việc. Để kiểm tra xem hệ thống có sẵn micrô hay không, hãy sử dụng phương thức tĩnh list_microphone_names. Để sử dụng bất kỳ micrô nào có sẵn được liệt kê, hãy sử dụng phương thức device_index [Triển khai được hiển thị trong mã bên dưới]
  3. Chụp đầu vào micrô. Hàm listen[] được sử dụng để ghi lại đầu vào được cung cấp cho micrô. Tất cả các tín hiệu âm thanh mà micrô đã chọn nhận được, được lưu trữ trong biến gọi hàm listen[]. Phương pháp này tiếp tục ghi cho đến khi phát hiện tín hiệu im lặng [ 0 biên độ]
  4. Giảm tiếng ồn xung quanh. Bất kỳ môi trường chức năng nào cũng dễ có tiếng ồn xung quanh sẽ cản trở việc ghi âm. Do đó, phương thức điều chỉnh_for_ambient_noise[] trong lớp Trình nhận dạng giúp tự động loại bỏ tiếng ồn xung quanh khỏi bản ghi
  5. Nhận dạng âm thanh. Quy trình nhận dạng giọng nói bên dưới giải thích phần sau khi xử lý tín hiệu trong đó API thực hiện các tác vụ như sửa ngữ nghĩa và cú pháp, hiểu miền âm thanh, ngôn ngữ nói và cuối cùng tạo đầu ra bằng cách chuyển đổi lời nói thành văn bản. Bên dưới, chúng ta cũng sẽ thấy việc triển khai API nhận dạng giọng nói của Google bằng cách sử dụng lớp Micrô
# Install the SpeechRecognition and pipwin classes to work with the Recognizer[] class
pip install SpeechRecognition
pip install pipwin
# Below are a few links that can give details about the PyAudio class we will be using to read direct microphone input into the Jupyter Notebook
# //anaconda.org/anaconda/pyaudio
# //www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio
# To install PyAudio, Run in the Anaconda Terminal CMD: conda install -c anaconda pyaudio
# Pre-requisite for running PyAudio installation - Microsoft Visual C++ 14.0 or greater will be required. Get it with "Microsoft C++ Build Tools" : //visualstudio.microsoft.com/visual-cpp-build-tools/
# To run PyAudio on Colab, please install PyAudio.whl in your local system and give that path to colab for installation
pip install pyaudio
import speech_recognition as speech_recog
# Creating a recording object to store input
rec = speech_recog.Recognizer[]
# Importing the microphone class to check availabiity of microphones
mic_test = speech_recog.Microphone[]
# List the available microphones
speech_recog.Microphone.list_microphone_names[]
# We will now directly use the microphone module to capture voice input. Specifying the second microphone to be used for a duration of 3 seconds. The algorithm will also adjust given input and clear it of any ambient noisewith speech_recog.Microphone[device_index=1] as source:
rec.adjust_for_ambient_noise[source, duration=3]
print["Reach the Microphone and say something!"]
audio = rec.listen[source]
>>> Reach the Microphone and say something!# Use the recognize function to transcribe spoken words to text
try:
print["I think you said: \n" + rec.recognize_google[audio]]
except Exception as e:
print[e]
>>> I think you said:
>>> hi hello hello hello

Với điều này, chúng tôi kết thúc bài viết Phân tích âm thanh và nhận dạng giọng nói của chúng tôi. Tôi vẫn khuyên bạn nên xem qua các liên kết được đề cập trong phần Tài liệu tham khảo và kho lưu trữ mã được liên kết ở đầu câu chuyện để có thể theo dõi từng bước

ĐÓ LÀ MỘT BỌC

Phần kết luận

Nhận dạng giọng nói là một khái niệm AI cho phép máy nghe giọng nói của con người và phiên âm văn bản từ đó. Mặc dù về bản chất phức tạp, các trường hợp sử dụng xoay quanh Nhận dạng giọng nói có rất nhiều. Từ việc giúp những người dùng có khả năng khác nhau truy cập vào máy tính đến máy trả lời tự động, thuật toán Nhận dạng giọng nói tự động [ASR] đang được nhiều ngành sử dụng ngày nay. Chương này đã giới thiệu ngắn gọn về kỹ thuật phân tích âm thanh và chỉ ra một số kỹ thuật thao tác cơ bản để làm việc với âm thanh. Mặc dù không chi tiết, nhưng nó sẽ giúp tạo ra một bức tranh tổng thể về cách hoạt động của phân tích giọng nói trong thế giới AI

Ảnh của 수안 최 trên Bapt

Về tôi

Tôi là Rahul, hiện đang nghiên cứu Trí tuệ nhân tạo và triển khai Phân tích dữ liệu lớn trên Xbox Games. tôi làm việc với Microsoft. Ngoài công việc chuyên môn, tôi cũng đang cố gắng xây dựng một chương trình liên quan đến việc tìm hiểu cách thức cải thiện tình hình kinh tế ở các quốc gia đang phát triển trên thế giới bằng cách sử dụng AI

Hiện tại tôi đang ở Đại học Columbia ở New York và bạn có thể tự do kết nối với tôi trên LinkedIn trên Twitter

Làm cách nào để đọc âm thanh trong Python?

open[] Hàm này mở tệp để đọc/ghi dữ liệu âm thanh. Hàm cần hai tham số - đầu tiên là tên tệp và thứ hai là chế độ. Chế độ có thể là 'wb' để ghi dữ liệu âm thanh hoặc 'rb' để đọc.

Bạn có thể phát âm thanh qua Python không?

Kết luận. Phát và ghi âm thanh bằng Python . Phát nhiều định dạng âm thanh, bao gồm mảng WAV, MP3 và NumPy . Ghi âm thanh từ micrô của bạn vào mảng NumPy hoặc Python. Lưu trữ âm thanh đã ghi của bạn ở nhiều định dạng khác nhau, bao gồm WAV và MP3.

Làm cách nào để xử lý dữ liệu âm thanh Python?

Khái niệm cơ bản về xử lý âm thanh trong Python .
Đọc và ghi các tệp âm thanh ở các định dạng khác nhau [WAV, MP3, WMA, v.v. ]
Phát âm thanh trên máy tính của bạn
Thể hiện âm thanh dưới dạng sóng và xử lý nó. lọc, lấy mẫu lại, xây dựng phổ, v.v.

Làm cách nào để đọc âm thanh từ mic trong Python?

Nhận đầu vào bằng giọng nói từ người dùng trong Python bằng PyAudio – speech_recognizer .
Lấy đầu vào từ mic
Chuyển đổi giọng nói hoặc lời nói thành văn bản
Lưu trữ văn bản trong một biến/hoặc bạn có thể trực tiếp lấy nó làm đầu vào của người dùng

Chủ Đề