Làm cách nào để thu âm thanh bằng Python?


7

Đặc biệt hơn: Làm cách nào tôi có thể sử dụng python với ALSA để ghi âm đầu vào?

Tôi đang suy nghĩ về việc thực hiện một bộ phân tích phổ dựa trên oled cho máy nghe nhạc dựa trên Pi. Một phần của giải pháp là đọc âm thanh hiện đang phát. Tôi đã thử điều này bằng ALSA trong Python:

import alsaaudio
inp = alsaaudio.PCM(alsaaudio.PCM_CAPTURE, alsaaudio.PCM_NONBLOCK)

Tại thời điểm này, kịch bản chết:

alsaaudio.ALSAAudioError: Không có tệp hoặc thư mục như vậy

Thêm một thẻ như thế này cũng không hoạt động:

card = 'sysdefault:CARD=ALSA'
inp = alsaaudio.PCM(alsaaudio.PCM_CAPTURE, alsaaudio.PCM_NONBLOCK, card)

Tôi đã thấy nhiều bài viết liên quan trên raspbian, nhưng không có giải pháp.


Câu trả lời:


4

Tôi không tin Raspberry Pi có phần cứng cần thiết để ghi âm đầu vào. Bạn có thể xác nhận điều này đang chạy alsamixer.

nhập mô tả hình ảnh ở đây

Điều đó sẽ giải thích tại sao alsaaudio.ALSAAudioErrorngoại lệ được ném bằng alsaaudio.PCM.__init__phương pháp.

Khám phá các thiết bị USB của bên thứ ba

Tôi rất thích một bài viết có tựa đề Nhận dạng giọng nói với Raspberry Pi ; trong đó, phác thảo các bước cần thiết để thêm đầu vào âm thanh. Raspberry Pi vào một thiết bị gián điệp âm thanh cũng hữu ích với cài đặt micrô USB. Chủ đề cơ bản là để đảm bảo rằng hệ thống cơ sở được cấu hình & sẵn sàng thu âm thanh thông qua ALSA trước khi phát triển ứng dụng.

Mô-đun alsaaudiođược ghi chép tốt

Alsaaudio vận chuyển với các bộ thử nghiệm để xác minh rằng cài đặt cục bộ của bạn có đầy đủ chức năng.

bash> cd pyalsaaudio-0.7
bash> python recordtest.py -c NAME_OF_USB_CARD output.wav

Các NAME_OF_THE_USB_CARD phải là một tên được liệt kê bởi alsaaudio.cards () 's phương pháp; trong đó, là cùng tên cho tham số thứ ba cho lớp alsaaudio.PCM .


Mhm. Chạy alsamixer Tôi không nhận được thông báo điều khiển chụp được hiển thị ở trên. Thay vào đó, một điều khiển âm lượng được hiển thị?
andig

Nhấn F4để điều khiển chụp. F3để phát lại và F5cho tất cả các điều khiển. Sử dụng F6để chuyển đổi giữa các card âm thanh.
emcconville
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.