Recent Changes - Search:

Главная страница

Проекты

Статьи

Домашний WiFi роутер

Архив проектов

Загрузки

GitHub

SourceForge

edit SideBar

MT32

-изучение работы легендарного синтезатора Roland MT-32

Термины

part - фактически, это MIDI канал (1 - 8, Rhythm для MT-32) на который устанавливается настроенный иструмент patch, способный воспроизводить несколько нот voice одновременно.

partial - элементарный генератор звука (WG - Wave Generator). В LA32 имеется 32 partials. Два соседних partials (четный n и нечетный n+1) могут объединяться c помощью ring modulation.

tone - один или два смежных partials (четный и нечетный), возможно, связанных между собой ring modulation.

voice - один или два tone. Представляет собой один голос играющего на данный момент инструмента.

timbre - описание инструмента: общие пареметры и описание одного или нескольких partial's.

patch - настроенный инструмент: timbre, level (громкость), panpot (стерео баланс) и reverb (ревербератор).

Pitch Key Follow - определяет, как высота тона зависит от нот MIDI. 1 - это нормальная октава равномерно темперированного строя. 0 - высота тона от ноты не зависит. Другие значения позволяют сузить или расширить октаву. Отрицательные значения приводят к тому, что высота тона становится выше в левой части клавиатуры.

Известные регистры

Memory Mapper
0100hREG_GA_MMAP00h - мапит первые 16К ROM'а по адресу 8000h
02h, 03h - банки с инструментами
11h - обычная конфигурация
Размер страницы: 16384
GPIO Output
0x2xxREG_GA_SO[0-16]WR - GPIO Output: 0b0010'000xxxx0
0200hREG_GA_SOBit0 - LED
Bit1,Bit2 - Reverb Firmware
Keyboard (GPIO Input)
0x2xxREG_GA_SI[0-16]RD - GPIO Input: 0b0010'000xxxx0
021AhREG_KEY_LINE1Line 1 (5 bit)
021ChREG_KEY_LINE0Line 0 (5 bit)
GA Configuration
0280hREG_GA_CFG0xca - initialize value
LCD
0300hREG_LCD_CHARLCD, A=1 (character code)
0380hREG_LCD_CTRLLCD, A=0 (control)
Reverb
0400hREG_REVERB_LO[4:4]ReverbLevel_Lo, [3:1]ReverbTime
0800hREG_REVERB_HI[3:3]ReverbMode, [2:1]ReverbLevel_Hi
LA32
0C00hINT_STATUSInterrupt status
0C00[4 * i]TVA_TVF_ENV_TIMETVA/TVF Envelope Time
0C02[4 * i]TVA_TVF_ENV_LEVELTVA/TVF Envelope Level
0C80[4 * i]WG_PULSE_WIDTHWave Generator PWM Pulse Width
0C82[4 * i]WG_PCM_SAMPLEPCM Generator Sample Address
0C82[4 * i]TVF_FREQ 
0D00[4 * i]TVA_ENV_TIME 
0D02[4 * i]TVA_ENV_LEVEL?(но это не точно)
0D80[4 * i]PITCH_LOPartial Pitch LSB
0D82[4 * i]PITCH_HIPartial Pitch MSB
0E00[4 * i]WG_SETUP 
0E02[4 * i]WG_PCM_LENPCM Generator Sample Length
0E02[4 * i]TVF_RESTVF Resonance

ToDo: найти регистр, который отвечает за генерацию частоты для ревербератора.

Чипы

Ссылки

MT-32 Replica

Edit - History - Print - Recent Changes - Search
Page last modified on April 07, 2022, at 10:49 am