Media
December 17, 2021

Скорректировать звук до ограничения диапазона на речь и в моно дорожку

Как мы ранее выяснили, с ю-туба можно скачать только звук, не затрагивая видео дорожку. В нашем случае это

$ 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). Все остальное сервис.

Причем этот скрипт работает как с одиночным видео, так и с плейлистом