Pitón

Cómo reproducir sonido en Python

Cómo reproducir sonido en Python

Cómo reproducir sonido en Python

Es una tarea fácil reproducir sonido usando la secuencia de comandos de Python, porque este lenguaje contiene muchos módulos para usar la secuencia de comandos para reproducir o grabar sonido. Al usar estos módulos, puede reproducir archivos de audio como mp3, wav y otros tipos de archivos de audio. Primero debe instalar el módulo de sonido antes de usar el módulo en el script. Este tutorial mostrará cómo instalar diferentes tipos de módulos de Python para reproducir sonido.

Reproducir sonido con PlaySound

La reproducir sonido El módulo es el módulo más simple de usar para reproducir sonido. Este módulo funciona tanto en Python 2 como en Python 3, y está probado para reproducir solo archivos wav y mp3. Contiene solo un método, llamado reproducir sonido(), con un argumento para que Linux tome el nombre del archivo de audio para reproducir.

Instalación:

Ejecute el siguiente comando pip3 para instalar este módulo en Python 3:

$ pip3 instalar PlaySound

Ejemplo: reproducción de archivos wav y mp3 con PlaySound

En la siguiente secuencia de comandos, primero se tomará un nombre de archivo wav como entrada y el archivo se reproducirá usando el reproducir sonido() método. A continuación, se ingresará un nombre de archivo mp3 y se reproducirá mediante el mismo método.

#!/ usr / bin / env python3
# Importar módulo de sonido
de PlaySound importar PlaySound
 
# Ingrese un nombre de archivo wav existente
wavFile = input ("Ingrese un nombre de archivo wav:")
# Reproducir el archivo wav
reproduce sonido (wavFile)
 
# Ingrese un nombre de archivo mp3 existente
mp3File = input ("Ingresa un nombre de archivo mp3:")
# Reproducir el archivo mp3
PlaySound (mp3File)

Producción:

Si ambos archivos existen, el archivo de sonido comenzará a reproducirse.

Reproducir sonido usando pydub

La pydub módulo es compatible con Python 2 y Python 3. Este módulo tiene muchas características útiles además de los módulos de sonido de Python. El módulo pydub admite diferentes tipos de archivos de audio. Este módulo se puede utilizar para dividir segmentos de cualquier archivo de audio o agregar segmentos a los archivos de audio. También puede agregar un efecto simple sobre el sonido. Este módulo depende directamente de otros dos módulos, llamados ffmpeg y libavcodec-extra. Antes de instalar el módulo pydub, primero debe instalar estos módulos.

Instalación:

Ejecute los siguientes comandos para instalar el paquete pydub de Python:

$ sudo apt-get install ffmpeg libavcodec-extra
$ pip3 instalar pydub

Ejemplo 1: reproducción de archivos mp3 y wav locales

Este módulo utiliza el form_file () método para reproducir archivos wav y form_mp3 () método para reproducir un archivo mp3. La tocar() El método se usa aquí para reproducir el archivo wav y mp3:

#!/ usr / bin / env python3
desde pydub importar AudioSegment
de pydub.reproducción importar reproducir
# Ingrese un nombre de archivo wav existente
wavFile = input ("Ingrese un nombre de archivo wav:")
# carga el archivo en pydub
sonido = segmento de audio.from_file (wavFile)
print ("Reproduciendo archivo wav ...")
# reproducir el archivo
reproducir sonido)
# Ingrese un nombre de archivo mp3 existente
mp3File = input ("Ingrese un nombre de archivo mp3:")
# carga el archivo en pydub
music = AudioSegment.from_mp3 (archivo mp3)
print ("Reproduciendo archivo mp3 ...")
# reproducir el archivo
reproducir música)

Producción:

Si existen nombres de archivo wav y mp3, se reproducirá el sonido y aparecerá la siguiente salida:

Ejemplo 2: descargar y reproducir archivos wav y mp3 desde la URL

El siguiente ejemplo muestra cómo se puede reproducir cualquier archivo wav o mp3 después de descargar el archivo desde una ubicación URL válida. El módulo urllib se usa en el script para descargar el archivo de sonido.

#!/ usr / bin / env python3
# Importar módulos necesarios
desde pydub importar AudioSegment
de pydub.reproducción importar reproducir
importar urllib
# Establecer el nombre del archivo wav
filename = "service-bell.wav "
# Descargue el archivo wav de la url
print ("descargando archivo wav ...")
urllib.pedido.urlretrieve ("http: // soundbible.com / grab.php?id = 2218 & type = wav ", nombre de archivo)
# carga el archivo en pydub
sonido = segmento de audio.from_file (nombre de archivo)
print ("Reproduciendo archivo wav ...")
# reproducir el archivo
reproducir sonido)
# Establecer el nombre del archivo mp3
filename = "pájaros.mp3 "
# Descargar un archivo mp3
imprimir ("descargando archivo mp3 ...")
urllib.pedido.urlretrieve ("http: // soundbible.com / grab.php?id = 2207 & type = mp3 ", nombre de archivo)
# carga el archivo en pydub
birdsound = segmento de audio.from_mp3 (nombre de archivo)
print ("Reproduciendo archivo mp3 ...")
# Reproducir el resultado
jugar (sonido de pájaro)
print ("Terminado.")

