Python

Comment jouer du son en Python

Comment jouer du son en Python

Comment jouer du son en Python

C'est une tâche facile de jouer du son à l'aide d'un script Python, car ce langage contient de nombreux modules à utiliser pour lire ou enregistrer du son. En utilisant ces modules, vous pouvez lire des fichiers audio tels que mp3, wav et d'autres types de fichiers audio. Vous devez d'abord installer le module de sons avant d'utiliser le module dans le script. Ce tutoriel montrera comment installer différents types de modules Python pour jouer du son.

Jouer le son en utilisant playsound

le jouer son module est le module le plus simple à utiliser pour jouer du son. Ce module fonctionne à la fois sur Python 2 et Python 3, et est testé pour lire uniquement les fichiers wav et mp3. Il ne contient qu'une seule méthode, nommée jouer son(), avec un argument pour que Linux prenne le nom du fichier audio pour la lecture.

Installation:

Exécutez la commande pip3 suivante pour installer ce module en Python 3 :

$ pip3 installer playsound

Exemple : Lecture de fichiers wav et mp3 à l'aide de playsound

Dans le script suivant, un nom de fichier wav sera d'abord pris en entrée et le fichier sera lu en utilisant le jouer son() méthode. Ensuite, un nom de fichier mp3 sera saisi et lu via la même méthode.

#!/usr/bin/env python3
# Importer le module de lecture
de playsound importer playsound
 
# Saisissez un nom de fichier wav existant
wavFile = input("Entrez un nom de fichier wav : ")
# Lire le fichier wav
joue le son (fichier wav)
 
# Saisissez un nom de fichier mp3 existant
mp3File = input("Entrez un nom de fichier mp3 : ")
# Lire le fichier mp3
joue le son (fichier mp3)

Production:

Si les deux fichiers existent, le fichier son commencera à jouer.

Jouer le son à l'aide de pydub

le pydub le module prend en charge à la fois Python 2 et Python 3. Ce module a de nombreuses fonctionnalités utiles autres que les modules de sons Python. Le module pydub prend en charge différents types de fichiers audio. Ce module peut être utilisé pour diviser des segments de n'importe quel fichier audio ou ajouter des segments aux fichiers audio. Vous pouvez également ajouter un effet simple au-dessus du son. Ce module dépend directement de deux autres modules, appelés ffmpeg et libavcodec-extra. Avant d'installer le module pydub, vous devez d'abord installer ces modules.

Installation:

Exécutez les commandes suivantes pour installer le package pydub de Python :

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

Exemple-1 : Lire des fichiers wav et mp3 locaux

Ce module utilise le form_file() méthode pour lire le fichier wav et form_mp3() méthode pour lire un fichier mp3. le jouer() méthode est utilisée ici pour lire le fichier wav et mp3 :

#!/usr/bin/env python3
depuis pydub importer AudioSegment
de pydub.lecture importation lecture
# Saisissez un nom de fichier wav existant
wavFile = input("Entrez un nom de fichier wav : ")
# charger le fichier dans pydub
son = AudioSegment.from_file(wavFile)
print("Lecture du fichier wav… ")
# lire le fichier
jouer son)
# Saisissez un nom de fichier mp3 existant
mp3File = input("Entrez un nom de fichier mp3 : ")
# charger le fichier dans pydub
musique = AudioSegment.from_mp3 (fichier mp3)
print("Lecture du fichier mp3… ")
# lire le fichier
jouer de la musique)

Production:

Si les deux noms de fichiers wav et mp3 existent, le son sera lu et la sortie suivante apparaîtra :

Exemple 2 : Télécharger et lire des fichiers wav et mp3 à partir d'une URL

L'exemple suivant montre comment n'importe quel fichier wav ou mp3 peut être lu après avoir téléchargé le fichier à partir d'un emplacement URL valide. Le module urllib est utilisé dans le script pour télécharger le fichier son.

