INS (Theta Music Composer)

From Atariki

Revision as of 15:57, 16 mar 2017; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

Format definicji instrumentu używany przez program Theta Music Composer 1.x.

Plik w tym formacie ma stałą długość $64 bajtów i zawiera następujące dane:

offsetdługośćzawartość
$0000$0014identyfikator pliku w postaci kodów ANTIC-a: d'Theta Music Composer'
$0014$003fobwiednia dźwięku
$0053$0008transpozycja dźwięku używana przy arpeggio
$005b$0009parametry dźwięku

Dane obwiedni

21 razy trójka bajtów $ab, $cd, $ef, gdzie:

  • a - zniekształcenie dźwięku,
  • b - głośność obwiedni podstawowej,
  • c - typ akcentu,
  • d - głośność obwiedni dodatkowej,
  • ef - parametr akcentu,

Typ akcentu:

  • 0 -brak akcentu. Częstotliwość zależy tylko od typu dźwięku i nuty.
  • 1 -parametr jest bezpośrednio wsadzany do komórki częstotliwości POKEY-a.
  • 2 -poprzednia wartość wsadzona do POKEY-a, plus parametr, do POKEY-a.
  • 3 -oryginalna wartość częstotliwości przed wsadzeniem do POKEY-a jest powiększana o parametr.
  • 4 -parametr AND $D20A (RANDOM) jest wsadzany do POKEY-a.
  • 5 -parametr oznacza numer nuty, której częstotliwość pobierana jest z tablicy częstotliwości i wsadzana do POKEY-a.
  • 6 -podobnie jak poprzednio, ale przed wsadzeniem do POKEY-a wartość jest powiększona o dotychczasową wartość wsadzaną do POKEY-a.
  • 7 -parametr jest transpozycją nuty.
  • 8-F -akcenty te są identyczne z akcentami 0-7, z tym, że do komórki AUDCTL jest wsadzana zapasowa wartość AUDCTL dźwięku. Normalnie przy akcencie 0 wsadzana jest tam wartość standardowa, a przy pozostałych wartość 0.

Parametry dźwięku

Kolejno:

  • barwa filtru -jak łatwo się domyślić używana przy dźwiękach filtrowanych. Częstotliwość transponowana przez tą wartość wsadzana jest do generatora filtrującego (o numerze o 2 większym).
  • standardowa wartość AUDCTL dźwięku.
  • zapasowa wartość AUDCTL (używana przy akcentach od 8 do F).
  • szybkość opadania obwiedni podstawowej. Kiedy player zagra już wszystkie 21 kolumn obwiedni dźwięku, o głośności decyduje już tylko głośność na ostatniej kolumnie i szybkość opadania. Liczona jest ona w ilości wywołań playera. Wartość 10 oznacza zmniejszanie głośności o jeden co $10 wywołań playera. 0 to obwiednia stała.
  • szybkość opadania obwiedni dodatkowej.
  • starsze 4 bity oznaczają typ dźwięku. Młodsze 4 to parametr. Poszczególne typy dźwięku to:
    • 0 -dźwięk normalny.
    • 1 -wibrato.
    • 2 -płynne wibrato.
    • 3 -wibrato liczone w nutach.
    • 4 -opadanie dźwięku.
    • 5 -opadanie dźwięku liczone w nutach.
    • 6 -stałe podwyższenie wysokości.
    • 7 -dopóki głośność dźwięku na obwiedni podstawowej jest niezerowa, głośność obwiedni dodatkowej jest zwiększana o 1. Jest to inaczej przechodzenie dźwięku do drugiego kanału. Typy dźwięku od 8 do F różnią się tym, że parametr jest brany z minusem, to znaczy, że zamiast opadania będzie wznoszenie, wibrato będzie przesunięte w fazie, a przechodzenie dźwięku będzie realizowane w odwrotną stronę.
  • oczekiwanie na rozpoczęcie danego typu dźwięku. Do tej pory dźwięk brzmi jakby był typu 0.
  • najstarsze 2 bity oznaczają tablicę częstotliwości, z której pobierana będzie częstotliwość. W rzeczywistości wartość ta jest dodawana do numeru nuty tak, że dla drugiej tablicy nuta C-1 ma numer $41. Pozostałe 6 bitów podaje zmniejszoną o 1 ilość wywołań playera po której następuje kolejne wywołanie procedury typu dźwięku, zmieniające odpowiednio dźwięk.
  • młodsze 4 bity to zmniejszona o jeden ilość wywołań playera, po której odtwarzana jest następna transpozycja. Starsze 3 bity, to zmniejszona o jeden ilość używanych transpozycji. Transpozycje są odtwarzane od tej o numerze 1 aż do tej której numer wybraliśmy, a następnie znowu od tej o numerze 1. Jednakże jeżeli ilość transpozycji zwiększymy o 8, to będą one odtwarzane w kolejności od tej o numerze 1 w dół aż do tej której numer wybraliśmy, a następnie z powrotem w górę do pierwszej i tak w kółko.

Linki

Personal tools