Робота з аудіофайлами в PyDub

Обробка усного мовлення в Python

Daniel Bourke

Machine Learning Engineer/YouTube Creator

Прикручуємо гучність до 11

# Імпортуйте аудіофайл
wav_file = AudioSegment.from_file("wav_file.wav")
# Мінус 60 дБ
quiet_wav_file = wav_file - 60
# Спробуйте розпізнати тихий звук
recognizer.recognize_google(quiet_wav_file)
UnknownValueError:
Обробка усного мовлення в Python

Підвищення гучності

# Збільште гучність на 10 дБ
louder_wav_file = wav_file + 10
# Спробуйте розпізнати
recognizer.recognize_google(louder_wav_file)
this is a wav file
Обробка усного мовлення в Python

Тепер усе звучить однаково

# Імпортуйте AudioSegment і виконайте нормалізацію
from pydub import AudioSegment
from pydub.effects import normalize
from pydub.playback import play
# Імпортуйте аудіо з нерівномірною гучністю
loud_quiet = AudioSegment.from_file("loud_quiet.wav")
# Нормалізуйте рівні звуку
normalized_loud_quiet = normalize(loud_quiet)
# Прослухайте результат
play(normalized_loud_quiet)
Обробка усного мовлення в Python

Ремікс ваших аудіофайлів

# Імпортуйте аудіо з перешкодами на початку
static_at_start = AudioSegment.from_file("static_at_start.wav")
# Приберіть перешкоди зрізанням
no_static_at_start = static_at_start[5000:]

# Прослухайте новий звук
play(no_static_at_start)
Обробка усного мовлення в Python

Ремікс ваших аудіофайлів

# Імпортуйте два аудіофайли
wav_file_1 = AudioSegment.from_file("wav_file_1.wav")
wav_file_2 = AudioSegment.from_file("wav_file_2.wav")
# Об'єднайте два аудіофайли
wav_file_3 = wav_file_1 + wav_file_2

# Прослухайте звук
play(wav_file_3)
# Об'єднайте два wav-файли й зробіть комбінацію гучнішою
louder_wav_file_3 = wav_file_1 + wav_file_2 + 10
Обробка усного мовлення в Python

Розбиття аудіо на канали

# Імпортуйте аудіо телефонного дзвінка
phone_call = AudioSegment.from_file("phone_call.wav")
# Знайдіть кількість каналів
phone_call.channels
2
# Розділіть стерео на моно
phone_call_channels = phone_call.split_to_mono()
phone_call_channels
[<pydub.audio_segment.AudioSegment, <pydub.audio_segment.AudioSegment>]
Обробка усного мовлення в Python

Розбиття аудіо на канали

# Дізнайтеся кількість каналів у першому елементі списку
phone_call_channels[0].channels
1
# Розпізнайте перший канал
recognizer.recognize_google(phone_call_channel_1)
the pydub library is really useful
Обробка усного мовлення в Python

Пишемо код!

Обробка усного мовлення в Python

Preparing Video For Download...