En este artículo, veremos cómo reproducir sonido en Python utilizando algunas de las bibliotecas de audio más populares. Aprenderemos acerca de los diversos métodos para reproducir sonido.
Método 1: usar el módulo de reproducción de sonido
Ejecute el siguiente comando para instalar los paquetes:
pip install playsound
- El móduloplaysound contiene solo una función llamadaplaysound() .
- Requiere un argumento: la ruta al archivo con el sonido que tenemos que reproducir. Puede ser un archivo local o una URL .
- Hay un segundo argumento opcional, block , que se establece en True de forma predeterminada. Podemos establecerlo en False para hacer que la función se ejecute de forma asíncrona .
- Funciona con archivos WAV y MP3 .
Ejemplo: para formato WAV
Python3
# import required module from playsound import playsound # for playing note.wav file playsound('/path/note.wav') print('playing sound using playsound')
Producción:
Ejemplo: Para formato mp3
Python3
# import required module from playsound import playsound # for playing note.mp3 file playsound('/path/note.mp3') print('playing sound using playsound')
Producción:
Método 2: Usar el módulo pydub
Ejecute los siguientes comandos para instalar los paquetes:
sudo apt-get install ffmpeg libavcodec-extra pip install pydub
Nota: Puede abrir archivos WAV con python. Para abrir mp3, necesitará ffmpeg o libav .
Este módulo utiliza el método from_wav() para reproducir un archivo wav y el método from_mp3() para reproducir un archivo mp3. El método play() se usa para reproducir el archivo wav y mp3:
Ejemplo 1: Para formato WAV
Python3
# import required modules from pydub import AudioSegment from pydub.playback import play # for playing wav file song = AudioSegment.from_wav("note.wav") print('playing sound using pydub') play(song)
Producción:
Ejemplo 2: Para formato mp3
Python3
# import required module from pydub import AudioSegment from pydub.playback import play # for playing mp3 file song = AudioSegment.from_mp3("note.mp3") print('playing sound using pydub') play(song)
Producción:
Método 3: Usando el módulo tksnack
El módulo tksnack depende de un módulo llamado tkinter para activar un objeto tk en el script de python. Debe instalar los paquetes tkinker y tksnack para Python. Ejecute los siguientes comandos para instalar los paquetes:
sudo apt-get install python3-tk sudo apt-get install python3-tksnack
El método play() se utiliza para reproducir los archivos de audio. El argumento de bloqueo establece que el sonido se reproducirá de forma asíncrona .
Ejemplo:
Python3
# import required modules from Tkinter import * import tkSnack # initialize tk object to use tksnack root = Tk() tkSnack.initializeSnack(root) # play sound snd = tkSnack.Sound() snd.read('note.wav') print('playing sound using tkSnack') snd.play(blocking=1)
Producción:
Método 4: Usar el reproductor nativo
En este método, reproducimos sonidos de forma nativa en nuestro sistema. Este método reproduce el archivo de audio con un reproductor externo instalado en su terminal.
Ejemplo 1: para Mac OS X
Python3
# import required module import os # play sound file = "note.wav" print('playing sound using native player') os.system("afplay " + file)
Producción:
Ejemplo 2: para Linux
Python3
# import required module import os # play sound file = "note.mp3" print('playing sound using native player') os.system("mpg123 " + file)
Salida :
Método 5: Usando el módulo de audio simple
Esto está diseñado principalmente para reproducir archivos WAV y arrays NumPy. Ejecute el siguiente comando para instalar los paquetes:
$ sudo apt-get install libasound2-dev $ pip3 install simpleaudio
El método play() se utiliza para reproducir los archivos de audio.
Ejemplo:
Python3
# import required module import simpleaudio as sa # define an object to play wave_object = sa.WaveObject.from_wave_file('note.wav) print('playing sound using simpleaudio') # define an object to control the play play_object = wave_object.play() play_object.wait_done()
Producción:
Publicación traducida automáticamente
Artículo escrito por chetankhanna767 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA