Python

Hvordan spille lyd i Python

Hvordan spille lyd i Python

Hvordan spille lyd i Python

Det er en enkel oppgave å spille lyd ved hjelp av Python-skript, fordi dette språket inneholder mange moduler for å bruke skript for å spille eller spille inn lyd. Ved å bruke disse modulene kan du spille av lydfiler som mp3, wav og andre lydfiltyper. Du må først installere lydmodulen før du bruker modulen i skriptet. Denne veiledningen viser hvordan du installerer forskjellige typer Python-moduler for å spille lyd.

Spill lyd ved hjelp av spillelyd

De spill lyd modulen er den enkleste modulen å bruke for å spille lyd. Denne modulen fungerer både på Python 2 og Python 3, og er testet for å bare spille wav- og mp3-filer. Den inneholder bare en metode, navngitt spill lyd(), med ett argument for Linux å ta lydfilnavnet for å spille.

Installasjon:

Kjør følgende pip3-kommando for å installere denne modulen i Python 3:

$ pip3 installerer spillelyd

Eksempel: Spille wav- og mp3-filer ved hjelp av PlaySound

I det følgende skriptet blir et wav-filnavn tatt som inngang først, og filen vil bli spilt med spill lyd() metode. Deretter vil et mp3-filnavn legges inn og spilles på samme måte.

#!/ usr / bin / env python3
# Importer avspillingsmodul
fra playsound import playsound
 
# Skriv inn et eksisterende wav-filnavn
wavFile = input ("Skriv inn et wav-filnavn:")
# Spill av wav-filen
spillelyd (wavFile)
 
# Skriv inn et eksisterende mp3-filnavn
mp3File = input ("Skriv inn et mp3-filnavn:")
# Spill mp3-filen
playound (mp3File)

Produksjon:

Hvis begge filene eksisterer, vil lydfilen begynne å spilles av.

Spill av lyd ved hjelp av pydub

De pydub modulen støtter både Python 2 og Python 3. Denne modulen har mange nyttige funksjoner annet enn Python-lydmoduler. Pydub-modulen støtter forskjellige typer lydfiler. Denne modulen kan brukes til å dele segmenter av hvilken som helst lydfil eller legge segmenter til lydfilene. Du kan også legge til en enkel effekt på toppen av lyden. Denne modulen avhenger direkte av to andre moduler, kalt ffmpeg og libavcodec-ekstra. Før du installerer pydub-modulen, må du først installere disse modulene.

Installasjon:

Kjør følgende kommandoer for å installere pydub-pakken til Python:

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

Eksempel 1: Spill lokale wav- og mp3-filer

Denne modulen bruker form_file () metode for å spille wav-fil og form_mp3 () metode for å spille av en mp3-fil. De spille() metoden brukes her for å spille wav- og mp3-filen:

#!/ usr / bin / env python3
fra pydub importerer AudioSegment
fra pydub.avspilling import avspilling
# Skriv inn et eksisterende wav-filnavn
wavFile = input ("Skriv inn et wav-filnavn:")
# last filen inn i pydub
lyd = AudioSegment.from_file (wavFile)
skriv ut ("Spiller av wav-fil ...")
# spill av filen
spill lyd)
# Skriv inn et eksisterende mp3-filnavn
mp3File = input ("Skriv inn et mp3-filnavn:")
# last filen inn i pydub
musikk = AudioSegment.from_mp3 (mp3File)
skriv ut ("Spiller av mp3-fil ...")
# spill av filen
spille musikk)

Produksjon:

Hvis både wav- og mp3-filnavn eksisterer, vil lyden spilles av, og følgende utgang vises:

Eksempel 2: Last ned og spill wav- og mp3-filer fra URL

Følgende eksempel viser hvordan en hvilken som helst wav- eller mp3-fil kan spilles av etter nedlasting av filen fra en gyldig URL-plassering. Urllib-modulen brukes i skriptet for å laste ned lydfilen.

#!/ usr / bin / env python3
# Importer nødvendige moduler
fra pydub importerer AudioSegment
fra pydub.avspilling import avspilling
importer urllib
# Still inn wav-filnavnet
filnavn = "service-bell.wav "
# Last ned wav-filen fra url
skriv ut ("laster ned wav-fil ...")
urllib.be om.urlretrieve ("http: // lydbibel.com / grip.php?id = 2218 & type = wav ", filnavn)
# last filen inn i pydub
lyd = AudioSegment.fra_fil (filnavn)
skriv ut ("Spiller av wav-fil ...")
# spill av filen
spill lyd)
# Sett mp3-filnavnet
filnavn = "fugler.mp3 "
# Last ned en mp3-fil
skriv ut ("laster ned mp3-fil ...")
urllib.be om.urlretrieve ("http: // lydbibel.com / grip.php?id = 2207 & type = mp3 ", filnavn)
# last filen i pydub
birdsound = AudioSegment.from_mp3 (filnavn)
skriv ut ("Spiller av mp3-fil ...")
# Spill resultatet
lek (fuglelyd)
utskrift ("Ferdig.")

