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 -manus, fordi dette språket inneholder mange moduler for å bruke manus 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 opplæringen vil vise hvordan du installerer forskjellige typer Python -moduler for å spille lyd.

Spill lyd ved hjelp av skuespill

De spill lyd Modul er den enkleste modulen å bruke for å spille lyd. Denne modulen fungerer på både Python 2 og Python 3, og testes bare for å spille WAV- og MP3 -filer. Den inneholder bare en metode, kalt 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 installer spiller

Eksempel: Spilling Wav- og MP3 -filer ved hjelp av skuespill

I det følgende skriptet vil et WAV -filnavn bli tatt som inndata først, og filen blir spilt ved hjelp av spill lyd() metode. Deretter vil et mp3 -filnavn bli lagt inn og spilles av samme metode.

#!/usr/bin/env python3
# Importer spillemodul
fra spillerimport spiller
# Skriv inn et eksisterende WAV -filnavn
Wavfile = input ("Angi et WAV -filnavn:")
# Spill Wav -filen
Spaysound (Wavfile)
# Skriv inn et eksisterende mp3 -filnavn
mp3File = input ("Skriv inn et mp3 -filnavn:")
# Spill mp3 -filen
Spaysound (mp3file)

Produksjon:

Hvis begge filene eksisterer, vil lydfilen begynne å spille.

Spill lyd ved hjelp av pydub

De Pydub Modul støtter både Python 2 og Python 3. Denne modulen har mange nyttige funksjoner enn Python lydmoduler. Pydub -modulen støtter forskjellige typer lydfiler. Denne modulen kan brukes til å dele segmenter av hvilken som helst lydfil eller vedleggssegmenter 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-Extra. 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 en mp3 -fil. De spille() Metode brukes her for å spille av WAV- og MP3 -filen:

#!/usr/bin/env python3
fra Pydub import audiosegment
Fra Pydub.Avspilling importspill
# Skriv inn et eksisterende WAV -filnavn
Wavfile = input ("Angi et WAV -filnavn:")
# Last inn filen i Pydub
lyd = audiosegment.fra_file (Wavfile)
trykk ("Spilling Wav File ...")
# Spill filen
spill lyd)
# Skriv inn et eksisterende mp3 -filnavn
mp3File = input ("Skriv inn et mp3 -filnavn:")
# Last inn filen i Pydub
Musikk = audiosegment.fra_mp3 (mp3file)
trykk ("Spilling mp3 -fil ...")
# Spill filen
spille musikk)

Produksjon:

Hvis både WAV- og MP3 -filnavn eksisterer, vil lyden spille, og følgende utgang vises:

Eksempel-2: Last ned og spill WAV- og MP3-filer fra URL

Følgende eksempel viser hvordan en hvilken. Urllib -modulen brukes i skriptet for å laste ned lydfilen.

#!/usr/bin/env python3
# Importer nødvendige moduler
fra Pydub import audiosegment
Fra Pydub.Avspilling importspill
Importer urllib
# Angi WAV -filnavnet
filnavn = "Service-Bell.Wav "
# Last ned WAV -filen fra URL
print ("Last ned WAV -fil ...")
urllib.be om.urlretrieve ("http: // soundbible.com/grab.PHP?id = 2218 & type = wav ", filnavn)
# Last inn filen i Pydub
lyd = audiosegment.fra_file (filnavn)
trykk ("Spilling Wav File ...")
# Spill filen
spill lyd)
# Angi mp3 -filnavnet
filnavn = "fugler.mp3 "
# Last ned en mp3 -fil
print ("Last ned mp3 -fil ...")
urllib.be om.urlretrieve ("http: // soundbible.com/grab.PHP?id = 2207 & type = mp3 ", filnavn)
# Last inn filen i Pydub
fugler = audiosegment.fra_mp3 (filnavn)
trykk ("Spilling mp3 -fil ...")
# Spill resultatet
Spill (Birdsound)
trykk ("Ferdig.")

Produksjon:

Lydfilen begynner å spille etter å ha fullført nedlastingen, og følgende utdata vises:

Spill lyd ved hjelp av tksnack

De tksnack Modulen 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 den neste spille() Metoden brukes til å spille av WAV -filen. Her, The blokkering Argument spesifiserer at lyden vil spille asynkront.

# Importer nødvendige moduler
Importer tkinter
Importer tksnack
Importer OS
# Initialiser TK -objektet for å bruke tksnack
root = tkinter.Tk ()
tksnack.Initialiserer NACK (rot)
# Definer TKSnack -objekt
lyd = tksnack.Lyd()
# Skriv inn et eksisterende WAV -filnavn
Wavfile = input ("Angi et WAV -filnavn:")
Hvis OS.sti.eksisterer (Wavfile):
# Les filen
lyd.Les (Wavfile)
# Spill lyd
lyd.Spill (blokkering = 1)
ellers:
# Skriv ut meldingen hvis filstien ikke eksisterer
utskrift ("WAV -fil eksisterer ikke.")

Produksjon:

Lyden vil begynne å spille hvis WAV -filen eksisterer, og følgende utgang vises:

Spill lyd ved hjelp av Simpleaudio

De Simpleaudio Modulen er en pakke med Python 3 som kan spille av lydlyder. Denne modulen er hovedsakelig designet for å spille av 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 Pakke først, og etter det 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 inngang. Hvis filen eksisterer, spiller skriptet lydfilen; Ellers vil skriptet vise en feilmelding.

#!/usr/bin/env python3
# Import Simpleaudio lydmodul
Importer SimpleAudio som SA
# Skriv inn et eksisterende WAV -filnavn
Wavfile = input ("Angi et WAV -filnavn:")
# Spill lyden hvis WAV -filen eksisterer
prøve:
# Definer objekt for å spille
W_Object = SA.WaveObject.fra_wave_file (Wavfile)
# Definer objekt for å kontrollere stykket
P_Object = W_Object.spille()
trykk ("Lyd spiller ...")
P_Object.wait_done ()
trykk ("Ferdig.")
# Skriv ut feilmelding hvis filen ikke eksisterer
Bortsett fra FilenotFoundError:
Print ("WAV -filen eksisterer ikke")

Produksjon:

Lydfilen spilles, og følgende utgang vises etter å ha spilt lyden:

Konklusjon

De grunnleggende bruken av fire Python -moduler for å spille lyd blir forklart i denne opplæringen ved å bruke et antall eksempler. Lydspilloppgaven vises bare i denne opplæringen, men du kan spille inn, redigere og forskjellige lydrelaterte oppgaver ved å bruke Python-skript.