Например TDA7294

Форум РадиоКот • Просмотр темы - Электронный баян
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн янв 19, 2026 13:43:04

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 476 ]     ... , , , 19, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 19:29:44 
Говорящий с текстолитом
Аватар пользователя

Карма: 10
Рейтинг сообщений: 16
Зарегистрирован: Сб фев 18, 2012 15:42:29
Сообщений: 1644
Откуда: Курск
Рейтинг сообщения: 0
Просто кот ну раз так просто напиши программу а я соберу. цап говорите нужен? Куплю. Какой нибудь самы простой. А если использовать шим модуляцию? Не получится понял. Я бы собрал что бы играть. Мне интересно


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 19:39:59 
Друг Кота
Аватар пользователя

Карма: 43
Рейтинг сообщений: 167
Зарегистрирован: Вс янв 25, 2009 21:16:04
Сообщений: 35639
Откуда: Москва
Рейтинг сообщения: 0
Андрей, верхняя картинка = с такого угла на ЖК дисплее ваще нихрена не увидишь. А дисплей нужен хотя бы для того, чтобы убедиться, что ты нажал на нужную кнопку. Кстати: намного удобнее иметь для каждого тембра СВОЮ кнопку со светодиодом. Нажал = загорелся светодиод и не нужен дисплей.
Для остальных: 12 генераторов и столько же делителей = остыньте. Это устарело и только для меандра! (органные тембры, флейта, фагот....).
И такая схема потребует как минимум полсотни микросхем (если хотите синтезировать нормальный звук).
Процессор с обвесом использует временные метки для ЦАПа для создания сложного спектра звука любой формы и при высокой скорости обработки. Процессор нужен и для опроса клавиатуры: когда нажал и отпустил, какую клавишу назвал или несколько...- это долго обьяснять...).
Но один МК не справится с такой сложной задачей.

_________________
А поболтать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 19:50:43 
Говорящий с текстолитом
Аватар пользователя

Карма: 10
Рейтинг сообщений: 16
Зарегистрирован: Сб фев 18, 2012 15:42:29
Сообщений: 1644
Откуда: Курск
Рейтинг сообщения: 0
Мне не нужен офигенно красивый звук. Достаточно что бы он был похож на звук пианино. Можно сделать на двух мк. Тини 2313 например для опроса кнопок. Мега 8 для формирования нужных звуков


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 19:58:51 
Друг Кота
Аватар пользователя

Карма: 43
Рейтинг сообщений: 167
Зарегистрирован: Вс янв 25, 2009 21:16:04
Сообщений: 35639
Откуда: Москва
Рейтинг сообщения: 0
К сожалению: я не специалист по микроконтроллерам. И ничего посоветовать конкретного не могу. Знаю другое: на логических 1 и 0 записывают любой сложности звук и тембры, смесь звуков с частотой дискредитации 44 кГц на диск (всего лишь вдвое выше самой высокой слышимой ухом частоты).

_________________
А поболтать?


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 20:00:01 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50
Сообщений: 12364
Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 0
Михон, принижаете вы потенциал МК. Той же меги хватит и на клавиатуру, и на генерацию нот. И на формирование огибающей. И даже останется потенциалов на производство синуса. Хотя бы в некотором приближении. А про написание кода... Тут 50/50. Я могу составить вам алгоритмы для всего этого. Но писать сейчас немного лениво. Кое-что другое пишу, на другой платформе.

_________________
Изображение
И ты врёшь!!! © Vladisman
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 20:09:50 
Говорящий с текстолитом
Аватар пользователя

Карма: 10
Рейтинг сообщений: 16
Зарегистрирован: Сб фев 18, 2012 15:42:29
Сообщений: 1644
Откуда: Курск
Рейтинг сообщения: 0
можете составить подробный алгоритм. правда я уверен на 100 % мне опять придется мучаться сс массивами и регистрами таймеров. Хотелось бы использовать емкостное управление. Но можно и кнопки


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 20:23:59 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50
Сообщений: 12364
Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 4
Изображение
Приблизительно так это выглядит. Как будет реализован опрос кнопок и каких -- ещё обсуждается. Но по обнаружению нажатия клавиши, мы делаем что-то такое.

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

Числа для нот придётся посчитать вручную и сделать там 2-мерный массив. 8 октав на 12 полутонов. Числа для огибающей хранить в одномерном массиве на мнооого выборок. Но где их взять? Только если поколдовать над картинками осциллограмм реальных нажатий клавиш. Возможно Бригадир больше скажет про о, как должны выглядеть атаки и сколько длится послезвучание. ЕМНИП, они имеют каплевидную форму. Но... по скольки точкам их оптимально строить?


