Электронный баян
- Gaff
- Потрогал лапой паяльник
- Сообщения: 382
- Зарегистрирован: Ср янв 27, 2016 10:19:41
- Контактная информация:
Re: Электронный баян
Ну и если опиратся на приведённую мной ссылку тов.Элм Чана на одной Меге8 можно предположительно сделать до 8 каналов полифонии.Тогда лутше всего выделить отдельный менеджер (Мега16) который будет опрашивать клавиатуру например 12х12 (до 72 активных клавиш ,педаль сустэйн плюс несколько служебных кнопок) и распределять задания для 2-3 синтезаторов (Меги8) для получения 16-24 голосой полифонии .Жаль я неумею работать с СТМ32 там бы и один камень со всем этим справился. Эй СТМо-воды отзовитесь!Есть тут такие?
Не стесняйтесь благодарить тех кто вам помогает.
- Реклама
- Dmitry Dubrovenko
- Поставщик валерьянки для Кота
- Сообщения: 2355
- Зарегистрирован: Вс янв 09, 2011 16:51:39
- Откуда: Санкт-Ленинград
- Контактная информация:
Re: Электронный баян
Она понеслась несколько раньше, когда стало понятно, что кое-кто от присутствующих не отличает ФМ-синтез от ВэйвТэйбла.Gaff писал(а):Ну и пурга же тут понеслась!
То, что товарищ описАл выше, есть простейший ФМ-синтез с двумя осцилляторами, и он имеет право быть.
Только результат будет полное гуано.
Так настойчиво рекомендуемый способ Чана тоже не лишён недостатков.
Прежде всего тем, что не годиться один сэмпл использовать на весь диапазон музыкального ряда (поэтому он там ограничен несколькими октавами).
Или, например, Релиз там заменён Сустейном, помноженным на огибающую.
Енто об чём?Gaff писал(а):ШИМ уже являеться частью уся класса D
ICQ нет, и, в ближайшее время, не будет.
- Gaff
- Потрогал лапой паяльник
- Сообщения: 382
- Зарегистрирован: Ср янв 27, 2016 10:19:41
- Контактная информация:
Re: Электронный баян
Dmitry Dubrovenko писал(а):Она понеслась несколько раньше, когда стало понятно, что кое-кто от присутствующих не отличает ФМ-синтез от ВэйвТэйбла.
Но всёже лучше чем Ямаха за 4тыр.Да и кто мешает записать по своей таблице в каждый МК или на каждую октаву?Вопсчем написано абы придратся.Dmitry Dubrovenko писал(а):Так настойчиво рекомендуемый способ Чана тоже не лишён недостатков.
Прежде всего тем, что не годиться один сэмпл использовать на весь диапазон музыкального ряда (поэтому он там ограничен несколькими октавами).
Или, например, Релиз там заменён Сустейном, помноженным на огибающую.
Уже писалось выше.ШИМ достаточно подать на мощную комплементарную пару МОСФЕТов с LC фильтром и получим качественный звук.Dmitry Dubrovenko писал(а):Енто об чём?Gaff писал(а):ШИМ уже являеться частью уся класса D
Не стесняйтесь благодарить тех кто вам помогает.
Re: Электронный баян
Сильно качественный?Gaff писал(а):Бригадир после ЦАПа надо качесвенный усилитель городить.А ШИМ уже являеться частью уся класса D. Хотя кому как больше нравиться.
А поболтать?
- Gaff
- Потрогал лапой паяльник
- Сообщения: 382
- Зарегистрирован: Ср янв 27, 2016 10:19:41
- Контактная информация:
Re: Электронный баян
Всё что насочинил описал в нескольких постах выше.Типа электропианино с активной клавиатурой несколькими тембрами и педалью сустэйна.Какраз то что хочет получить Михон но нехочет сам над этим думать.Если это больше никому кроме меня и его неинтирестно-извените.Отписываюсь от темы. 
Не стесняйтесь благодарить тех кто вам помогает.
- Реклама
- mixon46
- Говорящий с текстолитом
- Сообщения: 1644
- Зарегистрирован: Сб фев 18, 2012 15:42:29
- Откуда: Курск
Re: Электронный баян
Я все еще изучаю как правильно опросить матричную клавиатуру
короче засел пока. Самое сложное похоже это составить правильный алгоритм. И все же нужно учесть. И задержки от дребезга. И тд. И тп. Наверно надолго))
Re: Электронный баян
mixon46 - изучай, знание = СИЛА! Опрос клавы (матричный) = давно известный способ и заключается он с разнесением во времени меток, которые мультиплексором преобразуются в некий код номера нажатой клавиши.
А поболтать?
- Gaff
- Потрогал лапой паяльник
- Сообщения: 382
- Зарегистрирован: Ср янв 27, 2016 10:19:41
- Контактная информация:
Re: Электронный баян
Алгоритм я уже описывал выше.Дребез вданном случае ниначто невлияет.mixon46 писал(а):Я все еще изучаю как правильно опросить матричную клавиатурукороче засел пока. Самое сложное похоже это составить правильный алгоритм. И все же нужно учесть. И задержки от дребезга. И тд. И тп. Наверно надолго))
Не стесняйтесь благодарить тех кто вам помогает.
- mixon46
- Говорящий с текстолитом
- Сообщения: 1644
- Зарегистрирован: Сб фев 18, 2012 15:42:29
- Откуда: Курск
Re: Электронный баян
Алгоритм ваш видел. Но можно было бы и подробнее расписать под каждое действие. Какие там использовать операторы и лог операции
- Gaff
- Потрогал лапой паяльник
- Сообщения: 382
- Зарегистрирован: Ср янв 27, 2016 10:19:41
- Контактная информация:
Re: Электронный баян
Я же код выкладовал?Максимум чем теперь могу помочь это картинкой как пояснение к алгоритму.
Выделяем 12+12 линий МК. Первые 12 (стоблцы) настраиваем как DDRx.x=0; PORTx.x=1; это включит подтяжки к лог1. С этих портов будем опрашивать состяние PINx.x. Вторые 12 портов настраиваються так же.Только поочерёдно по одному порту настраиваються как DDRx.x=1; PORTx.x=0; Таким образом по строкам пробегает лог.0. Если не одна кнопка ненажата то будут все единицы.Нули будут соответствовать нажатым кнопкам.Всё придельно просто!
Спойлер
Не стесняйтесь благодарить тех кто вам помогает.
- Dmitry Dubrovenko
- Поставщик валерьянки для Кота
- Сообщения: 2355
- Зарегистрирован: Вс янв 09, 2011 16:51:39
- Откуда: Санкт-Ленинград
- Контактная информация:
Re: Электронный баян
Кому как.Gaff писал(а):Но всёже лучше чем Ямаха за 4тыр
В прошлом году взял такую, вместе со звуковой картой, за 800 (конечно, такой вариант поискать надо, ибо барыги не дремлют). Ну, а как её дополнить до самостоятельного синта элементарно, и в Инете схем полно.
И вариант я уже давно предложил, который, на мой взгляд, является и более универсальным, и удобным.
Жаль, что Вы чужие посты не читаете.
Элементарная математика, после подсчёта необходимого количества МК, и размышлений об их взаимодействии.Gaff писал(а):Да и кто мешает записать по своей таблице в каждый МК или на каждую октаву?
Что-то недопонял, почему 12x12, и где активность?Gaff писал(а):Всё придельно просто!
Кстати, по изготовлению миди-клавиатуры: вот и вот, кому интересно.
ICQ нет, и, в ближайшее время, не будет.
- Gaff
- Потрогал лапой паяльник
- Сообщения: 382
- Зарегистрирован: Ср янв 27, 2016 10:19:41
- Контактная информация:
Re: Электронный баян
Да беспроблем!
Вам и карты в руки! На сим откланяюсь.
Не стесняйтесь благодарить тех кто вам помогает.
- mixon46
- Говорящий с текстолитом
- Сообщения: 1644
- Зарегистрирован: Сб фев 18, 2012 15:42:29
- Откуда: Курск
Re: Электронный баян
привет. я тут набросал немного кода. он не дописан. там короче нужно выбирать коэффициент по столбцу и строке. и загружать его в 16 битный таймер. если кто может помогите дописать его до конца. а то что я один что ли буду все делать. потом я допишу до ШИМ атаки и затухания. если получится конечно.
P.S. это написано для матричного опроса кнопок. всего кнопок 21. но можно увеличить до 49 если если добавить остальные выводы порта B на сканирование столбцов. это конечно игрушка но одноголосная. вроде как на NE555 только с мк и матричной клавиатурой. но фишка в том что с помощью шим можно можно потом будет добавить атаку и затухание как у пианино
#include <delay.h>
flash unsigned char temp[3] {0b00000110; 0b00000101; 0b00000011);
flash unsigned int ton[3][7] {{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21}}
void main(void)
{
unsigned char stolbik;
unsigned char stroka;
unsigned char temp2;
PORTB=0x07;
DDRB=0xFF;
PORTD=0x7F;
DDRD=0x00;
TCCR1A=0x00;
TCCR1B=0x0A;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
GIMSK=0x00;
MCUCR=0x00;
TIMSK=0x00;
ACSR=0x80;
DIDR=0x00;
while (1)
{for (stolbik=0; stolbik<2; stolbik++) \\цикл сканирования столбцов
{PORTB=temp[stolbik]; \\присвоение нуля определенному выводу порта B
if (PINB!=temp[stolbik]) \\проверить на изменение в трех младших битах порта B
{ temp2=PORTD; \\присвоение переменной значение порта D
for (stroka=0; stroka<7; stroka++) \\цикл сканирования строк
{ if ((temp2&0x01)==0) goto m1; \\проверка младшего бита переменной на наличие нуля
temp2=temp2>>1;} \\сдвиг содержимого переменной к младшему биту
}
}
}

P.S. это написано для матричного опроса кнопок. всего кнопок 21. но можно увеличить до 49 если если добавить остальные выводы порта B на сканирование столбцов. это конечно игрушка но одноголосная. вроде как на NE555 только с мк и матричной клавиатурой. но фишка в том что с помощью шим можно можно потом будет добавить атаку и затухание как у пианино
Спойлер
#include <tiny2313.h>#include <delay.h>
flash unsigned char temp[3] {0b00000110; 0b00000101; 0b00000011);
flash unsigned int ton[3][7] {{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21}}
void main(void)
{
unsigned char stolbik;
unsigned char stroka;
unsigned char temp2;
PORTB=0x07;
DDRB=0xFF;
PORTD=0x7F;
DDRD=0x00;
TCCR1A=0x00;
TCCR1B=0x0A;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
GIMSK=0x00;
MCUCR=0x00;
TIMSK=0x00;
ACSR=0x80;
DIDR=0x00;
while (1)
{for (stolbik=0; stolbik<2; stolbik++) \\цикл сканирования столбцов
{PORTB=temp[stolbik]; \\присвоение нуля определенному выводу порта B
if (PINB!=temp[stolbik]) \\проверить на изменение в трех младших битах порта B
{ temp2=PORTD; \\присвоение переменной значение порта D
for (stroka=0; stroka<7; stroka++) \\цикл сканирования строк
{ if ((temp2&0x01)==0) goto m1; \\проверка младшего бита переменной на наличие нуля
temp2=temp2>>1;} \\сдвиг содержимого переменной к младшему биту
}
}
}
- Вложения
-
- схема подключения.PNG
- (38.18 КБ) 1342 скачивания
- mixon46
- Говорящий с текстолитом
- Сообщения: 1644
- Зарегистрирован: Сб фев 18, 2012 15:42:29
- Откуда: Курск
Re: Электронный баян
возникли трудности с 16 битным таймером. нужно поставить его так что бы он работал на СТС с пред делителем на 8. коэффициенты подсчитаю сам. фьюзы поставлю на 4 мгц от внешнего кварца. коэффициенты я уже кстати подсчитал. таймер нужно настроить правильным образом.
такое ощущение что я тут остался наедине с собой
такое ощущение что я тут остался наедине с собой
-
b612
- Вымогатель припоя
- Сообщения: 584
- Зарегистрирован: Чт янв 07, 2010 16:58:11
- Контактная информация:
Re: Электронный баян
что-то затихло всё, кончилось ничем.
Я вот пытаюсь изобрести подобное, только более игрушечное.
Могу написать под ардуину обзвон клавы +4-ёхголосную полифонию с атаками и затуханиями, даже с тембрами. Может быть и больше чем 4 ноты одновременно потянет.
Если надо больше чем 4, можно поставить 2 ардуины или какой-нибудь спецчип или вывести NIDI.
Для меня основная трудность это механика.
Дело даже не в том, чтобы изготовить, а в том, чтобы понять что и как.
Простые кнопки любые никакие не годятся, нужна определённая сила и глубина нажатия и размеры.
Может быть кто-то с этим может помочь ?
Я вот пытаюсь изобрести подобное, только более игрушечное.
Могу написать под ардуину обзвон клавы +4-ёхголосную полифонию с атаками и затуханиями, даже с тембрами. Может быть и больше чем 4 ноты одновременно потянет.
Если надо больше чем 4, можно поставить 2 ардуины или какой-нибудь спецчип или вывести NIDI.
Для меня основная трудность это механика.
Дело даже не в том, чтобы изготовить, а в том, чтобы понять что и как.
Простые кнопки любые никакие не годятся, нужна определённая сила и глубина нажатия и размеры.
Может быть кто-то с этим может помочь ?
- Dmitry Dubrovenko
- Поставщик валерьянки для Кота
- Сообщения: 2355
- Зарегистрирован: Вс янв 09, 2011 16:51:39
- Откуда: Санкт-Ленинград
- Контактная информация:
Re: Электронный баян
Обычное явление для толиковских тем.b612 писал(а):что-то затихло всё, кончилось ничем.
Кстати, вот обновлённый материал по изготовлению миди-клавиатур.
ICQ нет, и, в ближайшее время, не будет.



