Александр Иванов – Python для творческих. Звук на твоей стороне. (страница 2)
Код не скрывает от вас ничего. Вы говорите: «Вот этот диапазон частот ослабить на 12 децибел». И он ослабляет именно этот диапазон. Вы говорите: «Найти участки тишины длиннее полсекунды и обрезать их до четверти секунды». И он делает именно это. Полный контроль. Никакой магии.
Причина третья: воспроизводимость.
Выпустили подкаст. Через неделю поняли, что в третьей минуте остался щелчок, который вы не заметили. В Audacity это означает: открыть проект, найти то место, исправить, снова экспортировать. Минут десять ручной работы.
В Python это означает: подправили одну строку в скрипте, перезапустили — готово. Ваш процесс обработки звука становится документированным, повторяемым и неубиваемым. Вы всегда можете вернуться и улучшить результат, не начиная с нуля.
Что такое звук с точки зрения Python
Давайте договоримся о главном прямо сейчас. Когда вы слышите слово «код», у вас в голове, возможно, всплывает образ хакера в капюшоне, который стучит по клавишам под зеленые строчки, падающие сверху. Забудьте.
Код — это просто инструкция. Написанная на человеческом языке, просто немного более строгом, чем обычно.
Вот пример инструкции для человека:
«Возьми аудиофайл, найди в нем все места, где громкость ниже порога слышимости, и удали их».
А вот та же инструкция для Python:
python
import librosa
import soundfile as sf
y, sr = librosa.load('podcast.wav')
y_trimmed, _ = librosa.effects.trim(y, top_db=20)
sf.write('podcast_clean.wav', y_trimmed, sr)
Прямо сейчас это может выглядеть непонятно. Но к концу этой книги вы будете читать такой код как родной. Обещаю.
Звук для Python — это просто массив чисел. Представьте себе очень длинный ряд значений громкости, измеренных сорок четыре тысячи раз в секунду. Каждое число — это положение мембраны вашего динамика в конкретный момент времени. Положительное число — мембрана идет вперед, отрицательное — назад, ноль — покой.
Ваш голос, музыка, шум ветра, лай собаки за окном — все это превращается в столбики чисел. И Python умеет с этими столбиками работать быстрее, чем любой графический редактор.
Что вам понадобится
Никакого специального оборудования. Никаких платных программ. Только три вещи:
Первое: компьютер.
Подойдет любой — Windows, Mac, Linux. Python работает везде одинаково. Если ваш компьютер способен открыть браузер и не зависнуть, он справится с обработкой аудио.
Второе: Python версии 3.9 или новее.
Если у вас еще нет Python — не пугайтесь. Следующий раздел проведет вас через установку за десять минут. Это действительно просто: скачали установщик, нажали «Далее» несколько раз, готово.
Третье: желание автоматизировать рутину и вернуть себе время.
Оно у вас уже есть, раз вы открыли эту книгу.
Как устроена эта книга
В этой книге девять глав. Каждая глава — это одна конкретная задача, с которой сталкивается любой создатель контента. Никакой абстрактной теории в вакууме. Только реальные проблемы и их решения.
Каждая глава построена по одному и тому же принципу:
В чем проблема. Я описываю ситуацию из жизни. Возможно, вы узнаете себя.
Как мы будем ее решать. Коротко о том, какой инструмент применим и почему.
Код. Пошагово, с объяснением каждой строчки. Вы можете копировать его и запускать сразу.
Лаборатория ошибок. Что может пойти не так и как это исправить. Потому что идеальных запусков с первого раза не бывает ни у кого.
За кулисами. Для любопытных: как это работает внутри. Этот раздел можно пропустить, если хочется просто получить результат. Но если вы хотите понимать, что именно происходит со звуком, — welcome.
Творческий практикум. Что еще можно сделать с этим же инструментом, чтобы ваш контент стал еще круче.
Чек-лист. Краткое резюме главы. Пробежались глазами — вспомнили главное.
Книгу можно читать последовательно, от корки до корки, а можно использовать как справочник: открыли нужную главу, скопировали код, решили проблему, закрыли. Оба подхода рабочие.
Установка Python за десять минут
Давайте сделаем это прямо сейчас, чтобы потом не отвлекаться. Выполните следующие шаги — и через десять минут Python будет готов к работе.
Шаг 1. Скачиваем Python.
Откройте официальный сайт python.org. Прямо на главной странице вы увидите большую желтую кнопку «Download Python 3.x» — где x заменяется на самую свежую версию. На момент написания книги это 3.12, но подойдет любая версия, начиная с 3.9. Смело нажимайте кнопку. Скачивается установщик.
Шаг 2. Запускаем установку.
Нашли скачанный файл, запустили. Внимание: на первом экране установщика есть важная галочка внизу — «Add Python to PATH». Обязательно поставьте ее. Если пропустите — Python установится, но командная строка не будет знать, где он лежит. Поставили галочку? Жмите «Install Now».
Подождите минуту. Готово.
Шаг 3. Проверяем.
Теперь проверим, что все работает. Откройте программу «Командная строка» на Windows (нажмите Win, начните вводить cmd, нажмите Enter) или «Терминал» на Mac и Linux.
В открывшемся окне введите:
bash
python --version
И нажмите Enter. Если вы увидели строчку вроде Python 3.12.1 — поздравляю, Python с вами.
Если вы увидели ошибку — скорее всего, вы пропустили галочку «Add Python to PATH». Ничего страшного: переустановите Python и на этот раз обязательно поставьте галочку. Это самая частая проблема, она решается за две минуты.
Шаг 4. Устанавливаем библиотеки.
Сам по себе Python — это как пустая кухня. Плита есть, а продуктов нет. Нам нужно «закупить продукты» — библиотеки для работы со звуком.
В той же командной строке выполните три команды подряд, нажимая Enter после каждой:
bash
pip install librosa
pip install soundfile
pip install noisereduce
Пойдут строчки с процентами, скачиваниями, установками. Когда все закончится, командная строка снова будет ждать вашего ввода. Это значит — все установлено успешно.
Если команда pip не распознается — попробуйте pip3 вместо pip. Это случается на некоторых Mac и Linux. То есть вводите pip3 install librosa и так далее.
Шаг 5. Ваш первый скрипт.
Давайте удостоверимся, что все работает как надо. Создайте на рабочем столе папку audio_book. Внутри нее создайте текстовый файл с именем hello_sound.py.
Внимание: расширение должно быть именно .py, а не .txt. Windows по умолчанию скрывает расширения файлов, поэтому то, что вы видите как hello_sound, на самом деле может быть hello_sound.py.txt. Чтобы этого избежать, откройте проводник, перейдите на вкладку «Вид», поставьте галочку «Расширения имен файлов». Теперь вы видите все расширения и можете создавать .py файлы правильно.
Откройте hello_sound.py в любом текстовом редакторе. Можно в стандартном Блокноте, но лучше скачать бесплатный VS Code — он умеет подсвечивать код разными цветами, что сильно облегчает жизнь.