LINUX.ORG.RU

taporwave 0.0.3

 , , , ,


2

2

taporwave — это бесплатный генератор случайного изменения скорости воспроизведения, написанный на языке Haskell.

Благодаря постоянному изменению скорости достигается эффект низкокачественного кассетного магнитофона с нестабильным лентопротягом; характерной чертой этого эффекта является «завывание» среднечастотного легато, в особенности партий синтезаторов.

В настоящий момент поддерживается только плеер MPV. Запускать его следует с ключами --input-file=/dev/stdin и --audio-pitch-correction=no. Команды изменения скорости подаются на вход плеера через пайп. Сам taporwave можно запускать с опциональными ключами --minBound и --maxBound, задающими соответственно нижний и верхний предел коэффициента умножения частоты. По умолчанию скорость изменяется в диапазоне от 0.8 до 1.2.

Полный пример использования:

/data/progs/haskell/taporwave/taporwave --minBound 0.9 --maxBound 1.1|mpv --no-video --input-file=/dev/stdin --audio-pitch-correction=no /downloads/sound/misc/Tracker\ music\ playlist\ from\ ~1999-gHQYYh7J1O4.webm

Пример получаемого звучания: оригинальная композиция, она же в обработке taporwave.

Доступна сборка для GNU/Linux-cистем с архитектурой процессора x86_64 (md5: d25f5cfe3790417a3debd5ff6ba46dbd). Пользователи других систем могут собрать программу самостоятельно.

Лицензия: WTFPL.

>>> Репозиторий

сделай, чтобы можно было писать произвольные функции ушакаливания. А эту вынеси в либу. Совсем годнота будет.

anonymous ()
Ответ на: комментарий от anonymous

Функцию и так можно сделать плагином-фильтром к MPV. А одними входными командами произвольного ушакаливания не напасёшься. По сути, единственная причина, по которой я сделал эту штуку в таком виде — что изначально она была однострочником на баше. Вот если сделать бойлерплейт-фильтр, всё написание шакалятора к которому сводится к написанию собственно функции — тогда, возможно, имеет смысл. И то, лучше вместо этого сделать мостик к уже обкатанным в этой сфере технологиям, например, LADSPA, чем городить ни с чем не совместимый велосипед.

bodqhrohro_promo ()

Сознайся, что набирал в редакторе без автоматически расставляемых отступов? :) (так умеет делать emacs)

И может быть скобки заменить на ($)?

minBoundParser :: Parser String
minBoundParser = strOption $
    long "minBound" <>
    metavar "MIN_BOUND" <>
    value "0.8" <>
    help "Lowest value speed can reach"
dave ★★★★★ ()
Последнее исправление: dave (всего исправлений: 1)

Новость о скрипте в 60 строк?! Куда смотрят модераторы...

RazrFalcon ★★★★★ ()

Ура. Помню тему с тем однострочником. Теперь ждём, когда это прикрутят к каким-нибудь играм

sehellion ★★★★★ ()

Офигенно, спасибо!

Deleted ()

Я, конечно, практически ничего не понимаю в музыке, но кто-нибудь может пояснить, зачем это нужно?

достигается эффект низкокачественного кассетного магнитофона

Я бы понял обратный скрипт, который бы пытался восстанавливать звучание исходно испорченной записи.

Но сознательно моделировать низкокачественное (по словам автора) устройство воспроизведения (фактически, портить звук)?

Зачем???

Serge10 ★★★ ()

генератор случайного изменения скорости воспроизведения
написанный на языке Haskell
поддерживается только плеер MPV

ЗАЧЕМ ЭТО ВСЕ?

pkurg ★★★ ()
Ответ на: комментарий от bodqhrohro_promo

изначально она была однострочником на баше

Была годнота на скриптовом языке шелловой оболочки @ стало ненужно на маргинальном ЯП. Закопал бы сразу, и всё.

Virtuos86 ★★★★★ ()
Ответ на: комментарий от pkurg

Вспомнить ламповую кассетную молодость. Ты поди и аудиокассеты карандашом не перематывал вручную?

Virtuos86 ★★★★★ ()

Срочно нужно добавить тег «ненужно».

anonymous ()

Совсем непохоже на настоящий кассетный магнитофон. Да и не самый востребованный эффект.

rst ()
Ответ на: комментарий от Virtuos86

Да, в моём ламповом детстве магнитофоны т-а-к звук не портили. Видать очень качественные были...

unDEFER ★★★★ ()
Ответ на: комментарий от Virtuos86

Ты поди и аудиокассеты карандашом не перематывал вручную?

Зачем вручную?

anonymous ()
Ответ на: комментарий от Serge10

Зачем???

У хипстеров сейчас модно-с «ностальгировать по времени в котором не был»

nerfur ★★★ ()

Это будет лучше чем вручную крутить скорость в alsaplayer?

anonymous ()

Не, ну не были мафоны такими убитыми. Пример плохой. Уменьши там пределы безобразия

dikiy ★★☆☆☆ ()
Ответ на: комментарий от pkurg

ЗАЧЕМ ЭТО ВСЕ?

Вот и выросло поколение, незнающая про касетники...

Odalist ★★★★★ ()
Ответ на: комментарий от dikiy

насчёт мафонов не скажу а вот плеер walkman купленный с рук на развале под конец жизни(достаточно долгой я скажу) регулярно давал петуха со скоростью воспроизведения

