Скорректировать звук до ограничения диапазона на речь и в моно дорожку
Как мы ранее выяснили, с ю-туба можно скачать только звук, не затрагивая видео дорожку. В нашем случае это
$ yt-dlp -f 140 https://youtu.be/-f8zINCwGDM -o '%(title)s.%(ext)s'
А теперь нужно скорректировать звук . Сначала превратим его из стерео в моно, так как и чтец, и лекция в студии создают один источник звука, а конкретно это один микрофон и вряд ли микрофон сам создает стерео эффект
ffmpeg -i stereo -ac 1 mono
Теперь нужно уменьшить диапазон частот, так как обычно речевой сигнал расположен в узком диапазоне от 40 др 5000 герц. Для этого используем сжатие сигнала с переменным битрейтом (VBR), качеством 9 (максимальное сжатие) и заодно преобразуем выходной файл в mp3 . В результате имеем такую команду
ffmpeg -i "звук.m4a" -ac 1 -c:a libmp3lame -q:a 9 -f mp3 "звук.mp3"
И наконец создаем весь скрипт, для скачивания, обработки видео с ю-туба в аудио версию ролика.
#!/bin/bash # yt-mono if [ -n "$1" ] then pfx=$1 # else echo "Use: yt-mono URL" # exit fi directory=$PWD # просматривается текущий каталог. extion="m4a" # файлы с расширением yt-dlp -f 140 $pfx -o '%(title)s.%(ext)s' # (1) for f in $directory/*.$extion ; do n=${f/%.$extion} d="$directory/" n=${n/#$d} a="$directory/$n.$extion" n="$n.mp3" ffmpeg -i "$a" -ac 1 -c:a libmp3lame -q:a 9 -f mp3 "$n" # (2) rm "$a" # (3) done
В двух словах: скачанные с ю-туба аудио с расширением m4a (1) , в цикле обрабатываются с превращением в моно и mp3 (2). Скачанный аудио трек (m4a) удаляется (3). Все остальное сервис.
Причем этот скрипт работает как с одиночным видео, так и с плейлистом