Python

Sådan afspilles lyd i Python

Sådan afspilles lyd i Python

Sådan afspilles lyd i Python

Det er en nem opgave at afspille lyd ved hjælp af Python-script, fordi dette sprog indeholder mange moduler, der skal bruges til at afspille eller optage lyd. Ved at bruge disse moduler kan du afspille lydfiler såsom mp3, wav og andre lydfiltyper. Du skal først installere lydmodulet, før du bruger modulet i scriptet. Denne vejledning viser, hvordan du installerer forskellige typer Python-moduler til at afspille lyd.

Afspil lyd ved hjælp af playound

Det Afspil lyd modul er det enkleste modul til brug for lydafspilning. Dette modul fungerer på både Python 2 og Python 3 og er testet til kun at afspille wav- og mp3-filer. Den indeholder kun en metode, navngivet Afspil lyd(), med et argument for Linux at tage lydfilnavnet til afspilning.

Installation:

Kør følgende pip3-kommando for at installere dette modul i Python 3:

$ pip3 installerer playound

Eksempel: Afspil wav- og mp3-filer ved hjælp af playound

I det følgende script tages et wav-filnavn som input først, og filen afspilles ved hjælp af Afspil lyd() metode. Derefter vil et mp3-filnavn blive indtastet og spillet via den samme metode.

#!/ usr / bin / env python3
# Importer afspilningsmodul
fra playsound import playound
 
# Indtast et eksisterende wav-filnavn
wavFile = input ("Indtast et wav-filnavn:")
# Afspil wav-filen
playound (wavFile)
 
# Indtast et eksisterende mp3-filnavn
mp3File = input ("Indtast et mp3-filnavn:")
# Afspil mp3-filen
playound (mp3File)

Produktion:

Hvis begge filer findes, begynder lydfilen at afspilles.

Afspil lyd ved hjælp af pydub

Det pydub modul understøtter både Python 2 og Python 3. Dette modul har mange andre nyttige funktioner end Python-lydmoduler. Pydub-modulet understøtter forskellige typer lydfiler. Dette modul kan bruges til at opdele segmenter af enhver lydfil eller tilføje segmenter til lydfilerne. Du kan også tilføje en simpel effekt oven på lyden. Dette modul afhænger direkte af to andre moduler, kaldet ffmpeg og libavcodec-ekstra. Før du installerer pydub-modulet, skal du først installere disse moduler.

Installation:

Kør følgende kommandoer for at installere pydub-pakken med Python:

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

Eksempel 1: Afspil lokale wav- og mp3-filer

Dette modul bruger form_fil () metode til afspilning af wav-fil og form_mp3 () metode til afspilning af en mp3-fil. Det Spil() metoden bruges her til at afspille wav- og mp3-filen:

#!/ usr / bin / env python3
fra pydub importerer AudioSegment
fra pydub.afspilning importafspilning
# Indtast et eksisterende wav-filnavn
wavFile = input ("Indtast et wav-filnavn:")
# indlæs filen i pydub
lyd = AudioSegment.from_file (wavFile)
udskriv ("Afspiller wav-fil ...")
# afspil filen
Afspil lyd)
# Indtast et eksisterende mp3-filnavn
mp3File = input ("Indtast et mp3-filnavn:")
# indlæs filen i pydub
musik = AudioSegment.from_mp3 (mp3File)
udskrive ("Afspilning af mp3-fil ...")
# afspil filen
afspille musik)

Produktion:

Hvis der findes både wav- og mp3-filnavne, afspilles lyden, og følgende output vises:

Eksempel 2: Download og afspil wav- og mp3-filer fra URL

Følgende eksempel viser, hvordan enhver wav- eller mp3-fil kan afspilles efter download af filen fra en gyldig URL-placering. Urllib-modulet bruges i scriptet til at downloade lydfilen.

#!/ usr / bin / env python3
# Importer nødvendige moduler
fra pydub importerer AudioSegment
fra pydub.afspilning importafspilning
import urllib
# Indstil wav-filnavnet
filnavn = "service-bell.wav "
# Download wav-filen fra url
udskriv ("downloader wav-fil ...")
urllib.anmodning.urlretrieve ("http: // soundbible.com / grab.php?id = 2218 & type = wav ", filnavn)
# indlæs filen i pydub
lyd = AudioSegment.fra_fil (filnavn)
udskriv ("Afspiller wav-fil ...")
# afspil filen
Afspil lyd)
# Indstil mp3-filnavnet
filnavn = "fugle.mp3 "
# Download en mp3-fil
udskrive ("downloade mp3-fil ...")
urllib.anmodning.urlretrieve ("http: // soundbible.com / grab.php?id = 2207 & type = mp3 ", filnavn)
# indlæs filen i pydub
birdsound = AudioSegment.from_mp3 (filnavn)
udskrive ("Afspilning af mp3-fil ...")
# Afspil resultatet
leg (fuglelyd)
print ("Færdig.")

