Reproducir sonido en Python

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *