"Живая" цыфра, улыбнуло, в цитаты.
Что-то я не припомню об упоминании каких либо волновых таблиц в DX7, вроде генераторы с делителями (или множителями) там цифровые. Могу ошибаться, вполне возможно, что и то и другое имеет место.
Ну, скажем, комбинации гармоник в звуке на разных диапазонах. Мне кажется, что все-таки там не сэмплы.... Внутрь бы заглянуть....
ПС. а вот на счет ТГ77, вполне поверю, что сэмплы. От D-50 вдохновились.
Не надо внутрь заглядывать,
http://www.dtech.lv/techarticles_yamaha_chips.html, там все чипы и их назначение для почти всех моделей Yamaha .
https://github.com/google/music-synthesizer-for-android/blob/master/wiki/Dx7Hardware.wiki
Гугл перевод:
Об оборудовании Yamaha DX7 известно довольно много, и более подробную информацию (и достоверность) можно получить с помощью тестирования «черного ящика». Одним из лучших источников информации является сервисное руководство, опубликованное Yamaha.
Основным процессором является 63X03, вариант Motorola 6800, скорее всего, работающий на частоте 2 МГц. Также есть дополнительный процессор 6805, который отвечает за сканирование клавиш ввода и переключателей панели.
Основное генерирование звука осуществляется парой микросхем VLSI - EGS YM28190 (генератор огибающей) и OPS YM21280 (оператор). В каждом аудиосэмпле (с частотой дискретизации 49096 Гц) эти микросхемы циклически проходят 96 субсэмплов, по одному на каждого из 6 операторов x 16 голосовой полифонии.
EGS содержит состояние для 96 конвертов, а также является основной точкой взаимодействия с основным процессором. Для каждого тактового сигнала (около 4,7 МГц) чип EGS подает 12-разрядную огибающую и 14-разрядное значение частоты на второй чип, чип OPS (оператора).
Благодаря измерениям становится ясно, что 12-разрядное значение огибающей является простым представлением с фиксированной запятой Q8 логарифмического (основание 2) усиления. Линейное усиление равно 2 ^ (значение / 256). Этапы особенно отчетливо видны на графиках амплитуды для медленно распадающихся конвертов (todo: insert decay30.png image). Это дает в общей сложности около 96 дБ динамического диапазона с шагом приблизительно 6/256 = 0,0234 дБ, что является гладким для уха.
Точно так же ясно, что значение частоты является представлением Q10 с фиксированной точкой логарифмической (основание 2) частоты. Верхние четыре бита представляют октаву (таким образом, общий диапазон составляет 16 октав, от менее половины Гц до предела Найквиста 24,5 кГц. Разрешение младших 10 битов составляет приблизительно 1,17 цента.
Из тщательного измерения точных частот синусоид, генерируемых микросхемой OPS, становится ясно, что частоты в октаве квантуются до линейных значений с разрешением 1/4096. Таким образом, вполне вероятно, что младшие 10 битов проходят через LUT, содержащую 2 ^ (значение / 1024), и результат затем используется для приращения фазового аккумулятора. (Разумно предположить, что фазовый аккумулятор имеет 27 бит точности - 12 бит мантиссы на самых низких частотах, смещенных влево до 15 на самых высоких. Однако также возможно, что на самых низких частотах фаза только увеличивается для части образца часов).
Известно, что более поздние одночиповые чипы, генерирующие тоны FM от Yamaha, избежали необходимости в множителе, сохраняя log (sin (x)) в одном LUT и 2 ^ x в другом. Вместо умножения на сигнал усиления, усиление просто добавляется к выходу первого LUT. Мэтью Гамбрелл и Олли Нимитало декапсулировали микросхему YM3812 и извлекли содержимое этих ПЗУ, которые оба состоят из 256 элементов (8 бит). Обратите внимание, что на самом деле в синуте хранится только четверть цикла - остальные три восстанавливаются по симметрии. Весьма вероятно, что чипы DX7 работают по тому же принципу. Пока неизвестно, имеют ли ПЗУ DX7 такой же размер или более точные, чем там.
Поскольку LUT от логарифмической частоты к линейной частоте вычисляет ту же фактическую функцию, что и логарифмически-линейное усиление, вполне вероятно, что ПЗУ совместно используется, и два поиска выполняются за такт. Если это так, то, скорее всего, экспоненциальная функция имеет 10 младших битов точности (плюс 4 бита показателя).
Чип OPS также содержит два буфера (M и F) для объединения 6 операторов в один голос. Они хранят линейные значения, как и выходные данные exp LUT. Комбинация нескольких операторов является простым линейным сложением. В буфере F реализован фильтр «против охоты» Томисавы (это определяется из измерения сигналов обратной связи) - поэтому буферизуются предыдущие значения _two_ и используется их среднее значение (усиление обратной связи - степень двух, поэтому умножение на обратную связь усиление - это сдвиг) в качестве входных данных для следующего цикла.