LINUX.ORG.RU

KPP 1.2, tubeAmp Designer 1.2, spiceAmp 1.0

 , ,

KPP 1.2, tubeAmp Designer 1.2, spiceAmp 1.0

5

6

Состоялся выпуск трех связанных проектов для обработки гитарного звука.

KPP 1.2

Программный гитарный процессор в виде набора плагинов LV2 и LADSPA.

Плагин tubeAmp использует профили в собственном формате *.tapf, благодаря чему можно имитировать звучание любых реальных моделей гитарных усилителей.

Остальные плагины из набора эмулируют педали Fuzz, Distortion, Overdrive, Noise Gate, Octaver.

Основные изменения со времен 1.0:

  • Добавлен встроенный диалог выбора файла, вместо вызова zenity
  • Изменены модели плагинов Fuzz и Distortion, теперь они имитируют педали FuzzFace и Boss DS-1
  • Добавлены новые профили для tubeAmp
  • Исправлен баг с работой GUI плагинов в Qtractor
  • Исправлено множество багов, в том числе неправильная работа плагина Octaver

tubeAmp Designer 1.2

Гитарный процессор и редактор профилей *.tapf. Может использоваться вместо плагина tubeAmp как независимое JACK приложение.

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

Позволяет создавать и редактировать профили для tubeAmp. Дополнительные функции:

  • Профилировщик. Позволяет пропустить тестовый сигнал через любой реальный усилитель, тракт, программный или аппаратный процессор, модель электрической цепи. Автоматически анализирует результат и настраивает параметры профиля. По сути этот процесс аналогичен работе с Kemper Amps.

  • Авто-эквалайзер. Позволяет корректировать звучание готового профиля по записи-образцу. Аналог specmatch у guitarix или Amp Match у BIAS Amp.

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

  • Конвольвер. Позволяет накладывать несколько импульсов друг на друга. Например, можно добавить реверберацию к готовому профилю.

spiceAmp 1.0

Медленный, но точный гитарный процессор не-реального времени, который использует в качестве эмулятора ngspice. Требователен к вычислительным ресурсам, поэтому пока можно только обрабатывать записи гитары в wav файле, выводя результат в wav файл. Это особенно полезно в связке с tubeAmp Designer - можно создавать *.tapf профили при помощи SPICE модели и потом использовать их в реальном времени в tubeAmp.

Для работы нужны:

  • Модель эмулируемого усилителя/педали или всего тракта в SPICE. Для ее создания хорошо подходит замечательная программа Qucs-S, но можно использовать любой другой редактор SPICE моделей, или написать код вручную.

  • Импульс кабинета (опционально, для педалей не нужен).

В выпуске приложены модели некоторых классических ламповых усилителей, модели практически всех используемых в гитарных усилителях ламп (триодов и пентодов), для создания своих моделей, импульсы двух кабинетов. Рекомендуется использовать модели ламп именно из этой поставки, они специально подобраны и скорректированы для лучшей работы в тяжелых перегруженных режимах.

Проекты на GitHub:

>>> KPP

>>> tubeAmp Designer

>>> spiceAmp

Бинарные версии для загрузки:

>>> Плагины KPP в tar архиве

>>> tubeAmp Designer в AppImage

>>> spiceAmp в AppImage

>>> Загрузки и сообщения о релизе

★★★★★

Проверено: Zhbert ()
Последнее исправление: Zhbert (всего исправлений: 2)

Ответ на: комментарий от actionless

При этом краш? Это понял.

А в случае когда импульс не применяется?

Когда профайлер отработает, он должен ставить свой DI семпл и свой Reference. А у тебя как происходит?

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

в случае когда не применяется:

  1. загрузил DI и Reference сэмплы
  2. начал воспроизведение DI сэмпла с дефолтным импульсом
  3. остановил сэмпл
  4. нажал Profiler
  5. (профайлер сделал новый импульс)
  6. запустил заново воспроизведение сэмпла
actionless ★★★★★
()

и из мелких недочетов (замеченных как раз из-за того что пришлось часто перезапускать tubeAmp-Designer):

  1. окно почему-то всегда старует Maximized

  2. не подключается автоматически обратно к прошлым коннекторам Jack-а

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

и из мелких недочетов (замеченных как раз из-за того что пришлось часто перезапускать tubeAmp-Designer):

