Легко.
Четверти синуса - это те же координаты точек формирующие рисунок волны. Кто вас вообще убедил что в осцилляторе должен быть именно фрагмент аудиосэмпла? Это применимо к решениям ромплеров а-ля. midi XG, где действительно используются хранимые волны. Производители чипов - инженеры и тут куда проще себе представить математическую функцию описывающую ту самую часть параболы и представит как Sine.
Я уже вроде и формулу выше вам выложил как происходит вычисление по этим двум скальпированным РОМ на конкретном примере.
Вроде и пояснил как устроен подход FFT в современных синтах, где для таблиц нет никаких волн аналогично. А есть те кривые описанные по точкам. Это куда меньше требует ресурсов нежели внутренние воспроизведение аудио сигнала, что вообще и смысла то по сути не имеет. Сама идея брать за основу - применение в чипах осцев именно волн как базис - это вообще больше тупиковый вариант с своими ограничениями и дом ресурсами для простейших задач.
Все таки осциллятор, наверно, корректнее называть генератором в общих чертах. Как генератор отдает волну в осцилляторе - вопрос технический, и к музыуканту, просто пользователю синта уже не относится.
Как на основе уже ГОТОВЫХ отсчётов можно дополнительно высчитать синус? Как вы себе это представляете? Есть 256 отсчётов четверти синуса, выглядит это как сэмпл.
Вы мыслите рамками сэмплов -и это ключ проблемы.
Есть клок с заданной частотой, он (в т.ч.) управляет выбором ячейки памяти РОМ. Там работает в вычислениях два РОМ.
out = exp(logsin(phase2 + exp(logsin(phase1) + gain1)) + gain2)
именно здесь происходит по сути частотное модулирование (сам FM)
А то, что формирует (хранит) в ячейке данные четверти Sine, это как раз таки никакой не сэмпл. А данные мат. функции, "рисующие" для ячейки геометрию волны. Именно команды работы внутри чипа, выполнены в виде битов, которые по сути являются проще говоря "пресетами" всех форм волны в памяти РОМ1 и РОМ2.
Почему вы держитесь за ничем не подкрепленную идею сэмплов в РОМ, я незнаю и честно не понимаю.
Я понимаю когда есть фактически РОМ с сэмплами и это РОМплер. Пример - некий РОМ который к примеру воспроизводит миди файлы как аудио композицию. Вот это пример - РОМ где хранятся сэмплы наборами и отрабатывают свое. Как в любом железном ромплере, там правда сложнее, так как нормальные ромплеры это среднее между синтом и сэмплером.
Но зачем притягивать хранение сэмплов как аудиофайлов к производству ФМ-чипов?
Есть документация, есть исследования открытые - есть алгоритмы работы этих РОМ и вычисления самих модуляций между ними.
Никакими сэмплами не пахнет и в помине.
Хорошо, я согласен что всякое может быть, и согласен на это смотреть как возможный вариант, но не как основной.
Я сам связан с разработкой муз софта, и работал не над одним движком синта. И ФМ вопросы проходил. Задаваясь теми же вопросами в свое время.
Это мне, как разработчику, было интересно - применить движок FFT для кучи волн числовых таблиц, и процессор будет иметь минимальную нагрузку, в моменты когда волна перестраивается моментально по точкам, как собственно и морфируется, или же заложить сэмплы, заимев кучу ограничений в морфинг такой неизменяемой волны, резать на куски, клеить симметрию, налагая уже заметную нагрузку.
Я на это просто смотрю иначе, как это выгоднее с части ресурсов. Сегодня, сейчас, мне глядя на мануал чипа, делая скидку на то, какие подходы были в то время у инженеров видится ситуация весьма открыто. Таблицы в то время это основа. Волны в чипах? Нет. Полистайте мануал на чип и поймите, что это разговор не о воспроизведении данных из ячеек а о работе битных кодов, оказывающих влияние на подбираемые ячейки двух РОМ с несложной формулой. не к чему в те годы было применять хранение аудио волн как сэмплов в чипе. Начать можно с размера памяти, нужной на хранение строчки текста этих мат функции четверти волны, против самих циклов аудио-волн, разница между ними по размеру огромная, код выигрывает с точки зрения проектирования, в эпоху когда память исчислялась лимитированными объемами в чипах. Просто практического и технического смысла все это не несет изначально для своего времени.
Для инженера решение работы с аудиосэмплом в осце, корено в аппаратном чипе, Геморой, относительно применения мат функций для описания волны. Не забывайте, что для воспроизведения волны, понадобился бы по сути аппаратный кодек, речи о котором в принципе не стоит.
Есть 2 таблицы, есть наложение четвертей по формуле, и отдельный конвертер полученной цифры на выходе в аудио, если совсем примитивно рассуждать.