Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2014, 01:21   #1
nikita1488
Новичок
Джуниор
 
Регистрация: 21.02.2014
Сообщений: 1
По умолчанию синтезатор

помогите мне на с++ создать синтезатор его составные части: pitch modulation синтезатор должен так же иметь волноформы и так же LFO – Low Frequency Oscillator (Осциллятор низкой частоты, генератор низкой частоты) волноформы: синусоида, пила, квадрат и пульс
nikita1488 вне форума Ответить с цитированием
Старый 21.02.2014, 07:32   #2
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 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"
challengerr вне форума Ответить с цитированием
Старый 21.02.2014, 13:12   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

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

TC, возмите обертку TToneGen, там в сэмплах все что вам нужно уже реализовано.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синтезатор и 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