LINUX.ORG.RU

Time-stretching для аудио в Linux

 , , ,


0

1

Вопрос следующий - что есть дельного под Линукс в плане тайм-стретчинга (измерения скорости воспроизведения, грубо говоря) аудио под Линукс? Знаю, что Renoise умеет это с помощью библиотеки Rubber Band. У меня самого есть пара стандартных фильтров, основанных на Rubber-Band, но там изменение тональности.

Ardour умеет менять скорость, но это все разовые операции вида «применил-прослушал». А хотелось бы что-нибудь с работой в реальном времени. Покупать Renoise пока не хочется, честно говоря (хотя софт годный).

В общем-то, я нашел то, что мне нужно было.

На самом деле, в контексте Ardour'а и DAW в целом, мне нужно было что-то вроде Warp'а как в Ableton Live. Однако, как я прочитал на форумах Ardour'а, и как писал там сам Пол, Аблетон использует гранулярный движок для ресинтеза аудио, отсюда и возможность менять на лету скорость и высоту тона отдельных областей, отмеченных маркером (при этом, время воспроизведения целого отрезка не сильно меняется, потому что мы меняем только отдельную область этого отрезка). Ардур использует другой механизм, и в его случае приходится резать область, чтобы потом вручную растягивать каждый отрезок. При этом, конечно, чуть-чуть меняется высота тона, хотя сам сэмпл не разрушается. Как я понял по ответу Пола на предложение добавить в Ардур такой функционал - это не приоритетная цель в разработке, так что, может быть, как-нибудь потом.

Жаль. Ну да ладно.

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

★★★★★

Что-то я не могу сообразить, как это должно звучать: изменение скорости воспроизведения в реальном времени.

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

Берешь и меняешь темп аудио на лету, без изменения тональности и сильной потери качества звучания.

Так умели хардварные сэмплеры, например.

Сейчас погуглил - Renoise умеет то, что я описал, но не на лету, там присутствует обработка звука, хотя она проходит быстрее, чем такой же процесс в Ardour.

tekk ★★★★★ ()

Я делал через sox, вполне неплохо. Но через консоль.

anonymous ()

Если тебе надо для прослушивания в реальном времени, а не для обработки аудиофайлов, то MPV, например. Клавишами [, ], {, } менять скорость. Дополнительно к этому нужно включить фильтр audio-pitch-correction, мануал версии 0.14 говорит что он включен по умолчанию: If this is enabled (default), playing with a speed different from normal automatically inserts the scaletempo audio filter. For details, see audio filter section. По идее mplayer тоже может это уметь, скорость воспроизведения там так же меняется этими горячими клавишами, но доступен ли там фильтр pitch correction, не в курсе.

Ya_gnu_linux ()

Mixxx умеет, если тебе надо лайвом, но это диджейство.

Если не лайвом, то Bitwig, но это или деньги, или варез, или не сохранять проект.

zezic ★★★★ ()

В ардуре уже есть плавная смена темпа, контролируемая через таймлинию. Новости читать надо :)

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

Там bpm ставится, а сэмплы все-равно ведь надо вручную подстраивать через time stretch tool, с постобработкой.

Я видел новости, да и функцию уже обкатал.

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

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

Вариант выше с Mixxx (насколько помню, по умолчанию pitch correction там выключен, включается галкой в настройках) и MPV лучше.

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

Там bpm ставится, а сэмплы все-равно ведь надо вручную подстраивать

А ты в параметрах tempo ramp ковырялся? Там же вроде переключатель привязки между сэмплами и музыкальным временем был.

AP ★★★★★ ()

vlc умеет. Возможно в свежих версиях mpv также улучшили этот фильтр.

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

Я даже уточню:

«Audio locked tempo marks stay in their frame position as their neigbours positions are altered. Their pulse (musical) position will change as their neighbours move. Music locked tempo marks move their frame position as their neighbours are moved, but keep their pulse position (they will move as the music is moved).»

http://www.manual.ardour.org/tempo-meter/tempo-and-meter/

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

А это разве влияет на аудиорегионы?

Да :)

Или там есть регулятор темпа, который можно крутить в процессе воспроизведения?

Прямо во время воспроизведения не пробовал пока, но вообще «Tempo can be adjusted... by holding down the constaint modifier while dragging a tempo vertically».

Вариант выше с Mixxx... лучше.

Согласен, диджейский софт лучше под это заточен.

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

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

Вообще, у меня на SP404SX есть подобный функционал, но там он все же немного ограничен показателем bpm.

Надо попробовать будет Mixxx, действительно.

Спасибо.

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

Попробовал я mixx. Там не совсем то, что нужно все же, но пусть хотя бы так...

tekk ★★★★★ ()

Кастую AP и zezic, т.к ближе всего к теме писали.

В общем-то, я нашел то, что мне нужно было.

На самом деле, в контексте Ardour'а и DAW в целом, мне нужно было что-то вроде Warp'а как в Ableton Live. Однако, как я прочитал на форумах Ardour'а, и как писал там сам Пол, Аблетон использует гранулярный движок для ресинтеза аудио, отсюда и возможность менять на лету скорость и высоту тона отдельных областей, отмеченных маркером (при этом, время воспроизведения целого отрезка не сильно меняется, потому что мы меняем только отдельную область этого отрезка). Ардур использует другой механизм, и в его случае приходится резать область, чтобы потом вручную растягивать каждый отрезок. При этом, конечно, чуть-чуть меняется высота тона, хотя сам сэмпл не разрушается. Как я понял по ответу Пола на предложение добавить в Ардур такой функционал - это не приоритетная цель в разработке, так что, может быть, как-нибудь потом.

Жаль. Ну да ладно.

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

Тему наконец-то можно считать закрытой, добавлю все, что написал выше, в шапку.

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

Paulstretch вроде же не рилтаймовый. Ну т.е. я его не видел уже лет 7-8, может, запамятовал. Но вроде он как-то долго пересчитывал всё. Я потому даже не стал называть.

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

Он не риалтаймовый, но и черт с ним. Я искал как раз standalone-софтину, которая смогла бы мне воспроизвести сильно растянутый сэмпл. Вообще что-то, что может растягивать сэмплы без особых потерь.

Сегодня пробовал - просчитывает достаточно быстро (i7), но иногда тупит и не хочет воспроизводить звук с самого начала. Пишет что, мол, проблема в аудио-файле. Ну да, ну да.

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

Неплохое применение, между прочим.

Мне как раз потребуется что-то такое в работе над тем, над чем я работаю. =)

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

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