Utilice Python para reproducir archivos de sonido (mp3, wav, m4a, etc.)

Utilice Python para reproducir archivos de sonido (mp3, wav, m4a, etc.)

Hace algún tiempo, estaba trabajando en un asistente de voz basado en Python, que requiere la función de Python para reproducir audio. Debe ejecutarse en Windows y Raspberry Pi. Pero después de buscar en Internet durante mucho tiempo, no encontré una solución adecuada (pygame y PyAudio). Apenas se puede usar, pero el efecto no es ideal). No tuve más remedio que buscar en Google y encontré un artículo más básico, que introducía en detalle cómo usar algunas bibliotecas para realizar la función de reproducir audio, que es simple y práctica. Para la conveniencia de un uso futuro, tengo un breve registro de traducción del artículo de la siguiente manera:

Dirección original: https://pythonbasics.org/python-play-sound/

【La idea principal del artículo】

Reproducir archivos de sonido con Python es muy simple. Aquí hay algunas bibliotecas de terceros que pueden reproducir sonidos. Estas soluciones son multiplataforma y se pueden usar en Windows, Mac y Linux.

La principal diferencia entre estos métodos es la simplicidad y los tipos de archivos admitidos. Todos admiten el entorno python3. Al programar, asegúrese de que el archivo .py y el archivo de sonido estén en el mismo directorio, o especifique la dirección absoluta del archivo de sonido en el código.

Método 1: módulo de sonido

El módulo PlaySound es una biblioteca multiplataforma que no requiere otras bibliotecas dependientes. Se puede instalar directamente usando las funciones de administración de bibliotecas IDE o pip.

from playsound import playsound
 
playsound(‘test.mp3’)

Solo necesita las dos líneas de código anteriores para escuchar el sonido. Puede usarse para reproducir archivos mp3 y wav, etc.

Método dos: pydub

Se puede instalar a través de pip, y pydub también puede llamar a las bibliotecas PyAudio y ffmpeg subyacentes.


from pydub import AudioSebment
 
from pydub.playback import play

song = AudioSegment.from_wav(‘test.wav’)
 
play(song)

Método 3: kit de sonido para bocadillos

Es más potente y puede reproducir archivos wav, AU, AIFF, MP3, CSL, SD, SMP y NIST / Sphere, pero esta biblioteca no se ha actualizado ni mantenido durante mucho tiempo.

Se puede instalar a través de apt install python3-tksnack, la versión anterior se llama python-tksnack.

Esta biblioteca necesita el soporte de Tkinker, lo que significa que debe instalar Tkinter para usarla.

from Tkinker import *
import tkSnack
root = Tk()
tkSnack.installzeSnack(root)
snd = tkSnack.Sound()
snd.read(‘test.mp3’)
snd.play(blocking = 1)

Método 4: jugador local

Puede usar la computadora o el software de reproducción de la Raspberry Pi para reproducir archivos de audio. Solo necesita especificar el reproductor predeterminado en Windows. En Linux, puede instalar el software de reproducción a través del terminal, como mpg123.

import os

file = ‘test.mp3’
 
os.system(‘mpg123’+ file)

[El tiempo se apresura, el código no ha tenido tiempo de probar uno a uno, si te interesa, puedes leer el texto original https://pythonbasics.org/python-play-sound/]

3. Encontré un gran agujero en uso: ¡el archivo no puede ser liberado de la ocupación!

Este módulo tiene un problema muy grande. Si desea reproducirlo, eliminarlo o moverlo, se le pedirá que denegue el acceso. Y los grandes que hicieron este módulo parecen haberlo abandonado.

Agregué la función de parada para resolver el problema de ocupación según el código fuente, pero solo cambié el código fuente de esta parte del sistema de Windows. No quiero cambiar mac y linux, ¡estoy tan cansado! Los amigos que lo necesiten pueden descargar y consultar mi método para modificar, la función es realmente muy simple.

La dirección del código es la siguiente:
https://download.csdn.net/download/dorlolo/11155532

Reimpreso en: aquí

Supongo que te gusta

Origin blog.csdn.net/lockhou/article/details/113781125
Recomendado
Clasificación