TeslaBoogie - гитарный прерыватель

А что мы делаем?
Аватара пользователя
BSVi
Адепт
Сообщения: 3508
Откуда: Киев

Сообщение BSVi » 16 июн 2018, 19:43

Давно я хотел сделать, чтобы можно было играть на тесле с гитары. И вот. наконец, появилось немного времени. Итак, представляю вам TeslaBoogie, пока еще в очень ранней beta-версии, но уже работающий :) Название, как легко понять - аллегория на MesaBoogie :)

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

TeslaBoogie (2).png
TeslaBoogie (2).png (11.44 КБ) 2437 просмотров


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

1.jpg


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

2.jpg


Пока звук этого прерывателя с нашей SSTC выглядит вот так, но он очень далек от завершения:


Как вам такая шутковина?

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1391
Откуда: Киев

Сообщение iEugene0x7CA » 18 июн 2018, 13:39

Штуковина пока чисто тестовая — никто пока не знает, можно ли её заставить играть прямо очень красиво. :)
Но, по крайней мере это какие-то эксперименты — до этого играть на гитаре можно было только через QCW'шку, или установку с аналоговой аудио-модуляцией.
Если из штуки что-то получистя — по идее можно будет цеплять и к DR'ками... Хм, я бы посмотрел как кто-то играл бы на электрогитаре с 2-метровой катухи. ;)

Пригодится думаю не многим, например я гитару даже в руках не держал — играть соответственно не умею.
Эм, когда буду у Серёги в гостях — надо будет пощупать. А вот самим гитаристам думаю вариант юзать Теслу как усилок. :geek:

Аватара пользователя
savol
Сообщения: 498
Откуда: г.Запорожье

Сообщение savol » 18 июн 2018, 19:28

Да новые примочки -это двигатель прогресса!

Аватара пользователя
ArcSound
Сообщения: 197
Откуда: Красноярск

Сообщение ArcSound » 26 июл 2018, 22:02

Хорошая штуковина! На гитаре с 2м разрядом - это ваще крутяк будет! Можно и на этой попробовать, играть соляки, только не продолжительными нотами. Да и подцепить можно будет не только электрогитару. Молодца!

Аватара пользователя
BSVi
Адепт
Сообщения: 3508
Откуда: Киев

Сообщение BSVi » 29 мар 2019, 14:41

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

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

1.jpg


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

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

Таким образом, нужно было сделать детектор начала этих самых нот и усилить атаку. Сначала я пытался сделать это с помощью анализа амплитуды сигнала, но это работало совсем плохо - были либо пропуски, либо ложные срабатывания и их было очень много. Потом я начал изучать тему, и оказалось, что детектор начала ноты - это, до сих пор, сложная нерешенная задача. Даже есть конкурс MIREX на лучший алгоритм. Тем не менее, я решил сделать лучшее что было более-менее доступно - детектор на основе спектрального потока (тут есть статья, с подробным описанием как это работает). Судя по конкурсу MIREX он работает успешно в 95% случаев, чего, в принципе достаточно.

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

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

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

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

Аватара пользователя
savol
Сообщения: 498
Откуда: г.Запорожье

Сообщение savol » 29 мар 2019, 18:40

успех продукта -это 99% не посильного труда и 1% таланта

Аватара пользователя
BSVi
Адепт
Сообщения: 3508
Откуда: Киев

Сообщение BSVi » 29 мар 2019, 20:38

Распишу тут какие настройки сейчас есть, чтобы самому не забыть :) Скорее-всего, тут много лишнего, но пока - как есть. Если выяснится, что какие-то настройки бесполезны, спрячем в какой-то далекий подпункт меню.

Presets - Количество персетов. Текущий пресет выбирается крутилкой на главном экране.
Max PW - Максимальная ширина импульса в мкс.
Gain - Усиление входного сигнала, нужно подобрать чтобы и не мало было и не зашкаливало.
Hysteresis high - Уровень сигнала, выше которого включается тесла
Hysteresis range - Диапазон, гистерезиса
Hysteresis decay - Время, за которое стример уменьшается после того, как сигнал стал ниже гистерезиса (плавность отключения)

Detector attack - Атака детектора в миллисекундах. В большинстве случаев должна быть очень маленькой. Сделать большой может понадобитсья, если хочется звук типа скрипки.
Detector hold - Удержание детектора. Нужна, чтобы уровень не начал уменьшаться при провалах входного сигнала. К примеру, при диссонирующих звуках.
Detector release - Время спада детектора. Чем оно меньше, тем динамичнее тесла отзывается на звук. Чем больше, чем меньше артефактов.

b]Shaper min[/b] - Уровень выходного сигнала при минимальном входном. К примеру, можно сделать чтобы тесла резко включалась "ступенькой", или наоборот, плавно и линейно.
Shaper max - Уровень выходного сигнала при максимальном входном. Моно, к примеру, перевернуть звучание. Чтобы при минимальном входном сигнале тесла звучала на всю катушку, а при повышении, затихала.
Shaper sustain - Постоянный уровень, ниже которого выходной сигнал не опускается.

Дальше идет меню усилителя атаки "AttackAmp".
Mix - сколько усилителя подмешивается к основному сигналу.
Attack - время нарастания при обнаружении атаки. Чем больше этот параметр, тем плавнее звучание
Decay - время спада при обнаружении атаки. Чем больше этот параметр, длиннее атака.
Tresh mult - Настройка детектора атаки - во сколько раз мгновенное значение сигнала должно превысить пиковое, чтобы считаться атакой. Должно быть маленьким для быстрой игры и большим для медленной.
Tresh offset - Настройка детектора атаки - минимальная энергия сигнала, при которой работает детектор. Должно быть большим для быстрой игры и маленьким для медленной.
Tresh filter - Время, за которое считается среднее для детектора атаки.