#!/usr/bin/env python3
# Importez les modules nécessaires
depuis pydub importer AudioSegment
de pydub.lecture importation lecture
importer l'urllib
# Définir le nom du fichier wav
nom de fichier = "service-bell.wav"
# Téléchargez le fichier wav depuis l'url
print("téléchargement du fichier wav… ")
urllib.demander.urlretrieve("http://soundbible.com/saisir.php?id=2218&type=wav", nom de fichier)
# charger le fichier dans pydub
son = segment audio.from_file(nom de fichier)
print("Lecture du fichier wav… ")
# lire le fichier
jouer son)
# Définir le nom du fichier mp3
nom de fichier = "oiseaux.mp3"
# Télécharger un fichier mp3
print("téléchargement du fichier mp3… ")
urllib.demander.urlretrieve("http://soundbible.com/saisir.php?id=2207&type=mp3", nom de fichier)
# charger le fichier dans pydub
birdound = AudioSegment.from_mp3(nom de fichier)
print("Lecture du fichier mp3… ")
# Jouez le résultat
jouer (son d'oiseau)
print("Terminé.")

Production:

Le fichier son commencera à jouer une fois le téléchargement terminé et la sortie suivante apparaîtra :

Jouer le son en utilisant tksnack

le casse-croûte module dépend d'un autre module, nommé tkinter, pour activer un tk objet dans le script.  casse-croûte peuvent être utilisées après l'initialisation du tk objet. Vous devez installer les deux bricoler et casse-croûte paquets pour Python 3.

Installation:

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

Exemple : Lire un fichier wav à l'aide de tksnack

Dans le script suivant, le module tkSnack est initialisé en utilisant l'objet tkinter, et le suivant jouer() méthode est utilisée pour lire le fichier wav. Ici le blocage l'argument spécifie que le son sera lu de manière asynchrone.

#!/usr/bin/env python3
# Importez les modules nécessaires
importer tkinter
importer tkSnack
importer le système d'exploitation
 
# Initialiser l'objet tk pour utiliser tksnack
root = tkinter.Tk()
tkSnack.initializeSnack (racine)
 
#Définir l'objet tksnack
son = tkSnack.Sonner()
 
# Saisissez un nom de fichier wav existant
wavFile = input("Entrez un nom de fichier wav : ")
 
si os.chemin.existe (fichier wav) :
# Lire le fichier
sonner.lire (fichier wav)
# Jouer son
sonner.jouer (blocage=1)
autre:
# Imprimer le message si le chemin du fichier n'existe pas
print ("Le fichier Wav n'existe pas.")

Production:

Le son commencera à jouer si le fichier wav existe, et la sortie suivante apparaîtra :

Jouer le son en utilisant simpleaudio

le audio simple module est un package de Python 3 qui peut jouer des sons audio. Ce module est principalement conçu pour lire les fichiers wav et les tableaux NumPy. Vous devrez installer le package avant d'utiliser ce module. Ce package sonore dépend directement d'un autre package appelé libasound2-dev. Vous devrez installer le libasound2-dev package d'abord, et après cela, vous pouvez installer le audio simple paquet.

Installation:

Exécutez la commande suivante pour installer les packages :

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

Exemple : Lire un fichier wav à l'aide de simpleaudio

Dans le script suivant, tout nom de fichier wav sera pris comme entrée. Si le fichier existe, le script jouera le fichier son ; sinon, le script affichera un message d'erreur.

#!/usr/bin/env python3
# Importer un module de son simpleaudio
importer simpleaudio en tant que sa
# Saisissez un nom de fichier wav existant
wavFile = input("Entrez un nom de fichier wav : ")
 
# Joue le son si le fichier wav existe
essayer:
# Définir l'objet à jouer
w_objet = sa.Objet d'onde.from_wave_file(wavFile)
# Définir un objet pour contrôler le jeu
p_object = w_object.jouer()
print("Le son joue… ")
p_objet.wait_done()
print("Terminé.")
# Affiche un message d'erreur si le fichier n'existe pas
sauf FileNotFoundError :
print("Le fichier Wav n'existe pas")

Production:

Le fichier son sera lu et la sortie suivante apparaîtra après la lecture du son :

Conclusion

Les utilisations de base de quatre modules Python pour jouer du son sont expliquées dans ce tutoriel en utilisant un certain nombre d'exemples. La tâche de lecture du son est affichée uniquement dans ce didacticiel, mais vous pouvez enregistrer, éditer et différentes tâches liées au son à l'aide du script Python.

Meilleures distributions Linux pour les jeux en 2021
Le système d'exploitation Linux a parcouru un long chemin depuis son apparence originale, simple et basée sur le serveur. Ce système d'exploitation s'...
Comment capturer et diffuser votre session de jeu sur Linux
Dans le passé, jouer à des jeux n'était considéré qu'un passe-temps, mais avec le temps, l'industrie du jeu a connu une croissance énorme en termes de...
Meilleurs jeux à jouer avec le suivi des mains
Oculus Quest a récemment introduit l'idée géniale du suivi manuel sans contrôleurs. Avec un nombre toujours croissant de jeux et d'activités qui exécu...