Александр Иванов – Python для творческих. Звук на твоей стороне. (страница 3)
Вставьте в файл эти четыре строки:
python
import librosa
print("Библиотека librosa готова к работе!")
print("Звук на твоей стороне.")
Сохраните файл. Теперь вернитесь в командную строку. Нам нужно перейти в папку audio_book. Если она у вас на рабочем столе, команда будет такой:
bash
cd Desktop/audio_book
Нажмите Enter. Командная строка теперь находится внутри вашей папки. Запустите скрипт:
bash
python hello_sound.py
Если вы увидели на экране:
text
Библиотека librosa готова к работе!
Звук на твоей стороне.
— то всё готово. Вы только что написали и запустили свой первый Python-скрипт. Добро пожаловать в мир, где звук вам подчиняется.
Пара слов перед стартом
Эта книга писалась для человека, который никогда не программировал. Или программировал когда-то давно и с тех пор забыл всё, кроме слова «переменная». Я буду объяснять каждую строчку кода, как если бы вы увидели ее впервые в жизни. Если вы уже знаете Python — отлично, читать будет еще быстрее. Но база заложена с расчетом на полного новичка.
Второе: не бойтесь ошибок. Ошибка в коде — это не провал. Это способ языка сказать: «Я тебя не понял, давай уточним». Программисты с двадцатилетним стажем до сих пор гуглят сообщения об ошибках ежедневно. Это нормальная часть работы, а не показатель некомпетентности.
Третье: в каждой главе вы будете получать готовый работающий инструмент. Берите его, применяйте к своему контенту, улучшайте, ломайте, чините. Код из этой книги — ваш. Никаких лицензий, никаких ограничений.
Что вы будете уметь после этой книги
Давайте начистоту. Я не буду обещать, что после этой книги вы станете звукорежиссером уровня голливудских студий. Это было бы враньем. Но вот что вы будете уметь точно — конкретно и измеримо:
Вы сможете взять сырую запись своего голоса, сделанную в обычной комнате с обычным микрофоном, и превратить ее в чистый, сочный, профессионально звучащий трек. Не за час ручной работы. За тридцать секунд автозапуска скрипта.
Вы научитесь убирать фоновый шум. Тот самый гул холодильника, который почему-то становится слышен именно тогда, когда вы говорите что-то важное. Тот шум улицы, который пробивается даже сквозь закрытые окна. Тот шипящий фон дешевого микрофона, который выдает в вас любителя за километр.
Вы сможете находить и удалять паузы. Не вручную, прокручивая ползунок туда-сюда и мучительно вылавливая взглядом провалы на звуковой дорожке. А одной командой. Все паузы длиннее полусекунды — бах, и сокращены до комфортного размера. Ваш подкаст становится плотнее, энергичнее, профессиональнее.
Вы освоите нормализацию громкости. Ваши видео на YouTube перестанут звучать тише, чем реклама перед ними. Ваш подкаст будет одинаково хорошо слышен и в метро, и в тихой комнате. Зрителям больше не придется дергать ползунок громкости туда-сюда — они будут просто слушать.
Вы сможете менять голос. Хотите озвучить персонажа с низким демоническим тембром? Сделать забавного робота для детского видео? Превратить свой голос в голос белки-летяги для комедийной вставки? Всё это будет делаться парой строк кода.
Вы соберете автоматический микс голоса и фоновой музыки. Чтобы музыка не забивала речь, а аккуратно поддерживала настроение. Чтобы голос всегда был на первом плане, а музыка уходила на второй, когда вы говорите, и возвращалась, когда вы замолкаете. Без ручной автоматизации. Без нервов.
Вы наложите финальный лоск — эквализацию и компрессию, которые превращают обычный голос в «радио-голос». Тот самый бархатный, глубокий, обволакивающий тембр, который заставляет людей дослушивать до конца и спрашивать: «А на чем ты записываешь?»
И самое главное: вы построите свою звуковую кухню. Набор скриптов, которые работают именно с вашим голосом, именно под ваши задачи. Не универсальные настройки из интернета, которые подходят «всем понемногу, но никому конкретно». А инструмент, заточенный под вас.
История автора: как я пришел к Python и звуку
Знаете, с чего начался мой путь в обработке звука? С позора. Самого настоящего, жгучего позора.
Я записал свой первый подкаст. Мне казалось, что это шедевр. Тема была огненная, мысли — глубокие, шутки — смешные. Я залил выпуск на площадку и лег спать с чувством выполненного долга. Мне снились восторженные комментарии и графики растущих прослушиваний.
Проснулся я от первого комментария. Он гласил: «Слушал в машине. Ничего не понял. Сделай погромче, а?»
Второй был хуже: «Звук как из ведра. Автор, ты в колодце сидишь?»
Третий добил: «Бросил на второй минуте. Уши устали продираться сквозь шум».
Я был раздавлен. Я вложил душу в содержание. Но слушателю было плевать на содержание, потому что форма не пускала его внутрь. Звук поставил стену между мной и аудиторией. И я ничего не мог с этим сделать.
Вернее, мог. Я открыл Audacity. И провел в нем четыре часа. Четыре часа я двигал ползунки, применял эффекты, отменял, применял другие, слушал результат, сравнивал, снова отменял. В итоге я получил звук немного лучше, но все еще далекий от идеала. А главное — я не понимал, что именно я сделал. Я не мог повторить этот результат для следующего выпуска. Каждый раз начиналась та же битва с ползунками.
Тогда я подумал: «Я же программист. Почему я занимаюсь ручным трудом, который можно автоматизировать?»
Я открыл Python. Установил librosa. И написал свой первый скрипт для очистки звука. Он работал отвратительно. Звук после обработки напоминал голос робота, говорящего из бочки с водой. Но я хотя бы понимал, что именно я сделал не так.
Через неделю экспериментов мой скрипт чистил звук лучше, чем я вручную в Audacity. Через месяц я мог обработать весь выпуск одной командой. Через три месяца друзья начали спрашивать: «Слушай, а что у тебя за микрофон? Звучит бомбически».
Микрофон был тот же самый, что и в первом позорном выпуске. Просто теперь между ним и слушателем стоял Python.
Эта книга — способ передать вам тот путь, который я прошел за месяцы, но в сжатом и понятном виде. Вы пройдете его за девять глав. И вам не придется набивать шишки, на которых набивал шишки я.
Ответы на страхи: «Я гуманитарий и боюсь кода»
Если вы прямо сейчас думаете: «Это все круто, но я гуманитарий. Я боюсь кода. Я не понимаю математику. Я не технарь. У меня не получится», — пожалуйста, прочитайте следующие четыре абзаца внимательно.
Первое. Код — это не магия, не математика и не инопланетный язык. Код — это инструкция, записанная в особой форме. Если вы можете объяснить другому человеку, как сделать бутерброд — пошагово, в правильной последовательности, с учетом всех деталей, — вы можете писать код. Потому что программирование — это просто умение раскладывать задачу на шаги.
Второе. В этой книге нет математики. Серьезно. Ни одной формулы, которую нужно было бы запомнить. Ни одного математического доказательства. Все, что делает Python под капотом, я объясняю через метафоры и аналогии. Фурье-преобразование? Я расскажу вам, что это как разложить смузи на отдельные фрукты, из которых он сделан. Спектральное вычитание? Это как убрать шум дождя из записи разговора, если у вас есть отдельная запись шума дождя. Без формул. Без интегралов. Без боли.
Третье. Вам не нужно становиться программистом. Вы не будете писать код с нуля. Вы будете копировать готовые скрипты, подставляя в них название своего файла. И запускать. Всё. Постепенно вы начнете понимать, что именно происходит в коде, и сможете его менять под свои нужды. Но это произойдет естественно, без насилия над мозгом.
Четвертое. Я проверил эту методику на живых людях. Моя жена — филолог, она до знакомства со мной никогда не открывала командную строку. Сейчас она обрабатывает свои аудиозаписи для языковых курсов с помощью скриптов, которые я ей когда-то настроил. Через месяц она уже сама поправила в них пару параметров. Через три — написала свой первый мини-скрипт для обрезки тишины в начале и конце файла. Если смогла она — сможете и вы. Филолог победил код. Код не такой страшный, как кажется.
Как пользоваться книгой: три сценария
У людей разные цели и разный стиль обучения. Я спроектировал эту книгу так, чтобы она работала для трех типов читателей. Выберите свой сценарий.
Сценарий «Дай готовое».
Вы хотите просто решить проблему со звуком и не вдаваться в детали. Отлично. Откройте нужную главу. Найдите раздел «Код». Скопируйте скрипт целиком. Подставьте название своего файла. Запустите. Результат готов. Раздел «За кулисами» пропускайте без зазрения совести. Вы пришли за инструментом — берите инструмент. Никто не заставляет вас изучать устройство дрели, чтобы просверлить дырку в стене.
Сценарий «Хочу понимать».
Вы хотите не просто применять готовые решения, но и понимать, что именно происходит. Тогда читайте главу целиком. Раздел «За кулисами» для вас — основной. После каждой главы вы будете не просто уметь чинить звук, но и понимать, почему этот метод работает, а другой нет. Через несколько глав вы начнете соединять приемы в собственные цепочки обработки. Вы будете не просто пользователем, а мастером.
Сценарий «Хочу углубиться».
Вам мало того, что в книге. Вы хотите экспериментировать, ломать и чинить, создавать свои инструменты. Тогда ваша любимая часть — «Творческий практикум» в конце каждой главы. Там я даю идеи, которые выводят за пределы основного материала. Что будет, если применить шумоподавление дважды? А если сначала изменить голос, а потом убрать шум — результат изменится? А можно ли соединить два скрипта в один конвейер? Дерзайте. Код из этой книги — ваш полигон для экспериментов.