Crazy_Fan
Сообщения: 91

Сообщение Crazy_Fan » 30 мар 2019, 06:51

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

Аватара пользователя
BSVi
Адепт
Сообщения: 3508
Откуда: Киев

Сообщение BSVi » 30 мар 2019, 08:25

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

Аватара пользователя
BSVi
Адепт
Сообщения: 3508
Откуда: Киев

Сообщение BSVi » 24 авг 2019, 10:32

Давно не отписывался, начал еще добавлять самоигрыйку в прерыватель. И вот, что вышло:


Аватара пользователя
savol
Сообщения: 498
Откуда: г.Запорожье

Сообщение savol » 24 авг 2019, 14:52

Да грамотный анализатор-конвертер мп 3 в цифру с отсечкой мусора -это был бы новый уровень Тесла Шоу ,так как не все миди грамотно и так как тебе надо переработаны!

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1391
Откуда: Киев

Сообщение iEugene0x7CA » 24 авг 2019, 22:58

Да, рас пошла такая тема — вот уже немного залежавшийся ролик с тестами на реальной гитаре. ;)
Пока только режим SSTC, на момент съёмок режим DRSSTC работал как-то странно и мы его там только дебажили – я это не добавил в ролик:



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

_MG_3121.JPG

_MG_3119.JPG

MdAD-Q
Сообщения: 54
Откуда: Черкассы

Сообщение MdAD-Q » 25 авг 2019, 03:01

Годнота! \m/

Аватара пользователя
BSVi
Адепт
Сообщения: 3508
Откуда: Киев

Сообщение BSVi » 27 авг 2019, 21:53

Итак, сегодня еще повозился. Удалось добиться нормального звука с DRSSTC. Я бы даже сказал, что ДРка теперь звучит не хуже, чем ССТЦ. При этом, был выпилен AttackAmp - оно работало не стабильно, и, в целом, нельзя сказать, чтобы очень круто. Может, потом, как-то допилю, но сейчас там и так перебор с настройками.

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

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

1. Стрельнуть одиночным импульсом. С сстц это работает хорошо, а с ДРкой плохо.
2. Гейт - начинает играть на несколько миллисекунд то, что приходит на вход. Таким образом. звучание становится разнообразнее. С сстц работает хорошо, и ДРкой - еще хуже.
3. Режим генератора - при обнаружении бита, включается прерыватель, который выдает некоторый тон на выход. Сейчас частота фиксированная, меняется только огибающая. В этом режиме, ДРка звучит неплохо.

Сделал нормальное переключение и меню, еще нужно будет обновление прошивки написать, но, в целом, оно уже работает.

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1391
Откуда: Киев

Сообщение iEugene0x7CA » 29 авг 2019, 01:37

Да, думаю стоит разъяснить несколько терминов, т.к. услышав их изначально я и сам не понял о чём речь. :)

1. Бит-детектор это регистратор ударов барабана в чисто аналоговой песне, что по идее должно быть крутой фичей например для триггеринга QCW'шки.
Просто SS'ку или DR'ку от "пыков" конечно гонять так себе, они значительно эффектнее если гонять от MIDI.

2. "Самоиграйка" — это термин сугубо из музыкальной среды, означающий выделение некоторой полезной информации из аналоговой музыки.
Используется например для управления цветомузыкой на танцполе в такт музыке. На тех танцполах где такой функции нет можно было не более чем выставить заранее заданный алгоритм, и для этого обычно стоял специальный техник с пультом управления. Относительно гитар-прерывателя — мы добываем полезную информацию для генерации выходного сигнала.

Т.е. это не игралка MIDI с карты памяти, как может показаться из названия. ;)

P.S. Гитраному интеру обязательно понадобится экранирующий корпус, но сделать такой оказалось не такой и простой задачей.
От использования доступного в продаже корпуса отказались, т.к. очень сложно будет найти человека кто на постоянной основе будет их нам фрезеровать(окошко для экранчика, кнопок/крутилок, и разъёмов).
Пока планируется опробовать лазерную резку по металлу — лично я ей пока не пользовался, и если технология освоится то это будет очень крутой прорыв.
На данный момент не ясно как будет выглядеть гитар-интерчик, так что для тестового заказа нарисовал лазерный корпус под SD:

yAYUrVX.jpg

Он совершенно не нужен, т.к. нынешний профильный корпус уже идеален... Но заказать нужно хоть что-то. :)

Кроме резки лазерный металл ещё можно гнуть на CNC станке у тех же контор-порезчиков, что открывает возможность производить детали, ранее совершенно недоступные для обычных паяльщиков:

 Деталь лазерной резкой + гибкой:
laser-cut-folded-4mm-stainless-steel-part-1-.jpg

Дабы получить такую ещё 10 лет назад нужена была линия штамповки прессом через специальную матрицу — умопомрачительная по дороговизне и организации процедура, от чего встретить штампованные детали можно только в по-настоящему массовых продуктах.

Аватара пользователя
BSVi
Адепт
Сообщения: 3508
Откуда: Киев

Сообщение BSVi » 30 авг 2019, 18:20

Была добавлена обновлялка прошивки. В целом, прерыватель готов ковать метал :) И, Евгейний говорит, что уже есть первый желающий его попробовать :)

fw.jpg

Вернуться в «Наши проекты»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей