Máy ghi âm ghi lại âm thanh hoặc giọng nói của một người và chuyển đổi thành tệp âm thanh. Tệp có thể được lưu trữ ở các định dạng âm thanh khác nhau như định dạng MP3, Tệp âm thanh dạng sóng [WAV], Mã hóa âm thanh nâng cao [AAC], Định dạng tệp trao đổi âm thanh [AIFF], v.v. và sau đó nó có thể được chuyển sang các thiết bị khác. Bất kỳ thiết bị nào có khả năng ghi lại âm thanh hoặc giọng nói đều được coi là máy ghi âm theo mặc định
Trong bài viết này, bạn sẽ học cách xây dựng một máy ghi âm với vài dòng mã trong Python
Chúng tôi sử dụng Máy ghi âm ở đâu?
Một số ứng dụng của máy ghi âm được liệt kê dưới đây,
- phỏng vấn
- xử lý các cuộc họp
- Bài giảng / hội thảo trong các tổ chức giáo dục
- Sách nói cho trẻ em
- Đang học ngoại ngư
- Dịch một từ sang ngôn ngữ khác
- Google tìm kiếm bằng giọng nói
- Tin nhắn thoại nhanh cho một người thay vì gõ
- Podcast
- Trợ lý giọng nói như trợ lý Google, Alexa, Siri, v.v. ,
Yếu tố cần thiết của Máy ghi âm bằng Python
Điều đầu tiên và quan trọng nhất cần thiết để xây dựng máy ghi âm bằng Python là 2 mô-đun Python cơ bản. Họ đang,
- mô-đun thiết bị âm thanh
- viết mô-đun từ scipy. io. tệp wav
Cài đặt
Hai mô-đun cần thiết để mã hóa máy ghi âm phải được cài đặt trước để sử dụng nó trong chương trình sau này. Nếu bạn đang sử dụng conda làm trình quản lý gói như Miniconda hoặc Anaconda cho HĐH như Linux, Windows hoặc macOS, thì bạn có thể cài đặt bằng kênh conda-forge. Lệnh cài đặt như sau,
conda install -c conda-forge python-sounddevice
Các mô-đun Python này cũng có thể được cài đặt bằng lệnh,
pip install sounddevice
hoặc
python -m pip install sounddevice
Việc cài đặt mô-đun SciPy trong thiết bị của bạn có thể được thực hiện bằng cách sử dụng lệnh sau,
pip install scipy
hoặc
python -m pip install scipy
Để gỡ cài đặt một mô-đun, hãy chỉ định lệnh là,
python3 -m pip uninstall sounddevice
mô-đun sounddevice để xây dựng Máy ghi âm bằng Python
Module sounddevice trong Python có chức năng phát và ghi tín hiệu âm thanh chứa trong mảng NumPy. Nó cũng có thể cung cấp các ràng buộc cho thư viện PortAudio
Nếu bạn cài đặt mô-đun sounddevice bằng lệnh pip ở trên trên Windows hoặc macOS, thì mô-đun này sẽ tự động cài đặt thư viện PortAudio trên thiết bị của bạn. Bạn cần cài đặt thư viện PortAudio với các gói khác theo cách thủ công, chỉ trên các Hệ điều hành khác chứ không phải các nền tảng được đề cập ở trên
scipy. io. tệp wav. viết mô-đun
Nó ghi mảng NumPy vào tệp WAV. Tệp WAV sẽ đơn giản và được nén. Nó nhận 3 tham số là tên tệp, tốc độ lấy mẫu và dữ liệu. Để tạo nhiều kênh, hãy sử dụng mảng hình dạng 2D
Một số chức năng được thực hiện bởi mô-đun này là,
- phát lại
- ghi âm
- Phát lại và ghi đồng thời
- Lựa chọn một thiết bị cụ thể
- Luồng gọi lại
- Chặn luồng đọc/ghi
Nhập mô-đun
Các mô-đun trên cần được nhập trước để trích xuất tất cả các tính năng của nó và được sử dụng bên trong chương trình của chúng tôi. Nó có thể được nhập với sự trợ giúp của các lệnh sau,
import sounddevice from scipy.io.wavfile import write
Ghi lại âm thanh
thiết bị âm thanh. rec[] từ mô-đun sounddevice được sử dụng để ghi dữ liệu âm thanh từ thiết bị âm thanh vào một mảng trong NumPy. Tần số lấy mẫu được lập trình viên ấn định là 44100 khung hình trên giây
Lệnh ghi lại âm thanh như sau,
record_voice = sounddevice.rec[ int[ second * fs ] , samplerate = fs , channels = 2 ]
trong đó giây → khoảng thời gian được thực hiện để ghi âm thanh
fs → tần số lấy mẫu
Quá trình ghi sẽ được thực hiện ở chế độ nền, vì vậy bạn có thể làm việc với các lệnh khác trong thời gian chờ đợi. Để kiểm tra xem quá trình ghi đã kết thúc hay chưa, hãy sử dụng lệnh như,
________số 8Theo mặc định, kiểu dữ liệu của mảng được ghi sẽ là float32, bạn có thể thay đổi kiểu dữ liệu bằng cách chỉ định lệnh là,
record_voice= sounddevice.rec[second* fs, dtype='float64']
Lựa chọn thiết bị
Người ta có thể có một hoặc nhiều thiết bị đầu vào và đầu ra được kết nối với máy tính của họ để người dùng muốn chọn một thiết bị từ danh sách các thiết bị được kết nối
Để lấy danh sách các thiết bị được kết nối với thiết bị của bạn, hãy sử dụng lệnh như
pip install sounddevice0
Để đặt một thiết bị cụ thể làm thiết bị mặc định, hãy sử dụng lệnh như
pip install sounddevice1
Viết vào một tệp
Âm thanh được ghi cuối cùng được ghi vào một tệp, nơi người ta có thể tìm nạp hoặc chia sẻ tệp đó để sử dụng trong tương lai. phương thức write[] trong Python được sử dụng để tạo một tệp có tên tệp được truyền dưới dạng đối số. Tên tệp phải được chỉ định với phần mở rộng của định dạng âm thanh để tệp không bị lỗi với đầu vào được cung cấp
Lệnh ghi đầu ra vào một tệp như sau,
pip install sounddevice2
ở đâu ra. wav là tên của tệp đầu ra. Tệp đầu ra này sẽ được lưu trong cùng thư mục lưu mã chương trình
Các phương thức khác trong mô-đun sounddevice
Một số chức năng được xử lý bởi mô-đun sounddevice trong Python là,
Cách sử dụng
Tên chức năng
Mô tả chức năng
Thiết bị âm thanh phát lại. play[ myarray , fs ] Hàm này phát dữ liệu âm thanh có trong một mảng NumPy. Nó cũng phát âm thanh trong nền. thiết bị âm thanh. stop[] Nó dừng phát lại. thiết bị âm thanh. wait[] Nó đợi cho đến khi quá trình phát lại kết thúc. ghi âmrecord_voice = sounddevice. rec[int[giây * fs], tốc độ lấy mẫu=fs, kênh=2]
Ghi lại âm thanh được cung cấp dưới dạng đầu vào. Thiết bị phát lại và ghi âm đồng thời. playrec[myarray,fs,channels=2]Ghi và phát lại dữ liệu âm thanh cùng một lúc. Stream Callbackget_status[] Cho kết quả về trạng thái của thiết bị, đang ghi hay đã ghi xong. get_stream[] Kết quả là một luồng cho dù thiết bị nằm trong luồng Đầu vào hay thiết bị nằm trong luồng Đầu ra. Chặn LuồngLuồng. read[] Nó chặn luồng đọc. Dòng. write[] Nó chặn luồng ghiXây dựng máy ghi âm bằng Python
pip install sounddevice3
Sự kết luận
Hy vọng các bạn đã tìm thấy một bài viết dễ dàng và nhiều thông tin về cách tạo Máy ghi âm với sự trợ giúp của Python. Cảm ơn đã dành thời gian quý báu của bạn ở đây
học tập vui vẻ
Tình yêu chinh phục tất cả…
Thông tin về các Tác giả
Am Venkatalakshmi Subramaniam đến từ Manchester của Nam Ấn Độ, là một blogger đam mê, tác giả đồng thời là nghiên cứu sinh tiến sĩ háo hức học hỏi những điều mới hàng ngày.
Kết nối với tôi qua
LinkedIn. https. //www. linkin. com/in/venkatalakshmi-subramaniam-6ab4401a9/
Twitter. https. //twitter. com/Venkat1144
Github. https. //github. com/VenkatalakshmiS
Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của Tác giả