Python

Как се възпроизвежда звук в Python

Как се възпроизвежда звук в Python

Как се възпроизвежда звук в Python

Лесна задача е да възпроизвеждате звук с помощта на Python скрипт, защото този език съдържа много модули за използване на скрипт, за да възпроизведете или запишете звук. Използвайки тези модули, можете да възпроизвеждате аудио файлове като mp3, wav и други типове аудио файлове. Първо трябва да инсталирате звуковия модул, преди да използвате модула в скрипта. Този урок ще покаже как да инсталирате различни видове модули на Python за възпроизвеждане на звук.

Възпроизвеждане на звук с помощта на playound

The Пусни звук module е най-простият модул за възпроизвеждане на звук. Този модул работи както на Python 2, така и на Python 3 и е тестван за възпроизвеждане само на wav и mp3 файлове. Той съдържа само един метод, наречен Пусни звук(), с един аргумент за Linux да вземе името на аудио файла за възпроизвеждане.

Инсталация:

Изпълнете следната команда pip3, за да инсталирате този модул в Python 3:

$ pip3 инсталиране на playound

Пример: Възпроизвеждане на wav и mp3 файлове с помощта на playound

В следващия скрипт първо ще се вземе като входно име файл на wav и файлът ще се възпроизведе с помощта на Пусни звук() метод. След това ще се въведе име на mp3 файл и ще се възпроизведе по същия метод.

#!/ usr / bin / env python3
# Импортиране на възпроизвеждащ модул
от playsound внос
 
# Въведете съществуващо име на wav файл
wavFile = input ("Въведете име на wav файл:")
# Пуснете wav файла
playound (wavFile)
 
# Въведете съществуващо име на mp3 файл
mp3File = input ("Въведете име на mp3 файл:")
# Пуснете mp3 файла
възпроизвеждане (mp3File)

Изход:

Ако и двата файла съществуват, тогава звуковият файл ще започне да се възпроизвежда.

Възпроизвеждане на звук с помощта на pydub

The pydub модул поддържа както Python 2, така и Python 3. Този модул има много полезни функции, различни от звуковите модули на Python. Модулът pydub поддържа различни видове аудио файлове. Този модул може да се използва за разделяне на сегменти от всеки аудио файл или добавяне на сегменти към аудио файловете. Можете също да добавите прост ефект върху звука. Този модул директно зависи от два други модула, наречени ffmpeg и libavcodec-extra. Преди да инсталирате модула pydub, първо трябва да инсталирате тези модули.

Инсталация:

Изпълнете следните команди, за да инсталирате пакета pydub на Python:

$ sudo apt-get инсталирайте ffmpeg libavcodec-extra
$ pip3 инсталиране на pydub

Пример-1: Възпроизвеждане на местни wav и mp3 файлове

Този модул използва form_file () метод за възпроизвеждане на wav файл и форма_mp3 () метод за възпроизвеждане на mp3 файл. The възпроизвеждане () тук се използва метод за възпроизвеждане на wav и mp3 файл:

#!/ usr / bin / env python3
от pydub import AudioSegment
от pydub.възпроизвеждане импортиране възпроизвеждане
# Въведете съществуващо име на wav файл
wavFile = input ("Въведете име на wav файл:")
# заредете файла в pydub
звук = AudioSegment.от_файл (wavFile)
print ("Възпроизвеждане на wav файл ...")
# пуснете файла
Пусни звук)
# Въведете съществуващо име на mp3 файл
mp3File = input ("Въведете име на mp3 файл:")
# заредете файла в pydub
music = AudioSegment.от_mp3 (mp3File)
print ("Възпроизвеждане на mp3 файл ...")
# пуснете файла
Пусни музика)

Изход:

Ако съществуват както имена на файлове wav, така и mp3, звукът ще се възпроизведе и ще се появи следният изход:

Пример-2: Изтегляне и възпроизвеждане на wav и mp3 файлове от URL

Следващият пример показва как всеки wav или mp3 файл може да бъде възпроизведен след изтегляне на файла от валидно URL местоположение. Модулът urllib се използва в скрипта за изтегляне на звуковия файл.

#!/ usr / bin / env python3
# Импортирайте необходимите модули
от pydub import AudioSegment
от pydub.възпроизвеждане импорт игра
импортиране на urllib
# Задайте името на файла wav
filename = "звънец на услугата.wav "
# Изтеглете wav файла от url
печат ("изтегляне на wav файл ...")
urllib.заявка.urlretrieve ("http: // soundbible.com / grab.php?id = 2218 & type = wav ", име на файл)
# заредете файла в pydub
звук = AudioSegment.от_файл (име на файл)
print ("Възпроизвеждане на wav файл ...")
# пуснете файла
Пусни звук)
# Задайте името на mp3 файла
filename = "птици.mp3 "
# Изтеглете mp3 файл
печат ("изтегляне на mp3 файл ...")
urllib.заявка.urlretrieve ("http: // soundbible.com / grab.php?id = 2207 & type = mp3 ", име на файл)
# заредете файла в pydub
birdsound = AudioSegment.от_mp3 (име на файл)
print ("Възпроизвеждане на mp3 файл ...")
# Пуснете резултата
игра (птичи звук)
print ("Завършен.")

Изход:

Звуковият файл ще започне да се възпроизвежда след завършване на изтеглянето и ще се появи следният изход:

Възпроизвеждане на звук с помощта на tksnack

The tksnack модул зависи от друг модул, наречен tkinter, за активиране на a tk обект в скрипта.  tksnack команди могат да се използват след инициализиране на tk обект. Трябва да инсталирате и двете tkinker и tksnack пакети за Python 3.

Инсталация:

$ sudo apt-get инсталирайте python3-tk
$ sudo apt-get инсталирайте python3-tksnack

Пример: Възпроизвеждане на wav файл с помощта на tksnack

В следващия скрипт модулът tkSnack се инициализира с помощта на обекта tkinter и следващия възпроизвеждане () метод се използва за възпроизвеждане на wav файл. Ето, блокиране аргументът указва, че звукът ще се възпроизвежда асинхронно.

#!/ usr / bin / env python3
# Импортирайте необходими модули
внос tkinter
импортиране на tkSnack
внос os
 
# Инициализирайте tk обекта, за да използвате tksnack
корен = tkinter.Tk ()
tkSnack.initializeSnack (корен)
 
#Define tksnack object
звук = tkSnack.Звук ()
 
# Въведете съществуващо име на wav файл
wavFile = input ("Въведете име на wav файл:")
 
ако os.път.съществува (wavFile):
# Прочетете файла
звук.четене (wavFile)
# Пусни звук
звук.игра (блокиране = 1)
друго:
# Отпечатайте съобщението, ако пътят до файла не съществува
print ("Wav файл не съществува.")

Изход:

Звукът ще започне да се възпроизвежда, ако wav файлът съществува и ще се появи следният изход:

Възпроизвеждане на звук с помощта на simpleaudio

The simpleaudio модул е ​​пакет от Python 3, който може да възпроизвежда аудио звуци. Този модул е ​​предназначен основно за възпроизвеждане на wav файлове и масиви NumPy. Ще трябва да инсталирате пакета, преди да използвате този модул. Този звуков пакет директно зависи от друг пакет, наречен libasound2-dev. Ще трябва да инсталирате libasound2-dev първо и след това можете да инсталирате simpleaudio пакет.

Инсталация:

Изпълнете следната команда, за да инсталирате пакетите:

$ sudo apt-get инсталирайте libasound2-dev
$ pip3 инсталирайте simpleaudio

Пример: Възпроизвеждане на wav файл с помощта на simpleaudio

В следващия скрипт всяко име на wav файл ще бъде взето като вход. Ако файлът съществува, тогава скриптът ще възпроизведе звуковия файл; в противен случай скриптът ще покаже съобщение за грешка.

#!/ usr / bin / env python3
# Внос на звуков модул simpleaudio
импортиране на simpleaudio като sa
# Въведете съществуващо име на wav файл
wavFile = input ("Въведете име на wav файл:")
 
# Пуснете звука, ако wav файлът съществува
опитвам:
# Определете обект за игра
w_object = sa.WaveObject.from_wave_file (wavFile)
# Определете обект за управление на играта
p_object = w_object.възпроизвеждане ()
print („Звукът се възпроизвежда ...“)
p_object.wait_done ()
print ("Завършен.")
# Отпечатайте съобщение за грешка, ако файлът не съществува
с изключение на FileNotFoundError:
print ("Wav файлът не съществува")

Изход:

Звуковият файл ще се възпроизведе и след възпроизвеждане на звука ще се появи следният изход:

Заключение

Основните приложения на четири модула Python за възпроизвеждане на звук са обяснени в този урок, като се използват редица примери. Задачата за възпроизвеждане на звук е показана само в този урок, но можете да записвате, редактирате и различни задачи, свързани със звука, като използвате Python script.

Топ 5 продукти за ергономична компютърна мишка за Linux
Продължителната употреба на компютър причинява ли болка в китката или пръстите? Страдате ли от схванати стави и постоянно ли ви се налага да си ръкува...
Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...
Пренастройте бутоните на мишката си по различен начин за различен софтуер с X-Mouse Button Control
Може би се нуждаете от инструмент, който може да промени контрола на мишката с всяко приложение, което използвате. Ако случаят е такъв, можете да изпр...