Đầu ra bản ghi Python-sounddevice

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,

  1. mô-đun thiết bị âm thanh
  2. 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ố 8

Theo 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 sounddevice
0

Để đặ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 sounddevice
1

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 sounddevice
2

ở đâ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 âm

record_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 ghi

Xây dựng máy ghi âm bằng Python

pip install sounddevice
3

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ả

Chủ Đề