Звуковые генераторы, фильтры и другие аналоговые устройства (кроме радиотехники и УНЧ)
Ответить

Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 00:20:23

Здравствуйте.
Есть идея сделать midi контроллер для электрогитары на микроконтроллерах atmega 328p. Для разгрузки процессора я задумываю часть функций вынести аппаратно в предварительную аналоговую часть, чтобы не всё считать в цифре. Идея вполне реальная и реализуемая. Я хорошо дружу с процессорами и программированием в т.ч. атмега. Но совсем не могу аналоговую схемотехнику.
Требуется небольшая схемка буквально на паре кт3102ем, компараторе и выпрямителе уровня сигнала. Мне самому не осилить даже это.
Ищу напарника радиолюбителя для работы в паре. В перспективе небольшой сайт для этого проекта, авторство укажу. Могу даже оплатить работу, но хотелось бы just for fun. Если кто силён и заинтересуется, то мой контакт pvsamsonov76_GAF_gmail.com.
Надеюсь на сотрудничество.

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 01:54:38

PavelAtr писал(а):Мне самому не осилить даже это.

Возьмите контроллер чуть помощнее, например стм32. Зачем брать заведомо недостаточный контроллер?

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 02:21:56

Контроллер этот подойдёт. С процессорной частью я всё смогу. Мне не осилить аналоговую схемотехнику.

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 02:30:41

и что должна делать аналоговая часть?

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 02:44:09

наверное, обеспечить вход-выход миди-сигнала, там вроде токовая петля.

Добавлено after 5 minutes 20 seconds:
Изображение

Добавлено after 1 minute 39 seconds:
всё, аналоговая часть закончена :))

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 07:19:26

Думаю, что не это. Аналогом тут не пахнет, чистая цифра. Мне самому стало интересно, что такое MIDI-контроллер для гитары. Неужели он подключается к её выходу звукоснимателей и оцифровывает сигнал, а затем кодирует его в midi-команды? Данунафиг, какая тут атмега? Стм32 хватило бы...
Если что, у меня басуха простаивает. :music:

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 08:51:31

и что должна делать аналоговая часть?


Аналоговая часть состоит из двух простейших модулей с общим входом.
Первый модуль делает предусиление и далее компаратором подаёт фронты сигнала на вход аппаратного прерывания процессора для измерения частоты.
Второй модуль делает предусиление и выпрямление сигнала для подачи на АЦП вход процессора для измерения общей громкости ноты. (Интересует не оцифровка а только уровень сигнала).
Те мне надо помочь процессору замерять частоту ноты и её громкость. Всё очень просто.

Добавлено after 4 minutes 23 seconds:
наверное, обеспечить вход-выход миди-сигнала, там вроде токовая петля.

Добавлено after 5 minutes 20 seconds:
Изображение

Добавлено after 1 minute 39 seconds:
всё, аналоговая часть закончена :))

Нет мне достаточно usb com порта ардуинки. Конвертацию в миди порт я делаю драйвером на компьютере. Спасибо.

Добавлено after 16 minutes 32 seconds:
Думаю, что не это. Аналогом тут не пахнет, чистая цифра. Мне самому стало интересно, что такое MIDI-контроллер для гитары. Неужели он подключается к её выходу звукоснимателей и оцифровывает сигнал, а затем кодирует его в midi-команды? Данунафиг, какая тут атмега? Стм32 хватило бы...
Если что, у меня басуха простаивает. :music:

Именно так. В мире немногие это делают и стоит больших денег.

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 09:37:30

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

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 10:04:24

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

Хобби по выходным достаточно. Для дипломированного радиста плёвое дело. Но я по диплому конструктор ЭВС.

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 12:18:25

Вы собираетесь просто компаратором превратить сигнал в последовательность импульсов и её обсчитывать? Полагаю, что это неправильный подход. В сигнале имеется целая куча частот, там могут оказаться частоты ниже основного тона. Если их выделять из сигнала, полученного с компаратора, то возможны неприятные эффекты в виде, например, невозможности в какие-то моменты времени выявить основной тон. А если играть более чем на одной струне, то один тон может напрочь замаскировать тоны других струн. Это, конечно, ИМХО.
Что я предлагаю: вводить в МК через АЦП сигнал "as is", без компаратора, затем получить его спектр и на основании спектра сгенерировать последовательность нот. Это, вероятно, потребует более серьёзного МК. Аналоговая часть будет и в этом случае - это усилитель с регулируемым коэффициентом усиления, чтобы организовать нечто вроде АРУ. Может быть, АРУ тоже лучше будет завязать на МК.

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 12:46:49

