Скорректировать звук до ограничения диапазона на речь и в моно дорожку
Как мы ранее выяснили, с ю-туба можно скачать только звук, не затрагивая видео дорожку. В нашем случае это
$ 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). Все остальное сервис.
Причем этот скрипт работает как с одиночным видео, так и с плейлистом