2013-05-03 31 views
10

Bất kỳ đầu mối nào về cách dễ nhất để đọc mức âm thanh của hệ thống là gì?Âm thanh đầu ra đọc của Python không được nhập

Tôi đang lập kế hoạch tạo bộ cân bằng được làm từ các dải dẫn ngắn và gắn chúng lên Arduino hoặc RaspberryPi. Tôi đã nhìn thấy rất nhiều ví dụ làm thế nào để làm điều đó với đầu vào, mic hoặc như vậy nhưng không phải là nhiều với sản lượng tổng thể. Tại thời điểm này tôi không thể quan tâm đến chương trình cụ thể hoặc hệ thống rộng, tôi rất vui khi tôi thực sự nhận được bài đọc. Bất kỳ tư vấn sẽ được chào đón.

- EDIT -

dựa trên How get sound input from microphone in python, and process it on the fly? Tôi đã thay đổi PCM_CAPTURE để PCM_PLAYBACK mà kết quả trong python nói đọc là không thể trên đầu ra/phát lại.

Tôi đang cố gắng tạo một thiết bị loopback, ý tưởng là để phát lại trở lại một lần chụp riêng và đọc nó sau đó nhưng không may mắn cho đến nay và tôi không biết làm thế nào gọn gàng/sạch theo cách này. Tôi không thể tưởng tượng được rằng đây là con đường để đi.

+0

Vui lòng thêm thông tin khác về những gì bạn đã cố gắng cho đến thời điểm này. – Luceos

+0

dựa trên http://stackoverflow.com/questions/1936828/how-get-sound-input-from-microphone-in-python-and-process-it-on-the-fly Tôi đã thay đổi PCM_CAPTURE thành PCM_PLAYBACK kết quả trong python nói đọc là không thể trên đầu ra/phát lại. Bây giờ tôi đang cố gắng tạo ra một thiết bị loopback, ý tưởng là để ống phát lại trở lại một capture riêng biệt và đọc nó sau đó nhưng không may mắn cho đến nay và tôi không biết làm thế nào gọn gàng/sạch theo cách này. Tôi không thể tưởng tượng được rằng đây là con đường để đi. – PvdL

+0

Vui lòng cập nhật câu hỏi của bạn thay vì nhận xét câu hỏi đó khi có thể. Bằng cách này, người đọc mới có thể dễ dàng phân tích vấn đề và câu trả lời hơn. – Luceos

Trả lời

0

Hầu như mọi loại máy trộn âm thanh (phần mềm hoặc phần cứng) đều có thể định tuyến lại đầu ra âm thanh vào đầu vào. Đối với Windows có Stereo Mix được tích hợp sẵn và cho Linux có một số giải pháp (tôi đã nghe những điều tốt đẹp về PulseAudio, nhưng tôi không thể tự làm chứng - một số bước trong this tutorial có thể giúp ích).

Bằng cách đó bạn có thể định tuyến cho Python - ví dụ về mức độ đọc micrô bạn đã đọc sau đó cũng hoạt động tốt.

+0

Từ hiểu biết của tôi pulseaudio là một lớp phần mềm trên đầu trang của alsa và không phải mọi distro sử dụng xung nhưng phải của họ sử dụng alsa. Kể từ khi tôi muốn để có thể chạy nó trên một RasberryPi với XBMC cũng alsa là con đường để đi tôi nghĩ. – PvdL

2

Ai đó đã đạt được chính xác điều này bằng cách sử dụng Python và PulseAudio, xem this blog posting. Tác giả đã viết một kịch bản thăm dò mức âm thanh đỉnh cao của toàn hệ thống để cấp dữ liệu này cho đồng hồ VU. Ông cũng đã cung cấp nguồn trên Bitbucket, here.

Tôi đã thử nghiệm nó trên Ubuntu và nó hoạt động cho tôi (mặc dù chỉ từ dòng lệnh, không phải trong một phiên Python tương tác). Một số công việc bổ sung liên quan đến việc cài đặt một wrapper ctypes PulseAudio cho interfacing với Python (liên kết trong nguồn) và có thể thiết lập SINK_NAME với giá trị chính xác trong kịch bản.

Điều tôi thu thập được từ blog PulseAudio rất phù hợp cho công việc này, nhưng có thể có những cách tốt hơn.

+0

Tôi đã thấy điều này và thử nghiệm nó nhưng nó không hoạt động tốt. Với tên bồn rửa của tôi tại chỗ tôi chỉ nhận được 0. Sau khi thiết lập một thiết bị kết hợp với chương trình prefeaudio pref (paman) trên Ubuntu, tôi đã có thể đọc một cái gì đó. Lạ thật, ngay cả với paman tôi cũng không thể đọc được mức âm thanh trên hầu hết mọi thiết bị ngoại trừ các thiết bị kết hợp. Tôi sẽ thử điều này trên các thiết lập khác nhau nhưng tôi chưa có thời gian. – PvdL

+0

Nếu bạn muốn đi với PulseAudio, có vẻ như một điều kiện tiên quyết mà pavumeter cho thấy âm lượng của âm thanh mà bạn đang chơi. Bạn có chắc chắn âm thanh của bạn phát qua Pulse và không trực tiếp với Alsa hay gì đó? –

+0

Có, tôi nhưng ngay cả khi một cái gì đó thực sự sai với hệ thống của tôi (có thể rất tốt) Tôi có thể truy cập nhiều hệ thống với các thiết lập khác nhau để kiểm tra – PvdL

Các vấn đề liên quan