Контроллер этот подойдёт. С процессорной частью я всё смогу.

Вообще то ваша задача является ни разу не вычислительной. Это задача на 100% радиотехническая. А написать по решению цифровую реализацию можно вообще без специального образования. Ибо программирование - оно такое себе...
Для выделения ноты нужен не частотомер, а скалярное преобразование Фурье. На его выходе вы получите модули фильтров. То есть и частоту и амплитуду в одном флаконе. Причем всегда можно выделить низшую гармонику и отличить основной тон от субгармоник.
Это задача совершенно не про АТмегу. Это задача даже не для любого АРМа. Это задача для DSP. Не самого мощного, канешна, но способного обеспечить анализ сигналов в реальном времени. Если конечно вы не собираетесь бренчать на одной струне. Тогда все тоже самое, но нагрузка на DSP будет на порядок меньше.

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 13:10:19

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

ну про усилители есть куча материала https://overclockers.ru/blog/Alexx/show ... ke_Chast_6

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

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

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

дальше на компутере раскладываеш спектр на частоты и засовываеш их в миди
у контроллера может не хватить мощности

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 13:22:14

КРАМ, 6-7 DSP :)

Добавлено after 5 minutes 3 seconds:
Сделать специальную гитару: струну и амплитуду её колебаний уже видно, осталось датчик на ту фигню, которая все струны натягивает ручкой какой-то (не гитарист, не знаю названий), и, если струны металлические, на каждую перемычку на грифе тоже датчик. Итого мы имеем все данные о каждой струне, притом достаточно примитивные, теперь справится и атмега.

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 13:31:56

осталось датчик на ту фигню, которая все струны натягивает ручкой какой-то (не гитарист, не знаю названий), и, если струны металлические, на каждую перемычку на грифе тоже датчик. Итого мы имеем все данные о каждой струне, притом достаточно примитивные, теперь справится и атмега.
Не сработает. Я могу прижать к грифу хоть сразу несколько струн, а дёрнуть, ещё и несколько раз, причём не сразу же (!) только одну из них. И через какое-то время её заглушить, оставив прижатой к грифу. Какое время начала и конца звука отметится? А оно отмечается! Потом, дёрнуть струну можно сильно, слабо... Какая интенсивность будет прописана, если брать информацию с порожков?

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 13:40:19

ну так каждая же струна анализируется индивидуально, поэтому пофиг, как они вместе дёргаются. Надо просто струны на диэлектрик крепить. а информация не только же с порожков, со звукоснимателя тоже. Он ведь индивидуальный

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 13:50:47

Звукоснимателей отдельно на каждую струну я не видел. У моей басухи их два (бывает больше), каждый на все четыре струны.

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 14:08:29

Не знал, думал, что на каждую... Но тогда задача ТС действительно усложняется резко, в куче выделять каждую.

Мы уже заморочились, подведя проводок к каждому порожку, неужели сэкономим на звукоснимателях? :)

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 14:17:23

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

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

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 14:48:24

неясно зачем делать это на контроллере с колхозным dsp который потом всеравно подключается к компу, если комп со звуковой картой открывает просто фантастические dsp возможности на звуковых частотах.

Фантастические возможности автору не нужны. Нужно перевести звуковой сигнал гитары в миди формат и все. Далее автор может миди гитару использовать с любым миди процессором, исполняя на гитаре любой инструмент или даже группу инструментов.
Задача для DSP контроллера не только посильная, но и самое то. Есть такое мнение, что с такой задачей справится относительно медленный (по меркам DSP) двухядерный dsPIC33CH...
Но можно и по взрослому - на аналог девайсовых Шарках.
В любом случае, Cortex тут идет лесом и полями. Нужен VLIW или SIMD.

Re: Помощь в разработке контроллера midi гитары

Пн фев 12, 2024 14:56:08

Мы уже заморочились, подведя проводок к каждому порожку, неужели сэкономим на звукоснимателях?
Кстати, порожки можно просто соединить между собой резисторами прямо в теле грифа и зажатый лад контролировать по сопротивлению. Это, разумеется, ни разу не руководство к действию, а просто мыши вслух.
Ответить