Да, это не баг а фича :) Я понял, потом поправлю, сейчас хотя бы с основным разобраться.

Посмотрел файлы в Audacity - HeavyLead явно перебор по гейну, остальные выглядят вполне нормально и должны работать, но что-то идет не так. Буду отлаживать. Спасибо, твои файлы внесли просто неоценимый вклад - теперь я найду очередную серьезную проблему в профилировщике. При том что скорее всего проблема очень мелкая, но все ломает.

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

кстати KPP кто-то уже опакетил ранее: https://aur.archlinux.org/packages/kapitonov-plugins-pack-lv2-git

если хочешь я могу еще сделать пакет и для spiceAmp, и тогда сможешь добавить информацию на сайте для пользователей арча/манжары

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

явно перебор по гейну

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

(у меня, кстати, получилось выправить подняв уровень эквалайзера в tubeAmp-Designer, что звучало в итоге очень похоже на референс сэмпл)

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

Да, KPP уже с первого релиза пакет существует.

если хочешь я могу еще сделать пакет и для spiceAmp

Да, было бы неплохо.

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

Понятно, но профилиовщик пока не может анализировать настолько перегруженный сигнал - теряются нужные данные.

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

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

Лучше на источнике сигнала сделать слабее сигнал.

Почти раскопал уже, в чем проблема с твоими откликами. Сами отклики отлично получились, ломается алгоритм профилировщика немного, потому что там много магии, а база для тестирования была очень скудная. И вот очередной частный случай - и не срабатывает как надо. Думаю что быстро исправлю.

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

Ахаха, проблема оказалась простейшая.

Я не учел, что реальный усилитель шумит!

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

curufinwe ★★★★★
() автор топика

Дайте вавку-то тестовую кто-нибудь! Нету, нету у меня линукса, на котором профилировщик заработает.

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

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

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

Вроде отладил. Было две эписных проблемы:

  1. Учет шума.
  2. Баг дурацкий, из-за которого моно-файлы отклика вообще неправильно обрабатывались! Выходной импульс вообще не рассчитывался на твоих файлах, поэтому такие странности с тем что он не применялся и приходилось перезапускать.

В итоге после фикса багов оказалось несколько иначе -

HeavyLead хорошо отрабатывает, гейна не много, попадает в допустимое значение. (Проходит без сообщений каких-либо)

SoftLead тоже хорошо по гейну.

А вот все Crunch - маловато гейна, на многих частотах получилось на границе входа в перегруз, поэтому с ними нормально не получается профиль. В пресете Crystal Clean только если сделать а потом добавить гейна.

Закоммичу чуть позже, еще на слух послушаю, а то у меня тут вообще даже наушников нет.

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

Итого, основная проблема с методикой профилирования, как я и ожидал - выставить уровень сигнала.

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

В целом, если профилировщик выдает вот такие окна с рекомендацией поменять гейн - надо так и сделать, только:

  1. После исправлений багов, которые закоммичу, сейчас он пишет хрень
  2. Изменять гейн лучше не ручкой на усилителе, а менять уровень входного сигнала.
curufinwe ★★★★★
() автор топика
Ответ на: комментарий от curufinwe

Если это не реалтайм обработка а пропускание тестового файла, то может можно прогнать два раза? Первый - определение максимума, второй - обработка.(надеюсь не хрень написал)

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

Тестовый файл

http://kpp-tubeamp.com/media/test_signal_tubeamp.wav

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

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

Если это не реалтайм обработка а пропускание тестового файла, то может можно прогнать два раза? Первый - определение максимума, второй - обработка.(надеюсь не хрень написал)

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

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

Так дело в том, что Designer работает с уже готовым wav файлом, он уже ничего изменить не может. Вот если бы он подавал сам сигнал, и тут же сам анализировал - тогда да.

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

Залил в мастер!

Во-первых, исправил проблему краша при работе профайлера одновременно с плеером. Проблема была в том, что в конце профайлер ставит свои DI и Ref сигналы, которые оказываются короче чем DI сигнал который играл до запуска профайлера. В результате все вылетает за пределы массива.

Я сделал, чтобы воспроизведение отключалось при запуске профайлера. Все равно в нем смысла нет.

По проблее где не применялся импульс после окончания работы профайлера. Теперь все применяется, проблема была в том что этот импульс и не создавался из-за бага с моно-файлом отклика.

