Python звук из приложения

winsound — Sound-playing interface for Windows¶

The winsound module provides access to the basic sound-playing machinery provided by Windows platforms. It includes functions and several constants.

winsound. Beep ( frequency , duration ) ¶

Beep the PC’s speaker. The frequency parameter specifies frequency, in hertz, of the sound, and must be in the range 37 through 32,767. The duration parameter specifies the number of milliseconds the sound should last. If the system is not able to beep the speaker, RuntimeError is raised.

winsound. PlaySound ( sound , flags ) ¶

Call the underlying PlaySound() function from the Platform API. The sound parameter may be a filename, a system sound alias, audio data as a bytes-like object , or None . Its interpretation depends on the value of flags, which can be a bitwise ORed combination of the constants described below. If the sound parameter is None , any currently playing waveform sound is stopped. If the system indicates an error, RuntimeError is raised.

winsound. MessageBeep ( type = MB_OK ) ¶

Call the underlying MessageBeep() function from the Platform API. This plays a sound as specified in the registry. The type argument specifies which sound to play; possible values are -1 , MB_ICONASTERISK , MB_ICONEXCLAMATION , MB_ICONHAND , MB_ICONQUESTION , and MB_OK , all described below. The value -1 produces a “simple beep”; this is the final fallback if a sound cannot be played otherwise. If the system indicates an error, RuntimeError is raised.

The sound parameter is the name of a WAV file. Do not use with SND_ALIAS .

Читайте также:  Ввод значения переменной java

The sound parameter is a sound association name from the registry. If the registry contains no such name, play the system default sound unless SND_NODEFAULT is also specified. If no default sound is registered, raise RuntimeError . Do not use with SND_FILENAME .

All Win32 systems support at least the following; most systems support many more:

Corresponding Control Panel Sound name

Источник

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

Масса приложений записывает голос и воспроизводит звуки, если вы тоже этого хотите, то попали в нужное место и в нужное время. В этом уроке мы будем использовать разные библиотеки Python для воспроизведения и записи звука на Python.

Давайте установим необходимые библиотеки для этого урока:

pip3 install playsound pyaudio pydub ffmpeg-python

Аудиоплеер

Во-первых, начнем с самого простого модуля звукового сопровождения?, playsound :

from playsound import playsound playsound("audio_file.mp3")

Да, этот модуль нам нужен и это, в основном, чистый Python, кроссплатформенный, однофункциональный модуль. В документации сказано, что работают расширения WAV и MP3, а также есть и другие форматы аудиозаписи.

Функция playsound() воспроизводит звук аудиофайла и блокирует его до тех пор, пока чтение файла не будет завершено. Можете передать block = False для того, что-бы функция работала асинхронно.

Другой альтернативой является использование библиотеки Pydub :

from pydub import AudioSegment from pydub.playback import play # читать файл MP3 song = AudioSegment.from_mp3("audio_file.mp3") # song = AudioSegment.from_wav("audio_file.wav") # you can also read from other formats such as MP4 # song = AudioSegment.from_file("audio_file.mp4", "mp4") play(song)

Примечание: на вашем компьютере должен быть установлен ffmpeg , чтобы использовать функцию AudioSegment.from_file() , которая поддерживает все форматы, поддерживаемые ffmpeg.

Pydub — довольно популярная библиотека, поскольку она предназначена не только для воспроизведения звука, вы можете использовать ее для разных целей, таких как преобразование аудиофайлов, нарезка звука, увеличение или уменьшение громкости, и многое другое, просмотрите их репозиторий для получения дополнительной информации.

Если вы хотите воспроизводить аудио с помощью PyAudio, пройдите по этой ссылке.

Читайте также:  Python print изменить цвет

Диктофон

Для записи голоса воспользуемся библиотекой PyAudio, так как это наиболее удобный подход:

import pyaudio import wave # имя файла для записи filename = "recorded.wav" # установить размер блока в 1024 сэмпла chunk = 1024 # образец формата FORMAT = pyaudio.paInt16 # моно, если хотите стере измените на 2 channels = 1 # 44100 сэмплов в секунду sample_rate = 44100 record_seconds = 5 # initialize PyAudio object p = pyaudio.PyAudio() # открыть объект потока как ввод и вывод stream = p.open(format=FORMAT, channels=channels, rate=sample_rate, input=True, output=True, frames_per_buffer=chunk) frames = [] print("Recording. ") for i in range(int(44100 / chunk * record_seconds)): data = stream.read(chunk) # если вы хотите слышать свой голос во время записи # stream.write(data) frames.append(data) print("Finished recording.") # остановить и закрыть поток stream.stop_stream() stream.close() # завершить работу объекта pyaudio p.terminate() # сохранить аудиофайл # открываем файл в режиме 'запись байтов' wf = wave.open(filename, "wb") # установить каналы wf.setnchannels(channels) # установить формат образца wf.setsampwidth(p.get_sample_size(FORMAT)) # установить частоту дискретизации wf.setframerate(sample_rate) # записываем кадры как байты wf.writeframes(b"".join(frames)) # закрыть файл wf.close()