Produktion:

Lydfilen begynder at afspille efter downloadet, og følgende output vises:

Afspil lyd ved hjælp af tksnack

Det tksnack modul afhænger af et andet modul, der hedder tkinter, for at aktivere et tk objekt i scriptet.  tksnack kommandoer kan bruges efter initialisering af tk objekt. Du skal installere begge dele tkinker og tksnack pakker til Python 3.

Installation:

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

Eksempel: Afspil wav-fil ved hjælp af tksnack

I det følgende script initialiseres tkSnack-modulet ved hjælp af tkinter-objektet og det næste Spil() metoden bruges til at afspille wav-filen. Her, den blokering argument specificerer, at lyden afspilles asynkront.

#!/ usr / bin / env python3
# Importér nødvendige moduler
importer tkinter
importer tkSnack
importer os
 
# Initialiser tk-objektet for at bruge tksnack
rod = tkinter.Tk ()
tkSnack.initializeSnack (rod)
 
#Definer tksnack-objekt
lyd = tkSnack.Lyd()
 
# Indtast et eksisterende wav-filnavn
wavFile = input ("Indtast et wav-filnavn:")
 
hvis os.sti.findes (wavFile):
# Læs filen
lyd.læse (wavFile)
# Afspil lyd
lyd.play (blokering = 1)
andet:
# Udskriv meddelelsen, hvis filstien ikke findes
print ("Wav-fil findes ikke.")

Produktion:

Lyden begynder at afspilles, hvis wav-filen findes, og følgende output vises:

Afspil lyd ved hjælp af simpleaudio

Det simpleaudio modul er en pakke med Python 3, der kan afspille lydlyde. Dette modul er hovedsageligt designet til at afspille wav-filer og NumPy-arrays. Du bliver nødt til at installere pakken, før du bruger dette modul. Denne lydpakke afhænger direkte af en anden pakke kaldet libasound2-dev. Du bliver nødt til at installere libasound2-dev pakke først, og derefter kan du installere simpleaudio pakke.

Installation:

Kør følgende kommando for at installere pakkerne:

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

Eksempel: Afspil wav-fil ved hjælp af simpleaudio

I det følgende script tages ethvert wav-filnavn som input. Hvis filen findes, vil scriptet afspille lydfilen; Ellers viser scriptet en fejlmeddelelse.

#!/ usr / bin / env python3
# Importer simpelt lydmodul
import simpleaudio som sa
# Indtast et eksisterende wav-filnavn
wavFile = input ("Indtast et wav-filnavn:")
 
# Afspil lyden, hvis wav-filen findes
prøve:
# Definer objekt, der skal spilles
w_object = sa.WaveObject.from_wave_file (wavFile)
# Definer objekt, der skal styre spillet
p_object = w_object.Spil()
udskrive ("Lyden afspilles ...")
p_objekt.Vent_Færdig ()
print ("Færdig.")
# Udskriv fejlmeddelelse, hvis filen ikke findes
undtagen FileNotFoundError:
udskriv ("Wav-filen findes ikke")

Produktion:

Lydfilen afspilles, og følgende output vises efter afspilning af lyden:

Konklusion

De grundlæggende anvendelser af fire Python-moduler til at afspille lyd forklares i denne vejledning ved hjælp af et antal eksempler. Lydafspilningsopgaven vises kun i denne vejledning, men du kan optage, redigere og forskellige lydrelaterede opgaver ved hjælp af Python-script.

Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...
0 A.D. Vejledning
Ud af de mange strategispil derude, 0 A.D. formår at skille sig ud som en omfattende titel og et meget dybt, taktisk spil på trods af at det er open s...
Unity3D Tutorial
Introduktion til Unity 3D Unity 3D er en kraftfuld spiludviklingsmotor. Det er cross platform, det er det giver dig mulighed for at oprette spil til m...