Phát tệp âm thanh với sóng hình sin từ arduino


7

Vì vậy, khi tìm cách phát tệp âm thanh qua Arduino, tôi đã xem qua trang này: Cách phát tệp âm thanh WAV bằng thẻ Arduino Uno và MicroSD

Đây có vẻ như là một thư viện thực sự tốt (mặc dù tôi chưa có thời gian để thực sự chơi với nó). Có ai đã sử dụng cái này trước đây chưa, và nếu vậy, nó có phải là một thư viện tốt để sử dụng không, hay bạn có biết những cái tốt hơn ngoài kia mà bạn muốn giới thiệu không?


Thư viện hoạt động tốt và bạn sẽ tìm thấy thông tin chi tiết từ nhà phát triển thư viện âm thanh PCM tại đây .
Anindo Ghosh

Câu trả lời:


1

Tôi đã sử dụng một thời gian trước thư viện TMRPCM mà hướng dẫn bạn liên kết đã sử dụng và tôi rất hài lòng.

Nó không chiếm quá nhiều không gian và nó có một số tính năng thực sự độc đáo và gọn gàng như khả năng sử dụng hai loa thay vì một để tái tạo âm thanh nổi (Thật không may, bạn cần một IC AVR mạnh hơn, chắc chắn không phải là bo mạch UNO / 328 IC cho tính năng này nếu bạn không muốn xảy ra trong sinh sản xấu)

Từ wiki của GitHub :

Tất cả các bảng dựa trên 328: Arduino Uno, Nano, Duemilanove, v.v.

Các loại Mega: 1280, 2560, v.v.

Không có hỗ trợ do hiện tại.

Bạn chỉ có thể có các tệp WAV trên SD nhưng chúng có thể rất lớn (các thư viện khác giới hạn bạn ở một kích thước / thời lượng tối đa cụ thể) và bạn cần kết nối SD với arduino qua SPI (theo như tôi biết đó là duy nhất cách để giao tiếp trực tiếp với thẻ SD).

Ngoài ra, bạn sẽ cần chuyển đổi các tệp thành WAV 8 bit (để arduino nhanh hơn và dễ dàng hơn để tái tạo âm thanh) với tốc độ mẫu từ 8 đến 32khz, âm thanh đơn âm.

Hãy cẩn thận chỉ vì bạn sẽ cần cấp nguồn cho SD với 3,3 volt nếu không bạn sẽ chiên toàn bộ thẻ.

Hầu hết các tính năng bổ sung cần nhiều bộ nhớ hơn, nhiều không gian chương trình hơn và trong một số trường hợp, khả năng xử lý nhiều hơn để phát lại Một số trong số chúng vẫn đang được tinh chỉnh. Hãy ghi nhớ điều này khi kích hoạt các tính năng này.

Nếu bạn muốn xem, hãy truy cập trang này để biết thêm thông tin về các tính năng nâng cao

Một điều cuối cùng mà tôi phải nói là các chức năng thực sự đơn giản:

TMRpcm audio;
audio.play("filename");    plays a file
audio.play("filename",30); plays a file starting at 30 seconds into the track
audio.speakerPin = 11;     set to 5,6,11 or 46 for Mega, 9 for Uno, Nano, etc.
audio.disable();           disables the timer on output pin and stops the music
audio.stopPlayback();      stops the music, but leaves the timer running
audio.isPlaying();         returns 1 if music playing, 0 if not
audio.pause();             pauses/unpauses playback
audio.quality(1);          Set 1 for 2x oversampling
audio.volume(0);           1(up) or 0(down) to control volume
audio.setVolume(0);        0 to 7. Set volume level
audio.loop(1);             0 or 1. Can be changed during playback for full control of looping. 
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.