Saya mencari pustaka Python terawat dengan baik memungkinkan saya untuk memutar file audio pada Raspberry Pi saya menggunakan output audio standar.
Sejauh ini saya sudah mencoba beberapa, tetapi tidak satupun yang berhasil. Meskipun pyglet berfungsi dengan baik di komputer saya, itu menyebabkan kesalahan pada Raspberry Pi. Apakah ada perpustakaan Python yang telah terbukti mudah digunakan?
Jawaban:
Saya merekomendasikan Pygame yang sangat populer . Saya mungkin salah, tapi saya percaya itu sudah diinstal pada Pi. Anda dapat menggunakan Modul Musik Mixer Pygame untuk memutar file audio. Saya telah memasukkan beberapa contoh kode di bawah ini.
Dengan asumsi bahwa kita memiliki file audio bernama
myFile.wav
.CATATAN: Jika ini gagal, silakan pergi ke terminal dan perbarui sistem Anda dengan
dan coba lagi.
sumber
espeak
baik, tapi bukan ini.Saya membutuhkan skrip untuk memutar lagu dari tiga puluh detik di latar belakang saat menanggapi input pengguna lain. Saya kemudian ingin itu mengakhiri lagu di beberapa acara.
Saya tidak mengira itu sangat elegan, tapi saya membuka pipa untuk proses MPlayer latar belakang.
Kemudian, ketika saya ingin menghentikan proses MPlayer, saya hanya menulis "q" untuk berhenti ke pipa.
Lihatlah dokumentasi MPlayer untuk semua jenis perintah yang dapat Anda lewati dengan cara ini untuk mengontrol pemutaran.
Semoga itu agak membantu!
sumber
Pilihan lain adalah menggunakan
mpg321
dan memintanya dari baris perintah.Kemudian dengan Python:
Pygame hampir pasti lebih kuat, tetapi saya rasa tergantung pada apa kebutuhan Anda.
sumber
Saya akan merekomendasikan pyglet daripada pygame jika Anda tidak membutuhkan grafik. Dalam pandangan saya itu lebih sederhana, lebih elegan, dan lebih terawat. Kemudian lagi, saya berharap itu mungkin masalah selera.
sumber
Pygame memberi Anda cara yang bagus dan mudah untuk memuat dan memutar suara, di berbagai saluran.
sumber
Anda dapat menggunakan sejumlah pemain eksternal melalui pipa. Namun, Anda hampir selalu mengalami kehilangan kecepatan. Ada juga masalah dengan kontrol pemutaran.
Saya sarankan Anda pyaudio, itu berfungsi dengan baik.
Jika Anda ingin memutar file terkompresi juga, saya akan sangat bebas untuk mengarahkan Anda ke decoder.py modul saya. Anda dapat menemukannya di PyPI.
Itu juga menggunakan subproses, tetapi panggilan decoder bukan pemain. Mereka tidak menggunakan banyak CPU, dan beberapa dari mereka tahu cara menggunakan akselerasi perangkat keras. Anda kemudian dapat menggunakan pyaudio atau sesuatu untuk menampilkan data audio mentah. Jika mau, Anda bahkan bisa menggunakan pygame dengan memanfaatkan pygame.sndarray. Dengan cara itu Anda bisa memainkan lebih banyak format daripada dukungan pygame.
Saya mencoba decoder.py di lingkungan PyQT GUI, dengan pyaudio dan juga menggunakan aplay sebagai pemain eksternal. Itu pada Raspberry Pi B.
Hasilnya cukup memuaskan dalam kedua kasus.
Kesederhanaan bisa dipertanyakan.
decoder.py itu sendiri sangat sederhana, tetapi Anda harus menggabungkannya dengan lib lain dan yang meningkatkan baris kode.
Ada contoh tentang cara memutar file yang disertakan dengan decoder.py.
sumber
Saya menjalankan OSMC (Debian) dan saya dapat memutar melalui speaker TV saya, yang terhubung dengan HDMI. https://youtu.be/p2ljmTE67gs
Metode saya didasarkan pada solusi di atas yang diposting oleh @xxmbabanexx dan juga di sini . Pada dasarnya, aku harus menambahkan
dtparam=audio=on
untuk/boot/config.txt
sumber