uriy 5 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Нашел на форуме несколько подобных тем. Но как-то все не то. Мне нужно генерить сигналы нажатия клавиш, аварийные сигналы и другие предупреждающие сигналы. Конечно хочется чтобы все это было благозвучным. Просто килогерц не нравится. Хранить во флешке контроллера десятки килобайт wav файлов нет никакого желания. Мне кажется пару лет назад видел это на хабре. Сейчас не могу найти ничего стоящего. Звук выводится через ЦАП в STM32. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KnightIgor 2 9 июля, 2018 Опубликовано 9 июля, 2018 (изменено) · Жалоба Нашел на форуме несколько подобных тем. Но как-то все не то. Мне нужно генерить сигналы нажатия клавиш, аварийные сигналы и другие предупреждающие сигналы. Конечно хочется чтобы все это было благозвучным. Просто килогерц не нравится. ... Звук выводится через ЦАП в STM32. 1. Запустить таймер на, скажем, 8kHz 2. По срабатыванию таймера выдать в ЦАП выборку из сэмпла. 3. Выборку можно взять либо из таблицы сэмплов для разных нот, либо, для периодических сигналов, вычислить математически. Примерно так. Изменено 9 июля, 2018 пользователем KnightIgor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Сейчас не могу найти ничего стоящего. - Поищите в Сети проекты музыкальных шкатулок на AVR и PIC. Их масса, оттуда можно позаимствовать идею реализации и собственно мелодии в двоичном виде. Я так китайский "поющий автомобильчик" чинил по просьбе знакомой. Заставил его петь "калинку-малинку" и "с чего начинается Родина" :) - Поищите примеры реализации полифонии, опять же для AVR и PIC ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Ноты имеют известные частоты. А дальше комбинируйте ноты согласно гармонии. Вот и всё. Можно найти ноты любого произведения, если очень хочется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 79 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба ноты устроены так: Ля первой октавы - 440Гц, всё остальное получается умножением на корень двенадцатой степени из двух. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба . . . .Конечно хочется чтобы все это было благозвучным. . . . Основа благозвучности - гармоническая форма выходного сигнала. Самое простое решение (как для встроенного DAC так и внешняя его эмуляция на резисторах) - записать таблицу синуса (достаточно четверть периода). Если нужны "навороты" сделайте формирователь формы огибающей амплитуды, как в муз. инструментах. За "базу" можно взять аппноты, где реализуется формирование DTMF кодов (телефония). Есть аппноты и для формирования синусоидального сигнала. Для форммирования гарм. сигнала возможно использовать и PWM + нч фильтр. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Как вариант - играть чип-тюны :) Гуглить 2A03, Adlib, OPL2/3. Исходников масса Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Ноты имеют известные частоты. А дальше комбинируйте ноты согласно гармонии. Вот и всё. Можно найти ноты любого произведения, если очень хочется. Увы, не выйдет так. Я пробовал. Надо быть музыкантом, наверное. Я использовал уже готовые наборы нот, заимствуя их из нескольких проектов музыкальных шкатулок ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Увы, не выйдет так. Я пробовал. Надо быть музыкантом, наверное. Я использовал уже готовые наборы нот, заимствуя их из нескольких проектов музыкальных шкатулок ... Наверное, нужно. Хотя бы знать, что такое терция, кварта, квинта. И аккорды, как следствие. А дальше - элементарно. Небось, весь "Турецкий марш" играть не обязательно. Аккорда хватит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Наверное, нужно. Хотя бы знать, что такое терция, кварта, квинта. И аккорды, как следствие. А дальше - элементарно. Небось, весь "Турецкий марш" играть не обязательно. Аккорда хватит. У меня даже муз. школы за плечами нет. Попробовал, поизучал теорию. Не выходит. Тогда я просто надергал из Сети готовых мелодий ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Основа благозвучности - гармоническая форма выходного сигнала. Самое простое решение (как для встроенного DAC так и внешняя его эмуляция на резисторах) - записать таблицу синуса (достаточно четверть периода). Гармония в музыке - это не синусоидальная форма сигнала, а круглые отношения частот звучащих нот, одновременно или последовательно. 2:3, 3:4... Современные ноты немного не попадают в точные отношения (нет чистых интервалов), зато все полутона отстоят друг от друга на одинаковый интервал (как писали, корень 12 степени из 2, то есть, в октаве 12 полутонов). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Вот проект, из которого я взял мелодии: http://micro.of.by/attiny2313-si/95-muzyka...shkatulka-avr-c и еще: http://forum.avr.ru/uzykalnaia-shkatulka-t36020.html? Эх, восемь лет прошло с тех пор, а я запомнил :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 79 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба https://stackoverflow.com/questions/4175334...d-starting-time http://www.music.mcgill.ca/~ich/classes/mu...mat.html#BMA1_3 https://newt.phys.unsw.edu.au/jw/notes.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Гармония в музыке - это не синусоидальная форма сигнала, а круглые отношения частот звучащих нот, одновременно или последовательно. 2:3, 3:4... Современные ноты немного не попадают в точные отношения (нет чистых интервалов), зато все полутона отстоят друг от друга на одинаковый интервал (как писали, корень 12 степени из 2, то есть, в октаве 12 полутонов). Мне нравится движок wolframalpha чтобы тестировать всякие мелочи онлайн. Я использую звуки генерируемые по такой формуле : http://www.wolframalpha.com/input/?i=play+...0t))*e%5E-(3*t) Там и про ноты можно все узнать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 9 июля, 2018 Опубликовано 9 июля, 2018 · Жалоба Где-то месяц назад решили с дочкой (6 лет) в субботу сделать какую-нить электронную поделку. Я прикинул, что забахаем музыкальную шкатулку на УМС8-08, бо схема там простейшая, детальки есть. Спаяли - не работает. Налаживал - толку ноль. Потом нашел и становил УМС7-05 - играет, но мелодии там уж больно скучные, и настрой уже далеко не боевой. Я расстроен, дочка тоже... и вот на таком фоне поступил я немного эмоционально. Короче, в той УМС8-08 по какой-то причине не работал встроенный генератор. Подаешь извне 32кГц - все играет, а кварц раскачать сама не может. Доча еще, представитель современной молоди: "пап, а ты из этой микросхемы туда загрузи". Ага. В общем, на следующий день сделал я контроллер, который подает 32кГц на вход, а на выходе записывает параметры ШИМ. По ним делает реверс нот и пауз. Короче там не все так тривиально, у нот есть не только высота, получаемая с ДПКД, но и возможность нарастания, спада и удержания ноты как у OPL-синтезаторов. Нигде в Интернете не нашел ПЗУ от этих УМС и схемы внутреннего управления, а свою уж как-то долго показалось реверсить. Я к чему? К тому, что если где-то есть движок для проигрывания УМС-совместимого ПЗУ, то там довольно все серьезно, и можно его было бы использовать в своих проектах для весьма сложных композиций с ШИМ-управлением (без ЦАП). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться