Python

Как воспроизводить звук в Python

Как воспроизводить звук в Python

Как воспроизводить звук в Python

Воспроизведение звука с помощью скрипта Python - простая задача, потому что этот язык содержит множество модулей для использования скрипта для воспроизведения или записи звука. Используя эти модули, вы можете воспроизводить аудиофайлы, такие как mp3, wav и другие типы аудиофайлов. Вы должны сначала установить звуковой модуль, прежде чем использовать модуль в скрипте. Из этого туториала Вы узнаете, как установить различные типы модулей Python для воспроизведения звука.

Воспроизвести звук с помощью playsound

В звук module - это самый простой модуль для воспроизведения звука. Этот модуль работает как на Python 2, так и на Python 3, и протестирован для воспроизведения только файлов wav и mp3. Он содержит только один метод с именем playsound (), с одним аргументом для Linux, чтобы взять имя аудиофайла для воспроизведения.

Монтаж:

Выполните следующую команду pip3, чтобы установить этот модуль в Python 3:

$ pip3 install playsound

Пример: воспроизведение файлов wav и mp3 с помощью playsound

В следующем скрипте имя файла в формате wav сначала будет приниматься в качестве входных данных, и файл будет воспроизводиться с использованием playsound () метод. Затем будет введено имя файла mp3 и воспроизведено тем же способом.

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

Выход:

Если оба файла существуют, звуковой файл начнет воспроизводиться.

Воспроизведение звука с помощью pydub

В Pydub модуль поддерживает как Python 2, так и Python 3. Этот модуль имеет множество полезных функций, помимо звуковых модулей Python. Модуль pydub поддерживает разные типы аудиофайлов. Этот модуль можно использовать для разделения сегментов любого аудиофайла или добавления сегментов к аудиофайлам. Вы также можете добавить простой эффект поверх звука. Этот модуль напрямую зависит от двух других модулей, называемых ffmpeg а также libavcodec-extra. Перед установкой модуля pydub вы должны сначала установить эти модули.

Монтаж:

Выполните следующие команды, чтобы установить пакет pydub для Python:

$ sudo apt-get install ffmpeg libavcodec-extra
$ pip3 установить pydub

Пример-1: Воспроизведение локальных файлов wav и mp3

Этот модуль использует form_file () метод для воспроизведения файла wav и form_mp3 () метод воспроизведения mp3 файла. В играть() здесь используется метод для воспроизведения файлов wav и mp3:

#!/ usr / bin / env python3
из pydub импортировать AudioSegment
из Pydub.воспроизведение импорт воспроизведение
# Введите существующее имя файла в формате wav
wavFile = input ("Введите имя файла в формате wav:")
# загружаем файл в pydub
sound = AudioSegment.from_file (wavFile)
print ("Воспроизведение файла wav…")
# воспроизвести файл
играть (звук)
# Введите существующее имя файла в формате mp3
mp3File = input ("Введите имя файла mp3:")
# загружаем файл в pydub
music = AudioSegment.from_mp3 (mp3File)
print ("Воспроизведение mp3-файла…")
# воспроизвести файл
воспроизводить музыку)

Выход:

Если существуют имена файлов wav и mp3, то звук будет воспроизводиться, и появится следующий вывод:

Пример-2: загрузка и воспроизведение файлов wav и mp3 с URL-адреса

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

#!/ usr / bin / env python3
# Импортировать необходимые модули
из pydub импортировать AudioSegment
из Pydub.воспроизведение импорт воспроизведение
импортировать urllib
# Установить имя файла в формате wav
filename = "служебный звонок.wav "
# Скачать wav файл с url
print ("загрузка файла wav…")
urllib.запрос.urlretrieve ("http: // soundbible.com / grab.php?id = 2218 & type = wav ", имя файла)
# загружаем файл в pydub
sound = AudioSegment.from_file (имя файла)
print ("Воспроизведение файла wav…")
# воспроизвести файл
играть (звук)
# Установить имя файла mp3
filename = "птицы.mp3 "
# Скачать mp3 файл
print («скачивание mp3-файла…»)
urllib.запрос.urlretrieve ("http: // soundbible.com / grab.php?id = 2207 & type = mp3 ", имя файла)
# загружаем файл в pydub
birdsound = AudioSegment.from_mp3 (имя файла)
print ("Воспроизведение mp3-файла…")
# Воспроизвести результат
играть (птичий звук)
print ("Готово.")

Выход:

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

Воспроизвести звук с помощью tksnack

В tksnack модуль зависит от другого модуля с именем tkinter, чтобы активировать тк объект в сценарии.  tksnack команды можно использовать после инициализации тк объект. Вы должны установить оба ткинкер а также tksnack пакеты для Python 3.

Монтаж:

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

Пример: воспроизведение файла wav с помощью tksnack

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

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

Выход:

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

Воспроизведение звука с помощью simpleaudio

В simpleaudio модуль - это пакет Python 3, который может воспроизводить звуковые файлы. Этот модуль в основном предназначен для воспроизведения файлов wav и массивов NumPy. Перед использованием этого модуля вам необходимо установить пакет. Этот звуковой пакет напрямую зависит от другого пакета, называемого libasound2-dev. Вам нужно будет установить libasound2-dev пакет, а затем вы можете установить simpleaudio упаковка.

Монтаж:

Выполните следующую команду, чтобы установить пакеты:

$ sudo apt-get install 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.

Бесплатные движки с открытым исходным кодом для разработки игр для Linux
В этой статье будет рассмотрен список бесплатных игровых движков с открытым исходным кодом, которые можно использовать для разработки 2D- и 3D-игр в L...
Shadow of the Tomb Raider для Linux Учебное пособие
Shadow of the Tomb Raider - двенадцатое дополнение к серии Tomb Raider - франшизе приключенческой игры, созданной Eidos Montreal. Игра была очень хоро...
Как увеличить FPS в Linux?
FPS означает Кадров в секунду. Задача FPS - измерить частоту кадров при воспроизведении видео или во время игры. Проще говоря, количество непрерывных ...