В итоге - теперь работает со всеми твоими откликами, как я уже писал, HeavyLead и SoftLead работают вообще хорошо, получается из коробки звук весьма близкий к оригиналу.

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

Clean - хорошо работают с пресетом Crystal Clean. Но тут еще вылезла проблема - откуда-то добавляется эхо. Это чуть позже зафикшу.

Если не трудно, проверь пожалуйста сам версию из мастера, со своими откликами.

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

а с Crystal Clean какие тогда сэмплы перезаписать?

а по поводу кранча, кстати, он на самом деле при равном гейне так и звучит как-то более задавленно по сравнению со всеми остальными каналами – мне кажется, что для реалистичности симуляции, надо оставить его на том же гейне/уровне, что и импульсы остальных каналов, а не искусственно завышать при записи

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

может из-за микро-несоответствия по таймингу?

Вряд ли, из-за этого может возникнуть задержка, но эхо не должно. Это проблема с деконвольвером видимо, одно из побочных свойств преобразования Фурье. У меня есть специальный алгоритм который это эхо убирает, но видимо он не везде вызывается. Надо перепроверить.

а с Crystal Clean какие тогда сэмплы перезаписать?

Эти не надо перезаписывать - клиновые семплы получились хорошо, только вот с эхом разберусь.

Вот только с кранчем проблемы.

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

Поэтому для клиновых режимов я добавил пресет Crystal Clean, в котором другой алгоритм, в который параметры тупо захардкожены. Такие профили будут хорошо звучать на клине, но если их разогнать - звучать будет то что захардкожено, а не так как реальный усилитель. Это не большая проблема, потому что профили Clean они для игры на клине, а не для разгона до уровня метала.

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

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

Попробовал - работает! Звучит похоже.

Пробовал трек 2. Он по гейну хорошо подходит. И трек 6 - у него гейн такой, что прогрузился свип-сигнал, который идет по уровню -20 дБ относительно всего остального сигнала! Он должен чисто проходить для нормальной работы деконвольвера.

Если кто будет пробовать - нюансы:

  1. Сначала надо выровнять файлы откликов относительно тестового файла в audacity, как в руководстве описано. Они сильно сдвинуты (что естественно и ожидаемо при снятии с реального аппарата). Без выравнивания получается феерия :)

  2. Обнаружился баг - твои файлы 96 кГц, и напрямую они не работают корректно, только после конвертации в 44100 Гц получилось. Опять же проблема элементарная, я уже понял в чем дело, буду фиксить.

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

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

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

и еще мне показалось, что при анализе импульса как-то верх срезается, потому при сравнении обработанного DI с референсом очень заметно отсутсвие частот presence

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

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

Скорее всего - это из-за смещения рабочей точки. К сожалению, этот эффект пока в модели tubeAmp отсутствует. Но может и не из-за этого, если бы получился перегруженный профиль можно было бы проверить, как он себя ведет. Такой же эффект может давать завал баса до перегруза и подъем после.

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

Да, срезается, или точнее он получается ниже чем должен быть, как раз на частотах где работает презенс. Почему так я пока понять не могу, давно уже с этим пытаюсь разобраться. Пока можно вручную на вкладке кабинета поднимать на 3-4 дБ в районе 2500 - 3000 Гц, пока не станет как в образце.

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

2 самый рабочий вариант - 6L6 на все 50 ватт
считается, что у них перегруз не такой вкусный, как у EL34, но мне вполне подходит
а 6 - это экстрим, там в реале уже после громкости на «4» начинает подгружаться, а не «9» только Хендрикса играть, причём, выкурив и проглотив столько же и того же

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

Нет, вообще у усилителя.

И еще заметно искажение «ступенька» в мощнике, что на высоком гейне дает специфический призвук, который отсутствует у tubeAmp и это слышно. Надо будет добавить в модель в будущем.

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

Чем больше профилей, тем лучше
Потом ещё сделаю отдельно профили их преампа и преампа+мощника от комба

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

Это сильно поможет, можно будет проверить правильно ли работает разделение на преамп и мощник у меня в профилировщике, и может наконец прояснится ситуация с недостатком «презенсных» частот.

curufinwe ★★★★★
() автор топика

Залил еще фикс, теперь корректно работает с файлами отклика с любой частотой дискретизации, не только 44100 Гц.

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