![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 21.02.2014
Сообщений: 1
|
![]()
помогите мне на с++ создать синтезатор его составные части: pitch modulation синтезатор должен так же иметь волноформы и так же LFO – Low Frequency Oscillator (Осциллятор низкой частоты, генератор низкой частоты) волноформы: синусоида, пила, квадрат и пульс
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 30.07.2008
Сообщений: 1,609
|
![]()
Как делать, не знаю. Открываете учебник по уравнениям математической физике, там есть волновое уравнение. Затем открываете учебник по численным методам и ищете методы, связанные с дифференциальными уравнениями, для того, чтобы реализовать.
Можно использовать генетические алгоритмы. Что это такое, есть по ссылке: http://www.algolist.manual.ru/ai/ga/index.php Формулы есть по ссылке: https://www.google.ru/url?sa=t&rct=j...61725948,d.bGQ Период осцилляции хранится в таблице, она определяет волноформу. Эту таблицу нужно как-то сгенерировать. Под таблицей имеется в виду что вычисляется функция sin x в определенных точках синусоиды (ограниченном) и количество точек определяет количество сэмплов. Выборка значения происходит из таблицы. Период модуляции определяется количеством сэмплов. Фундаментальная частота f0 = fx / L где L - количество сэмплов, fx - sample rate Если шаг выборки из таблицы отличается от единицы, то будут получены отличные от этого частоты. Для того, чтобы получить таблицу производится вроде бы линейная интерполяция функции (это изучается в численных методах, см. учебник) Квадрат это видимо на основе разложения функций в ряд Тейлора (математический анализ, раздел ряды)
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
Не квадрат, а меандр и не надо тут ничего раскладывать в ряды, это единичные скачки заданного периода и скважности равной двум.
TC, возмите обертку TToneGen, там в сэмплах все что вам нужно уже реализовано.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Синтезатор и C++ | koljsch | Общие вопросы C/C++ | 16 | 12.01.2013 20:49 |
Синтезатор речи | tonatas | Мультимедиа в Delphi | 4 | 30.01.2011 10:33 |
Синтезатор ЭМ-05 | vedro-compota | Компьютерное железо | 1 | 27.10.2010 20:08 |
Синтезатор | Claster | Помощь студентам | 0 | 06.10.2010 18:06 |
Программный синтезатор | JROUD | Помощь студентам | 3 | 16.08.2010 09:50 |