Вложения:
3.7.5.jpg [101.83 KiB]
Скачиваний: 687

_________________
Изображение
И ты врёшь!!! © Vladisman
Изображение
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 20:37:25 
Друг Кота
Аватар пользователя

Карма: 43
Рейтинг сообщений: 167
Зарегистрирован: Вс янв 25, 2009 21:16:04
Сообщений: 35639
Откуда: Москва
Рейтинг сообщения: 0
Помнится: мне тоже расхваливали возможности МК, но как дошло до конкретного дела ....все программисты попрятались. А дело то было простое: разделить основную частоту кварца до 12 частот равномерно-темперированного строя: сетка из 12 частот - До, до -диез и так далее до СИ 6 октавы. В лучшем случае: МК способен опросить 64 клавиши и выдать коды клавиш по 8 портам.
Вам написать нужные конкретные частоты? Щаз напишу. Но предупреждаю - частоты хоть и низкие В районе 2-4 тысяч герц, но с сотыми долями. Это Вам не 1 МГц разделить на 1000....тут коэффициенты деления весьма сложные.
Огибающая - это самое простое для программирования.
Я посмотрел картинку - здесь не хватает применение памяти. для фиксации промежуточных результатов, например: музыкант нажал не одну клавишу а сразу 6, а то и восемь. Значит надо иметь как минимум 8 каналов, а лучше....32! Почему столько много? Так в основном звуке несколько обертонов. Например: струна звенит и выдает кроме основного ЛЯ ещё и ЛЯ вдвое выше по частоте, вчетверо выше и т. п.
А Вы думали так просто? нет, не просто.

_________________
А поболтать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 21:00:22 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50
Сообщений: 12364
Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 0
Вот тут косяки и начинают всплывать. Таймера у меги 3. Даже если В моём случае изменить кое-что и использовать 1 таймер на ноту... Больше 3 нот сразу не получится. Хотя 3 -- уже что-то. На 3х тонах, кажется, даже и сыграть чего-то можно. (я честно говоря более 2 клавиш зажать не могу нормально :))) )
На тему долей герц... Ну тут не совсем гладко так всё. Частоты нот удут результатом целочисленного деления тактовой частоты на некоторый коэффициент. Так что если попадём в +/- 1герц то будет неплохо. Для чего-то большего требуется и ресурсов больше. Сами понимаете. Но, из хороших новостей... Частоты октав будут всё равно гармоничны. Т.е. отличаться до второй октавы от до первой будет ровно в два раза по частоте. И т.д. А это, в целом, не так и плохо звучит.

Огибающая -- запрограммировать просто. Но вот над формой её на бумажке бы подумать...

_________________
Изображение
И ты врёшь!!! © Vladisman
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 21:25:19 
Друг Кота
Аватар пользователя

Карма: 43
Рейтинг сообщений: 167
Зарегистрирован: Вс янв 25, 2009 21:16:04
Сообщений: 35639
Откуда: Москва
Рейтинг сообщения: 0
просто Кот. Высылаю Вам коэффициенты деления, в том числе и в машинных кодах
Изображение
А формула простая: частота ведущего генератора делиться на корень из 2 в 12 степени.
Я попробую и форму огибающей нарисовать, но можно и в Инете пошарить. А ещё проще: в Инете есть готовые сэмплы, достаточно их скачать в свою память и черпать оттуда нужные звуки. Делов то....
https://yandex.ru/images/search?text=%D ... source=wiz

_________________
А поболтать?


Последний раз редактировалось Brigadir Вт фев 23, 2016 21:39:51, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 21:38:58 
Друг Кота
Аватар пользователя

Карма: 233
Рейтинг сообщений: 11338
Зарегистрирован: Чт авг 30, 2012 20:24:40
Сообщений: 37346
Откуда: Нижний Новгород
Рейтинг сообщения: 0
Brigadir писал(а):
в Инете есть готовые сэмплы, достаточно их скачать в свою память и черпать оттуда нужные звуки.
Вот к этому и пришли в итоге.
Делать выборки по адресам из памяти - гораздо проще и качественнее, чем чего-то там синтезировать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 21:44:02 
Друг Кота
Аватар пользователя

