С помощью ffmpeg, собранного с libmp3lame, можно превратить любую цифровую запись в аудиокассетный винтаж — проект симулирует характер реальных магнитных лент. Скрипты накладывают ленточный шум, модуляцию скорости (wow и flutter), обрезают частотный диапазон и применяют эквалайзер, воссоздавая профиль нужной модели.
В репозитории собраны настройки для нескольких кассет. Профиль BASF LH Extra C90 — немецкая ферритовая лента с умеренным шипением и едва заметным дрожанием. Maxell UD C90 даёт более чистую картинку: шипение ниже, частотный диапазон шире. Винтажная Sony CHF60 Type I Normal (1978) на 60 минут добавляет тёплый акцент в середине, а 90-минутная Sony CHF90 (1978) отличается чуть большим плаванием скорости. Поздняя TDK D90 (1995-1997) звучит чисто, оставляя тонкий аналоговый привкус. Самый суровый вариант — mk60 (советская МК-60): она щедро подмешивает шипение, сильные детонации и агрессивно режет верхние частоты.
Работает всё просто. В репозитории для каждой кассеты лежит своя папка с конвертирующими скриптами. Чтобы обработать локальные файлы, достаточно зайти в нужную папку и запустить ./convert_cassette_*.sh — поддерживаются mp3, ogg, m4a и aac. Для захвата живого веб-потока есть скрипт ./record_stream_cassette_*.sh [STREAM_URL], который пишет отрезки в выбранном кассетном профиле. Готовые файлы оседают в общей подпапке ./out.
Проект открыт под лицензией MIT.