anonymous ()
Ответ на: комментарий от nerfur

У хипстеров сейчас модно-с «ностальгировать по времени в котором не был»

А причем тут время-то? Ведь «низкокачественный кассетный магнитофон с нестабильным лентопротягом» - это признак нищеты, а не времени. У людей с нормальными доходами была и тогда нормальная техника.

А ностальгия по нищете - лично мне это непонятно. Наверняка у каждого, жившего в те годы, было полно действительно хороших и радостных событий в жизни, которые приятно вспомнить. Зачем же по негативу ностальгировать???

Все равно, что купить сейчас приличную машину и пытаться расшатывать на ней двери, оторвать глушитель, чтобы по ощущениям было похоже на убитую копейку, на которой ездил 30 лет назад ;).

Serge10 ★★★ ()

Прочитал как «топор-вейв».

Radjah ★★★★★ ()

Больше похоже на плохую вертушку. Надо еще шипение добавить и низкочастотный джиттер, тогда будет очень годный плагин эффекта.

abraziv_whiskey ★★★★★ ()
Ответ на: комментарий от Virtuos86

Я брал бабины, ставил их в «Романтику», протягивал ленту через всю комнату наискасок оборачивая вокруг ручки шкафчика на манер блока, ну и врубал чудо советской техники. Даже развешивать что-то пытался на ленте. Сколько лет тогда было не помню.

Так, кхм, о чем это я... Да, надеюсь, что сабж кому-то нужен бггг.)))

mos ★★★★★ ()
Ответ на: комментарий от pkurg

Да я поди постарше тебя буду.

Сильно сомневаюсь...

Odalist ★★★★★ ()
Ответ на: комментарий от dave

автоматически расставляемых

отступов? :) Фи, не нужно. Может, редактор ещё и закрывающие скобки расставлять должен, где не нужно?

(так умеет

делать emacs) Почти угадал, Vim.

может быть скобки заменить на ($)

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

bodqhrohro_promo ()
Ответ на: комментарий от unDEFER

Магнитофоны в ламповом детстве портили звук намного больше. Помимо стабильных проблем с лентопротяжкой практически всех советских изделий, кроме высококлассных двухкассетников, которые за пределы квартиры мало кто мог позволить вынести (не говоря о возможности приобретения), там была ещё проблема с хреновым воспроизведением высоких частот. В результате, они не только тянули, но бубнили. Плюс, на громкости близкой к максимальной, а на другой их слушать было не возможно, они ещё дребезжали. Плюс, шипели.

lenin386 ★★★ ()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от anonymous

а вот плеер walkman купленный с рук на развале под конец жизни(достаточно долгой я скажу) регулярно давал петуха со скоростью воспроизведения

Полагаю, что это подделка. Волкмены никогда не тянули, даже когда батареи заканчивались, он просто выключался. После советский техники, это был _ШОК

lenin386 ★★★ ()
Последнее исправление: lenin386 (всего исправлений: 2)
Ответ на: комментарий от anonymous

Предлагаешь карандаш в миксер вставлять? В основном ради экономии батареек, плюс стационарники не всегда тянули плотную плёнку.

bodqhrohro_promo ()
Ответ на: комментарий от bodqhrohro_promo

А зачем стремиться к качеству?

Хм, странный вопрос. Наверное, для того, чтобы получать удовольствие от качественного звука?

Иначе зачем вообще покупать колонки, например? Мелодию можно и на PC-спикер вывести...

Serge10 ★★★ ()
Ответ на: комментарий от Serge10

А причем тут время-то? Ведь «низкокачественный кассетный магнитофон с нестабильным лентопротягом» - это признак нищеты, а не времени. У людей с нормальными доходами была и тогда нормальная техника.

У кого-то была. Но вынести такую технику за пределы квартиры ? Из разряда больных на всю голову людей, которых тогда очень быстро и эффективно лечили. Народ ходил с блюющими аппаратами, разобрать слов было невозможно. Мотали кассеты карандашом, штоб батарейки экономить. Самый что не есть признак времени.

lenin386 ★★★ ()
Ответ на: комментарий от nerfur

Вот не надо, я мафоны застал, почти до конца 00-х дома использовались — что аудио-, что видео-.

bodqhrohro_promo ()
Ответ на: комментарий от bodqhrohro_promo

У этого оператора ($) как раз приоритет наименьший. Во всяком случае, точно меньше, чем у операции (<>). Оператор ($) специально для того и придуман, чтобы не писать скобки на несколько строк.

Некоторые доводят до абсурда, и, вообще, стараются скобки почти не писать, насколько это возможно

dave ★★★★★ ()

это для ностальгирующих наркоманов?

enso ★★★★ ()
Ответ на: комментарий от anonymous

Зачем вручную?

Щтоб батарею экономить. Хотя, какая там экономия, по сравнению с убиванием ленты от этой процедуры, но объяснять это всё равно что стенке.

lenin386 ★★★ ()
Ответ на: комментарий от dikiy

не были мафоны такими убитыми

Смотря какие, бывает и хуже.

Уменьши там пределы безобразия

Для этого ключи и добавил.

bodqhrohro_promo ()
Ответ на: комментарий от Serge10

Ви таки не поверите, многие водятлы не переносят автоматическую коробку передач.

bodqhrohro_promo ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.