Приведенный выше код в основном инициализирует объект PyAudio , а затем мы открываем объект потока, который позволяет нам записывать с микрофона с помощью метода stream.read() . После того, как мы закончили запись, используем встроенный волновой модуль для записи аудиофайла WAV на диск.

Если вы установите input = True в методе p.open() , то сможете использовать stream.read() для записи с микрофона. Кроме того, если вы установите output = True , то сможете использовать stream.write() для воспроизведения через динамик.

Заключение

Хорошо, здесь вы узнали, как воспроизводить аудиофайлы с помощью библиотек playsound , Pydub и PyAudio, а также записывать голос с помощью PyAudio.

Для вас есть большая задача — объединить звук с устройством записи экрана и получите инструмент Python, который одновременно записывает голос и экран. Нужно будет использовать поток, который записывает звук, и другой поток для записи экрана, удачи!

Print Friendly, PDF & Email

Добавить комментарий Отменить ответ

Ограничение ответственности

Информация на сайте предоставляется «как есть», без всяких гарантий, включая гарантию применимости в определенных целях, коммерческой пригодности и т.п. В текстах могут быть технические неточности и ошибки. Автор не может гарантировать полноты, достоверности и актуальности всей информации, не несет ответственности за последствия использования сайта третьими лицами. Автор не делает никаких заявлений, не дает никаких гарантий и оценок относительно того, что результаты, размещенные на сайте и описанные в заявлениях относительно будущих результатов, будут достигнуты. Автор не несет ответственности за убытки, возникшие у пользователей или третьих лиц в результате использования ими сайта, включая упущенную выгоду. Автор не несет ответственности за убытки, возникшие в результате действий пользователей, явно не соответствующих обычным правилам работы с информацией в сети Интернет. Пользуясь сайтом, вы принимаете и соглашаетесь со всеми нашими правилами, включая «Ограничение ответственности».

Читайте также:  Терминал питона vs code

Рекомендую

Время, где сейчас

До восхода не будить и при пожаре выносить в первую очередь, а после заката звонить только в экстренных случаях:

Скоро, скоро Новый год

Рубрики

Отче наш

Отче наш, Иже еси́ на небесе́х! Да святи́тся имя Твое́, да прии́дет Ца́рствие Твое, да будет воля Твоя, я́ко на небеси́ и на земли́. Хлеб наш насу́щный даждь нам днесь; и оста́ви нам до́лги наша, я́коже и мы оставля́ем должнико́м нашим; и не введи́ нас во искушение, но изба́ви нас от лука́ваго

Под контролем

  1. Академия студенчества
  2. ИЛИМК
  3. Офис академического письма
  4. МАЛиМК
  5. НОЦ Лингво-инновационных технологий
  6. Партнерская сеть «Институт Пушкина»
  7. Центр делового образования
  8. Центр «Лингва»
  9. Управление инновациями и инвестициями
  10. Финансовый менеджмент
  11. Кафедра ИТЭ
  12. Кафедра ЦЭИИТ
  13. Бизнес-информатика + Кванториум
  14. ВКР: Бизнес-информатика
  15. Бизнес-информатика on-line
  16. Бизнес-информатика — драйв цифровой трансформации
  17. ЭУ-160
  18. ЭУ-235
  19. ЭУ-320
  20. ЭУ-442
  21. ЭУ-419 (архив)
  22. ЭУ-444, 461 (архив)
  23. ЭУ-459 (архив)
  24. ЭУ-434 (архив)
  25. Магистры Бизнес-информатики
  26. Магистратура ВШЭУ
  27. Технологическая площадка
  28. Digital Experience Workshop
  29. Cтэк технологий Web-разработки: шаг за шагом
  30. Абитуриент ВШЭУ — 2018
  31. Школа бизнеса ВШЭУ
  32. Кибер-студент
  33. Зеркало сайта
  34. ИТ-марафон
  35. Покори свой Олимп
  36. Digital Experience
  37. ООО «ЮЖУРАЛСЕРВИС»
  38. Школа перспективных технологий
  39. Бизнес‑информатике 15 лет

Источник

Оцените статью