Producción:

El archivo de sonido comenzará a reproducirse después de completar la descarga y aparecerá el siguiente resultado:

Reproducir sonido usando tksnack

La tksnack módulo depende de otro módulo, llamado tkinter, para activar un tk objeto en el script.  tksnack Los comandos se pueden utilizar después de inicializar el tk objeto. Debes instalar ambos tkinker y tksnack paquetes para Python 3.

Instalación:

$ sudo apt-get install python3-tk
$ sudo apt-get install python3-tksnack

Ejemplo: reproducir archivo wav usando tksnack

En el siguiente script, el módulo tkSnack se inicializa usando el objeto tkinter, y el siguiente tocar() El método se utiliza para reproducir el archivo WAV. Aquí el bloqueo El argumento especifica que el sonido se reproducirá de forma asincrónica.

#!/ usr / bin / env python3
# Importar módulos necesarios
importar tkinter
importar tkSnack
importar sistema operativo
 
# Inicialice el objeto tk para usar tksnack
root = tkinter.Tk ()
tkSnack.initializeSnack (raíz)
 
# Definir objeto tksnack
sonido = tkSnack.Sonar()
 
# Ingrese un nombre de archivo wav existente
wavFile = input ("Ingrese un nombre de archivo wav:")
 
si os.camino.existe (wavFile):
# Leer el archivo
sonar.leer (wavFile)
# Reproducir sonido
sonar.jugar (bloqueo = 1)
demás:
# Imprime el mensaje si la ruta del archivo no existe
print ("El archivo WAV no existe.")

Producción:

El sonido comenzará a reproducirse si existe el archivo wav y aparecerá la siguiente salida:

Reproducir sonido usando simpleaudio

La audio simple módulo es un paquete de Python 3 que puede reproducir sonidos de audio. Este módulo está diseñado principalmente para reproducir archivos wav y matrices NumPy. Deberá instalar el paquete antes de usar este módulo. Este paquete de sonido depende directamente de otro paquete llamado libasound2-dev. Necesitará instalar el libasound2-dev paquete primero, y después de eso, puede instalar el audio simple paquete.

Instalación:

Ejecute el siguiente comando para instalar los paquetes:

$ sudo apt-get install libasound2-dev
$ pip3 instalar simpleaudio

Ejemplo: reproducir archivo wav usando simpleaudio

En la siguiente secuencia de comandos, cualquier nombre de archivo wav se tomará como entrada. Si el archivo existe, la secuencia de comandos reproducirá el archivo de sonido; de lo contrario, el script mostrará un mensaje de error.

#!/ usr / bin / env python3
# Importar módulo de sonido simpleaudio
importar simpleaudio como sa
# Ingrese un nombre de archivo wav existente
wavFile = input ("Ingrese un nombre de archivo wav:")
 
# Reproducir el sonido si existe el archivo wav
intentar:
# Definir objeto para jugar
w_object = sa.WaveObject.from_wave_file (wavFile)
# Definir objeto para controlar el juego
p_object = w_object.tocar()
imprimir ("Se está reproduciendo sonido ...")
p_object.esperar_hecho ()
print ("Terminado.")
# Imprimir mensaje de error si el archivo no existe
excepto FileNotFoundError:
imprimir ("El archivo WAV no existe")

Producción:

Se reproducirá el archivo de sonido y aparecerá la siguiente salida después de reproducir el sonido:

Conclusión

Los usos básicos de cuatro módulos de Python para reproducir sonido se explican en este tutorial utilizando varios ejemplos. La tarea de reproducción de sonido se muestra solo en este tutorial, pero puede grabar, editar y diferentes tareas relacionadas con el sonido utilizando el script de Python.

Instale el último juego de estrategia de OpenRA en Ubuntu Linux
OpenRA es un motor de juego de estrategia en tiempo real libre / gratuito que recrea los primeros juegos de Westwood como el clásico Command & Conquer...
Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...
Cómo usar GameConqueror Cheat Engine en Linux
El artículo cubre una guía sobre el uso del motor de trucos GameConqueror en Linux. Muchos usuarios que juegan juegos en Windows a menudo usan la apli...