Cómo tocar el sonido en Python

Cómo tocar el sonido en Python

Cómo tocar el sonido en Python

Es una tarea fácil reproducir sonido usando el script de python, porque este idioma contiene muchos módulos para usar script 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 el sonido usando PlaySound

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

Instalación:

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

$ PIP3 Install PlaySound

Ejemplo: reproducir archivos wav y mp3 usando playsound

En el siguiente script, se tomará un nombre de archivo WAV como entrada primero y el archivo se reproducirá utilizando el reproducir sonido() método. A continuación, se ingresará y se reproducirá un nombre de archivo MP3 a través del mismo método.

#!/usr/bin/env python3
# Módulo de importación de playsound
de la importación de playsound playSound
# Ingrese un nombre de archivo WAV existente
wavfile = input ("Ingrese un nombre de archivo WAV:")
# Reproducir el archivo WAV
PlaySound (Wavfile)
# Ingrese un nombre de archivo MP3 existente
mp3file = input ("Ingrese un nombre de archivo mp3:")
# Reproduce el archivo mp3
PlaySound (mp3file)

Producción:

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

Reproducir sonido usando pydub

El pydub El módulo admite tanto Python 2 como 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 usar para dividir segmentos de cualquier archivo de audio o segmentos de agregar 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-extrra
$ PIP3 Instalar Pydub

Ejemplo-1: Reproducir archivos locales de wav y mp3

Este módulo usa el form_file () Método para reproducir archivo WAV y form_mp3 () Método para reproducir un archivo mp3. El jugar() El método se usa aquí para reproducir el archivo WAV y MP3:

#!/usr/bin/env python3
Desde el audieceno de importación de Pydub
de Pydub.Juego de importación de reproducción
# Ingrese un nombre de archivo WAV existente
wavfile = input ("Ingrese un nombre de archivo WAV:")
# Cargue el archivo en Pydub
sonido = audierogment.from_file (wavfile)
imprimir ("reproducir archivo wav ...")
# reproduce el archivo
reproducir sonido)
# Ingrese un nombre de archivo MP3 existente
mp3file = input ("Ingrese un nombre de archivo mp3:")
# Cargue el archivo en Pydub
Música = AudioSegment.from_mp3 (mp3file)
Imprimir ("Reproduciendo el archivo MP3 ...")
# reproduce 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 de 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 de URL válida. El módulo de urllib se usa en el script para descargar el archivo de sonido.

#!/usr/bin/env python3
# Importar módulos necesarios
Desde el audieceno de importación de Pydub
de Pydub.Juego de importación de reproducción
importar urllib
# Establecer el nombre de archivo WAV
FileName = "Service-Bell.wav "
# Descargue el archivo WAV de la URL
Imprimir ("Descargar el archivo WAV ...")
urllib.pedido.Urlretrieve ("http: // sonbible.com/agarre.php?id = 2218 & type = wav ", nombre de archivo)
# Cargue el archivo en Pydub
sonido = audierogment.from_file (nombre de archivo)
imprimir ("reproducir archivo wav ...")
# reproduce el archivo
reproducir sonido)
# Establecer el nombre de archivo MP3
FileName = "Birds.mp3 "
# Descargar un archivo mp3
Imprimir ("Descargar el archivo MP3 ...")
urllib.pedido.Urlretrieve ("http: // sonbible.com/agarre.php?id = 2207 & type = mp3 ", nombre de archivo)
# Cargue el archivo en Pydub
BirdSound = audiicegmegment.from_mp3 (nombre de archivo)
Imprimir ("Reproduciendo el archivo MP3 ...")
# Juega el resultado
Jugar (Birsound)
Imprimir ("terminado.")

Producción:

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

Reproducir sonido usando tksnack

El tksnack El módulo depende de otro módulo, llamado Tkinter, para activar un TK Objeto en el script. tksnack Los comandos se pueden usar 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 el archivo WAV usando tksnack

En el siguiente script, el módulo tksnack se inicializa utilizando el objeto tkinter y el siguiente jugar() El método se utiliza para reproducir el archivo WAV. Aquí el bloqueo El argumento especifica que el sonido se reproducirá de manera asíncrona.

# Importar módulos necesarios
importar tkinter
importar tksnack
importar sistema operativo
# Inicializar el objeto TK para usar tksnack
raíz = tkinter.Tk ()
tksnack.InitializeNack (raíz)
# Defina el objeto tksnack
sonido = tksnack.Sonido()
# Ingrese un nombre de archivo WAV existente
wavfile = input ("Ingrese un nombre de archivo WAV:")
Si OS.camino.existe (wavfile):
# Lea el archivo
sonido.Leer (Wavfile)
# Reproducir sonido
sonido.jugar (bloquear = 1)
demás:
# Imprima el mensaje si la ruta del archivo no existe
imprimir ("El archivo WAV no existe.")

Producción:

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

Reproducir el sonido usando simplesaudio

El Simpleaudio El 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 Simpleaudio paquete.

Instalación:

Ejecute el siguiente comando para instalar los paquetes:

$ sudo apt-get install libAsound2-devel
$ PIP3 Instalar simplesaudio

Ejemplo: Reproducir el archivo WAV usando simplesaudio

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

#!/usr/bin/env python3
# Importar el módulo de sonido simplesaudio
Importar Simpleaudio como SA
# Ingrese un nombre de archivo WAV existente
wavfile = input ("Ingrese un nombre de archivo WAV:")
# Reproduce el sonido si existe el archivo wav
intentar:
# Definir objeto para jugar
W_Object = SA.Objeto de onda.from_wave_file (wavfile)
# Definir objeto para controlar la obra
p_object = w_object.jugar()
Imprimir ("El sonido está reproduciendo ...")
P_Object.Wait_done ()
Imprimir ("terminado.")
# Imprimir mensaje de error si el archivo no existe
Excepto FileNotFoundError:
imprimir ("El archivo WAV no existe")

Producción:

El archivo de sonido se reproducirá 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 el sonido se explican en este tutorial utilizando una serie de 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.