Карма: 43
Рейтинг сообщений: 167
Зарегистрирован: Вс янв 25, 2009 21:16:04
Сообщений: 35639
Откуда: Москва
Рейтинг сообщения: 4
Совершенно верно: достаточно иметь в памяти всего один кусочек звука фортепиано в комплекте с огибающей и вытащив его из памяти подавать на ЦАП под разной тактовой частотой = будет Вам и нота , согласно нажатой клавиши и длительность атаки , поддержки и затухания, согласно несущей частоты. (чем выше звук - тем короче атака и затухание).
Я Вас подвожу к работе канального процессора: процессор каждую нажатую клавишу (код, а значит и высота звука) отправляет в свой канал обработки (в ОЗУ), каналов может быть 8 - этого достаточно, у человека всего 10 пальцев. Каждый канал делит несущую частоту согласно кода нажатой клавиши и данная частота управляет скоростью обработки в своем ЦАП код звука, что почерпнут из общей памяти (например = звук рояля). Непонятно рассказал? А Вы напрягите мозг...это же несложно...

_________________
А поболтать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 21:58:08 
Друг Кота
Аватар пользователя

Карма: 233
Рейтинг сообщений: 11338
Зарегистрирован: Чт авг 30, 2012 20:24:40
Сообщений: 37346
Откуда: Нижний Новгород
Рейтинг сообщения: 0
Brigadir писал(а):
каналов может быть 8 - этого достаточно, у человека всего 10 пальцев.
Иной раз недостаточно.
Нота может продолжать играть и после того, как отпустили клавишу (послезвучие, затухание).
И чаще всего так и бывает, у многих инструментов.
Поэтому ввели понятие "полифония" (число одновременно звучащих нот).
Для комфортной игры - не менее 32 нот (каналов) одновременно.
У моего синтезатора на компе - 512. :)
Но такое количество нужно, естественно, только при проигрывании сложных MIDI-файлов.
При живой игре это избыточно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Вт фев 23, 2016 22:49:40 
Друг Кота
Аватар пользователя

Карма: 43
Рейтинг сообщений: 167
Зарегистрирован: Вс янв 25, 2009 21:16:04
Сообщений: 35639
Откуда: Москва
Рейтинг сообщения: 0
Андрюша, хватит и восьми. Полифония - это не количество нажатых клавиш, а количество одновременно воспроизводимых частот, а это уже нечто другое. Помните я говорил? Одна частота звучит весьма "бледно". А чтобы получить красивый тембр, придется смешивать несколько десятков частот, в том числе и шум (белый, розовый). Вот Вам и полифония в 32 звука (составляюшие конечного тембра на динамике).
А управляюших каналов (число одновременно нажатых клавиш) достаточно и 8.
К примеру: простой звук флейты - это меандр определенной частоты (ноты). Там и резонансная составляющая то не ярко выражена, но к этой частоте примешивается и звук выдуваемого воздуха (шипение). Кроме того: основная частота несколько вибрирует на частоте 6 - 8 Герц. В итоге мы слышим уже смесь как минимум из трех частот. А вот струна, по которой щелкнули медиатором имеет в своем звуке уже штук 12 частот, не меньше. Это и основной тон и акцент и куча обертонов и "вращение" струны и даже скрип пальца по грифу...резонанс деки....Некоторые звуки (частоты) практически не слышно, но они накладывают свою окраску создавая неповторимый тембр.
Поэтому: хотите более менее натуральный звук классического инструмента? Запишите кусочек этого звука в память и черпайте оттуда, управляя частотой воспроизведениия.

_________________
А поболтать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Ср фев 24, 2016 00:14:46 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50
Сообщений: 12364
Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 4
Ммм... ладненько... Вариант для самых маленьких номер три:

Кладём в память WAV файлы. В каждом из которых буквально по 0,1 секунды чистого звука инструмента. Это будет наш банк семплов. Для каждой ноты заводим переменную громкости. Которая будет динамично изменяться во времени в соответствии со временем.Программа меняет в ней константу обращаясь к массиву огибающей.

Ну и в итоге, в главном цикле мы для каждой ноты берём N-ую выборку из её семпла и умножаем её на новое значение коэффициента громкости. Затем (если считаем что все ноты имеют одинаковую громкость) находим среднее значение этих величин и выдаём его в ЦАП. Возможно среднеквадратичное будет чуток логичнее. (тогда одна затухающая нота не будет так глушить все)

Это конечно сотня тактов процессорного времени на обработку каждого импульса для ЦАП. Но... это позволимо, если наша тактовая 8МГц, а мы хотим получить частоту дискретизации ~44кГц :beer:

_________________
Изображение
И ты врёшь!!! © Vladisman
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Ср фев 24, 2016 09:10:47 
Друг Кота
Аватар пользователя

