CMC (format pliku)
From Atariki
(Różnice między wersjami)
Wersja z dnia 17:22, 25 sty 2015 Mono (Dyskusja | wkład) (→Definicje instrumentów - szczegoly budowy brzmienia) ← Previous diff |
Aktualna wersja Mono (Dyskusja | wkład) (→Linki - INS) |
||
Linia 44: | Linia 44: | ||
6: filtrowany | 6: filtrowany | ||
7: czysty (stroi wyżej) | 7: czysty (stroi wyżej) | ||
- | EF: E - transpozycja (w górę od tonu podstawowego) | + | EF - transpozycja i delta: |
- | F - głębokość wibracji lub odstęp między częstotliwościami dla dźwięków dwukanałowych | + | E - transpozycja (w górę od tonu podstawowego) |
- | GG: wybrzmiewanie - co ile ramek zmniejszana jest głośność instrumentu aż do osiągnięcia ciszy (00=256 ramek, ff=255, ... 01=1). | + | F - głębokość wibracji lub odstęp między częstotliwościami dla dźwięków dwukanałowych |
- | + | GG - wybrzmiewanie: co ile ramek zmniejszana jest głośność instrumentu aż do osiągnięcia ciszy (00=256 ramek, ff=255, ... 01=1). | |
+ | |||
* Jeśli definicja instrumentu ma ustawione "slide up" (strzałka w górę), wtedy w drugim bajcie zostaje ustawiony 3 bit. (zwiększony jest o wartość 8) | * Jeśli definicja instrumentu ma ustawione "slide up" (strzałka w górę), wtedy w drugim bajcie zostaje ustawiony 3 bit. (zwiększony jest o wartość 8) | ||
* Jeśli definicja instrumentu ma ustawione "slide down" (strzałka w dół), wtedy w drugim bajcie zostaje ustawiony 4 bit, (zwiększony jest o wartość 16) | * Jeśli definicja instrumentu ma ustawione "slide down" (strzałka w dół), wtedy w drugim bajcie zostaje ustawiony 4 bit, (zwiększony jest o wartość 16) | ||
- | * Kolejne 2 bajty to mapa bitowa akcentów - kolejny bit, kolejny akcent w definicji obwiedni. | + | * Kolejne 2 bajty to mapa bitowa akcentów - kolejny bit, kolejny akcent w definicji obwiedni: |
+ | |||
+ | bajt: 0 1 | ||
+ | bit: 76543210 76543210 | ||
+ | |||
+ | wartość: xxxxxxxx xxxxxxx0 0-ton, 1-akcent | ||
+ | |||
+ | pozycja: 00000000 0111111 | ||
+ | 12345678 9012345 | ||
== Definicja obwiedni == | == Definicja obwiedni == | ||
Linia 101: | Linia 110: | ||
== Linki == | == Linki == | ||
+ | * [[CM2]] | ||
* [[CM3]] | * [[CM3]] | ||
* [[CMR]] | * [[CMR]] | ||
* [[DMC (format pliku)|DMC]] | * [[DMC (format pliku)|DMC]] | ||
* [[CMS]] | * [[CMS]] | ||
+ | * [[INS (Chaos Music Composer)|INS]] | ||
[[Kategoria:Atari 8-bit]] | [[Kategoria:Atari 8-bit]] | ||
[[Kategoria:Formaty plików]] | [[Kategoria:Formaty plików]] |
Aktualna wersja
Format pliku używany przez program Chaos Music Composer. Plik .CMC jest dosowym plikiem, zawiera 6 bajtowy nagłówek DOSu.
Spis treści |
[Edytuj]
Pierwsze bajty w pliku (pomijając nagłówek DOSa)
Offset | Opis |
$00 - $12 | Podpis - CMC Data File |
$13 | Tempo (globalne) |
$14 - $53 | Tablica adresów Patternów - młodsze bajty |
$54 - $93 | Tablica adresów Patternów - starsze bajty |
$94 - $12f | Tablica definicji instrumentów i mapa akcentów |
$130 - $1ff | Definicja obwiedni instrumentów (głośności) |
$200 - $254 | 1 ścieżka w SONG (1 kanał) |
$255 - $2a9 | 2 ścieżka w SONG (2 kanał) |
$2AA - $2ff | 3 scieżka w SONG (3 kanał) |
$300 - end | Dane patternów |
[Edytuj]
Definicje instrumentów
- offset = numer instrumentu x 6
- Pierwsze cztery bajty to wartości z prawej strony edytora instrumentów:
AB - akcent: A - 0..c=transpozycja (w górę od tonu podstawowego), f=D-6, e=G-5, d=C-5 B - zniekształcenie akcentu 0=8, 1=a, 2=2, 3=4 CD - zniekształcenie i rodzaj brzmienia oraz slajdy C - zniekształcenie (tylko parzyste wartości) + na najmłodszym bicie "slide-down" D - rodzaj brzmienia (0..3-jednokanałowe, 4..7-dwukanałowe) + na najstarszym bicie "slide-up": 0: standardowy 1: wibrujący 2: standardowy (?) 3: bas (stroi niżej) 4: dudniący 5: syntetyczny 6: filtrowany 7: czysty (stroi wyżej) EF - transpozycja i delta: E - transpozycja (w górę od tonu podstawowego) F - głębokość wibracji lub odstęp między częstotliwościami dla dźwięków dwukanałowych GG - wybrzmiewanie: co ile ramek zmniejszana jest głośność instrumentu aż do osiągnięcia ciszy (00=256 ramek, ff=255, ... 01=1).
- Jeśli definicja instrumentu ma ustawione "slide up" (strzałka w górę), wtedy w drugim bajcie zostaje ustawiony 3 bit. (zwiększony jest o wartość 8)
- Jeśli definicja instrumentu ma ustawione "slide down" (strzałka w dół), wtedy w drugim bajcie zostaje ustawiony 4 bit, (zwiększony jest o wartość 16)
- Kolejne 2 bajty to mapa bitowa akcentów - kolejny bit, kolejny akcent w definicji obwiedni:
bajt: 0 1 bit: 76543210 76543210 wartość: xxxxxxxx xxxxxxx0 0-ton, 1-akcent pozycja: 00000000 0111111 12345678 9012345
[Edytuj]
Definicja obwiedni
- offset = numer instrumentu x 8,
- kolejne osiem bajtów stanowią definicję - 16 połówek bajtu (nibble) o wartości (0-15) - od lewej do prawej strony, pierwszy dolny nibble, kolejny górny.
[Edytuj]
Dane ścieżek w oknie Song
Wszystkie ścieżki w oknie SONG zawierają numery kolejno odtwarzanych patternów, ale wartości z ustawionym 7 bitem (+ $80) są bajtami kontrolnymi:
Wartość | Klawisz w CMC | Opis |
$8F | SHIFT S | STOP - zatrzymuje odtwarzanie songu ale instrumenty są odtwarzane do końca. |
$9F | SHIFT J | JUMP - skacze do linii w songu - wartość pozycji jest w brana z 2 ścieżki. (na tej samej pozycji) |
$AF | SHIFT U | UP - skacz w górę ileś linii - ilość linii jest brana z 2 ścieżki. |
$BF | SHIFT D | DOWN - skacz w dół ileś linii - j.w. |
$CF | SHIFT T | TEMPO - ustaw nowe tempo - wartość z 2 ścieżki. |
$DF | SHIFT R | REPLAY - pętla odtwarzana n razy na m pozycjach w dół, n brana z 3 ścieżki, m - z 2. |
$EF | SHIFT B | BREAK - zatrzymaj odtwarzanie danego songu i skacz do góry do pierwszej linii po napotkanej takiej samej wartości lub do początku songu. |
$FF,$FE | pusta pozycja - nie odtwarza na tej ścieżce żadnego patternu. |
[Edytuj]
Dane Patternów
Wartość | Opis |
$00 - $19 | Numer instrumentu który będzie odtwarzany (na kolejnej pozycji zawsze znajduje się numer nuty) |
$40 - $7E | Numer nuty liczony w półtonach (od $C1 do $D6) plus wartość - $40 |
$80 - $BD | Ilość pustych linii między nutami plus $7F |
$FF | Koniec patternu |
[Edytuj]
Uwagi
- Sygnatura pliku CMC zawiera bajty: $a0,$e3,$ed,$e3,$a0,$e4,$e1,$f4,$e1,$a0,$e6,$e9,$ec,$e5,$a0. Jest to napis " cmc data file " w inwersie.
Za nią znajdują się bajty $8e,$95,$0d,$20 które razem z ostatnim bajtem sygnatury mogą być wykorzystane do rysowania wskaźnika głośności lub equalizera w trybie tekstowym.
- Sygnatura pliku CMC+ zawiera bajty: $a0,$c3,$cd,$c3,$ab,$a0,$e4,$e1,$f4,$e1,$e6,$e9,$ec,$e5,$a0. Jest to napis " CMC+ datafile " w inwersie. Za nią znajdują się 4 spacje.
- Sygnatura plików CMC z poprawką Jaskra opisaną przez Henryka Karpowicza w magu Serious#11 ma zmodyfikowany (w stosunku do oryginalnej sygnatury CMC) pierwszy bajt - zamiast $a0 znajduje się tam $30. Pozwala to rozpoznać pliki z krótszym 48 pozycyjnym patternem (standardowy ma 64 pozycje).
[Edytuj]