Produksjon:

Lydfilen begynner å spilles etter at nedlastingen er fullført, og følgende utdata vises:

Spill av lyd ved hjelp av tksnack

De tksnack modul avhenger av en annen modul, kalt tkinter, for å aktivere en tk objekt i skriptet.  tksnack kommandoer kan brukes etter initialisering av tk gjenstand. Du må installere begge deler tkinker og tksnack pakker for Python 3.

Installasjon:

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

Eksempel: Spill wav-fil ved hjelp av tksnack

I det følgende skriptet initialiseres tkSnack-modulen ved å bruke tkinter-objektet, og det neste spille() metoden brukes til å spille wav-filen. Her, den blokkering argument spesifiserer at lyden vil spilles asynkront.

#!/ usr / bin / env python3
# Importer nødvendighetsmoduler
importer tkinter
importer tkSnack
importer os
 
# Initier tk-objektet for å bruke tksnack
rot = tkinter.Tk ()
tkSnack.initializeSnack (root)
 
# Definere tksnack-objekt
lyd = tkSnack.Lyd()
 
# Skriv inn et eksisterende wav-filnavn
wavFile = input ("Skriv inn et wav-filnavn:")
 
hvis os.sti.eksisterer (wavFile):
# Les filen
lyd.les (wavFile)
# Spill lyd
lyd.spill (blokkering = 1)
ellers:
# Skriv ut meldingen hvis filbanen ikke eksisterer
print ("Wav-filen eksisterer ikke.")

Produksjon:

Lyden begynner å spille hvis wav-filen eksisterer, og følgende utgang vises:

Spill lyd ved hjelp av simpleeaudio

De simpleaudio modulen er en pakke med Python 3 som kan spille lydlyder. Denne modulen er hovedsakelig designet for å spille wav-filer og NumPy-matriser. Du må installere pakken før du bruker denne modulen. Denne lydpakken avhenger direkte av en annen pakke som heter libasound2-dev. Du må installere libasound2-dev pakken først, og deretter kan du installere simpleaudio pakke.

Installasjon:

Kjør følgende kommando for å installere pakkene:

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

Eksempel: Spill wav-fil ved hjelp av simpleaudio

I det følgende skriptet vil ethvert wav-filnavn bli tatt som input. Hvis filen eksisterer, vil skriptet spille lydfilen. Ellers viser skriptet en feilmelding.

#!/ usr / bin / env python3
# Importer enkel lydmodul
importere simpleaudio som sa
# Skriv inn et eksisterende wav-filnavn
wavFile = input ("Skriv inn et wav-filnavn:")
 
# Spill av lyden hvis wav-filen eksisterer
prøve:
# Definer objektet du skal spille
w_object = sa.WaveObject.from_wave_file (wavFile)
# Definer objektet for å kontrollere spillet
p_object = w_object.spille()
skriv ut ("Lyden spiller ...")
p_objekt.vent_ ferdig ()
utskrift ("Ferdig.")
# Skriv ut feilmelding hvis filen ikke eksisterer
unntatt FileNotFoundError:
skriv ut ("Wav-filen eksisterer ikke")

Produksjon:

Lydfilen vil spilles av, og følgende utgang vises etter avspilling av lyden:

Konklusjon

De grunnleggende bruken av fire Python-moduler for å spille lyd blir forklart i denne veiledningen ved hjelp av en rekke eksempler. Lydavspillingsoppgaven vises bare i denne opplæringen, men du kan ta opp, redigere og forskjellige lydrelaterte oppgaver ved å bruke Python-skript.

Mus Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
De siste årene har datamaskiner og operativsystemer utviklet seg sterkt. Det var en tid da brukere måtte bruke kommandoer for å navigere gjennom filad...
Mus Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Dual Display Mouse Manager lar deg kontrollere og konfigurere musebevegelse mellom flere skjermer, ved å bremse bevegelsene nær grensen. Windows 10/8,...
Mus WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
Hvis du vil forbedre standardfunksjonene til musepekeren, bruk freeware WinMouse. Det legger til flere funksjoner som hjelper deg å få mest mulig ut a...