Карма: 43
Рейтинг сообщений: 167
Зарегистрирован: Вс янв 25, 2009 21:16:04
Сообщений: 35639
Откуда: Москва
Рейтинг сообщения: 4
простоКот - мыслишь правильно. С чего начать? Я так полагаю с ЦАП - именно здесь и создается искомый звук согласно кодовым посылкам на его вход.
Изображение
Даже из 4 разрядного кода можно из ЦАП "выжать" 16 уровней мгновенной амплитуды сигнала, но более качественный звук можно выжать от 8 разрядного кода (256 уровней).
Опрос клавиатуры - здесь справится любой МК. Помнится ковырял я древнюю Касю, у которой была более менее открытая архитектура схемы: БИС (опрос клавы, кнопок управления, синхронизация и прочее прочее), ОЗУ (емкость не помню,), ПЗУ и 4 разрядный ЦАП с ФНЧ и УНЧ (стерео). Могу и поискать конкретную схему той Каси. Она в принципе не сложная.
В ПЗУ хранятся коэффициенты деления частоты основного генератора, коды фазы и формы огибающей. ОЗУ нужна для временного мгновенного хранения кодов.
Более менее архитектура музыкального синтезатора описана в журнале Радио 1992 г. номер 11 Студнев. "Цифровой музыкальный синтезатор"
А если короче: то цифровой синтезатор по сложности схемы и логики работы напоминает компьютер, только специализированый. :)))

_________________
А поболтать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Ср фев 24, 2016 15:17:16 
Потрогал лапой паяльник
Аватар пользователя

Карма: 24
Рейтинг сообщений: 384
Зарегистрирован: Ср янв 27, 2016 10:19:41
Сообщений: 382
Рейтинг сообщения: 4
mixon46 писал(а):
Зачем вам делать 20 тембров? Сделайте хотя бы 1 тембр на мк. Я соберу за милую душу. Только программу разработать и все. Не очень то хочется использовать 12 ne555 + 12 к561тм2. было бы круче написать программу для одного мк
Уже давали готовый с готовой программой 8 голосой полифонией и двумя тембрами.Чем ненравиться?
http://www.pic24.ru/doku.php/osa/articles/pk2_osa_piano
mixon46 писал(а):
Достаточно что бы он был похож на звук пианино. Можно сделать на двух мк. Тини 2313 например для опроса кнопок. Мега 8 для формирования нужных звуков
Неа. Неполучиться. Для такого сложного звука как пианино потребуеться PCM метод и большой обьём флеши . На одном STM32 это можно организовать.Вывод звука на ЦАП R2R или ШИМ без разницы .Шим даже лучше.
просто КОТ писал(а):
Вот тут косяки и начинают всплывать. Таймера у меги 3. Даже если В моём случае изменить кое-что и использовать 1 таймер на ноту... Больше 3 нот сразу не получится.
А ТУТ 8! И все на одном таймере.

_________________
Не стесняйтесь благодарить тех кто вам помогает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Ср фев 24, 2016 16:06:29 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 423
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3407
Откуда: Севастополь
Рейтинг сообщения: 7
... что еще раз подтверждает, что "просто взять и сделать" на любом общедоступном МК - не получится.
Надо либо хорошо знать его архитектуру и методы программирования (как в pk2_osa_piano), либо использовать общеупотребительные чипы, заточенные под воспроизведение миди.

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Ср фев 24, 2016 20:27:28 
Говорящий с текстолитом
Аватар пользователя

Карма: 10
Рейтинг сообщений: 16
Зарегистрирован: Сб фев 18, 2012 15:42:29
Сообщений: 1644
Откуда: Курск
Рейтинг сообщения: 0
хотите сразу слделать пианино с хорошим. Мне бы хоть простое собрать что нибудь. Лиш бы только многоголосность была


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Электронный баян
СообщениеДобавлено: Ср фев 24, 2016 20:50:30 
Друг Кота
Аватар пользователя

Карма: 43
Рейтинг сообщений: 167
Зарегистрирован: Вс янв 25, 2009 21:16:04
Сообщений: 35639
Откуда: Москва
Рейтинг сообщения: 0
Самое простое и не требующее никакого программирования: генератор звука по любой известной схеме , например на 561 ЛА7 и сигнал подать на счетчик ИЕ5. У Вас на плате уже 9 разных частот с интервалом в одну октаву. Делаете ещё точно таких же 11 схемок и у Вас в руках полный набор звуков , осталось только приделать клавиши или кнопки и развлекаться на электрооргане. Схему нарисовать? Если нарисовать, то ступай за пивом! :)))
Учись у этого: http://yandex.ru/video/search?p=1&filmI ... ath=wizard

_________________
А поболтать?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 476 ]     ... , , , 19, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Сергей К и гости: 24


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y