Category Archive:

Jak by mělo vypadat MIDI

Hodně lidí mě kontaktuje kvůli tomu, že jim MIDI soubory na jejich zařízení nehrají správně. Po delším odkládání jsem se odhodlal napsat pár řádek, jak by měl MIDI soubor správně vypadat, aby to hrálo všude a korektně a hlavně – jak to opravit.

Tedy, MIDI file – je soubor obsahující pouze data – “notičky” a další kontrolery a eventy /události/ a žádné zvuky. Proto se musí věnovat pozornost tomu, co se nachází za nastavení na začátku skladby. Nebudu se rozepisovat o tom, co jaké příkazy dělají – Ti, kteří s MIDI pracují to “snad” :) vědí a Ti, kteří neví, tak si to vygooglí :)

Na začátek tabulka rozdílů jednotlivých norem a z ní následující doporučení:

GM GS XG level 1 XG level 2 XG level 3 GM 2
Datum 1991 1991 1994 1997 1998 1999
Organizace MMA Roland Yamaha MMA
Minimální požadavky
Současně
znějících
melodických
zvuků
16 16 32 společných 64 společných 128 společných 16
Současně
znějících
perkusivních zvuků
8 8 16
MIDI
melodických
kanálů
15 15 16 společných 32 společných
(na 2 portech)
64 společných
(na 4 portech)
14
Rytmických/
perkusivních kanálů
1 (#10) 1 2 (#10 a #11)
Doporučení kanálů #1: piano ;
#2: basa;
#3: plochy;
#4: melodie;
#5: melodie (duet);
#6: kytary;
#10: bicí;
#16: vokály/harmony
#1: melodie;
#2: melodie (duet);
#3: basa;
#4: plochy;

#5: kytara;
#10: bicí;
#16: vokály/harmony
jako GM/GS
Dostupné zvukové banky
Melodické nástroje 128 226 480 1074 1149 256
Sady bicích 1 8 + 1 SFX sada 9 + 2 SFX sady 34 + 2 SFX sady 35 + 2 SFX sady 9
Zvuků bicích na sadu 47 61 72 61
Efektové bloky reverb, chorus reverb, chorus reverb, chorus, variation reverb, chorus, variation, insertion 1, insertion 2, total EQ reverb, chorus, variation, insertion 1, insertion 2, total EQ
Formát souboru SMF format 0 SMF format 1
Tempo 32 bpm – 280 bpm 20 bpm – 300 bpm

Z této tabulky vyplývá několik poznatků: podívat se na polyfonii, kolik nám v midi může hrát v multitimbralu zvuků a doporučení rozložení MIDI kanálů v MIDI file. Yamaha má kanály přímo dány svojí normou XG a u GM/GS/GM2 to vyplynulo z praxe výrobců. Tak jak se 10 MIDI kanál stal standardem pro bicí, mělo by se dodržovat i plusminus rozložení ostatních nástrojů. Alespoň každý jeden autor/výrobce MIDI by to měl mít u svých skladeb vždy stejně.

Ještě upozorním na to, že  MIDI stopa není MIDI kanál a naopak.

MIDI soubor

Na začátku každé skladby by měl být vložen sysex příkaz, který nastaví nástroj do výchozího nastavení a přepne ho do požadovné normy:

známe:

  • GM reset      GM – System On (Sys Ex) = F0 7E 7F 09 01 F7
  • GS reset       GS – System On (Sys Ex) = F0 41 10 42 12 40 00 7F 00 41 F7
  • XG reset      XG – System On (Sys Ex) = F0 43 10 4C 00 00 7E 00 F7
  • GM2 reset   GM2 – System On (Sys Ex) = F0 7E 7F 09 03 F7

V případě, že chceme zajistit co možná největší kompatibilitu přehrávání, měl by před povelem XGreset  být i GM
tedy:
F0 7E 7F 09 01 F7
F0 43 10 4C 00 00 7E 00 F7

 

Důležité i pro později. Všechny povely, eventy a kontrolery musí mít správné časování. Je třeba ponechat příkazům čas na jejich provedení. Nemůžeme tedy mít vše v jednom čase (častá chyba)

MIDI stopa

Co by měla obsahovat MIDI stopa kromě not? :)

 

General MIDI

V roce 1991 se americké a japonské organizace, které dohlížejí na specifikaci MIDI, snažily o zvýšení kompatibility zavedením “doporučené praxe”, nazvané General MIDI (zkratka GM). Jedná se o soubor pravidel a minimálních požadavků na nástroje, které jsou zařazeny do kategorie “General MIDI-compatible”. Tato pravidla lze shrnout takto:

  • Přístroj musí poskytovat minimálně 24-hlasovou polyfonii a minimální 16-ti multitimbrál.
  • Přístroj musí mít minimálně 128 přednastavených zvuků, přístupných prostřednictvím standardních zpráv MIDI. Tato “Obecná sada zvuků MIDI” je uspořádána do 16 skupin po 8 presetech. Například klavírní presety jsou vždy uloženy v paměťových presetech č. 1 – 8, přednastavení basy č. 33 – 40 atd.
  • Bicí musí být vždy na kanálu 10. Je určena “GM Percussion Map” pro noty čísla #35 – #81 a musí být použita.
  • Přístroj musí být schopen přijímat MIDI povely nota zapnuta, nota vypnuta, dále hlasitost, ohýbání tónu (pitch bend) a RPN parametry pro ovládání  výšky pitchbendu a hlavního ladění v reálném čase (master coarse and fine tuning).
  •  Nástroj musí být schopen přijmout devět zpráv Control Change (“C”): Modulace (cc # 1), Volume (cc # 7), Pan (cc # 10), Expression (cc #11), Sustain (cc #64), RPNs (Registered Parameter Numbers) (cc #100, #101), Reset All Controllers (cc #121), a All Notes Off (cc #123)
  •  Nástroj musí být schopen přijmout dvě specifické zprávy Universal Non-Realtime System Exclusive: “Turn GM System On (Zapnout GM)” a “Turn GM System Off (Vypnout GM)”.
    Tato pravidla nejenže zaručují vysokou míru kompatibility z jednoho nástroje do druhého, ale také zajišťují,
    že hudební soubor MIDI si zachová svůj základní charakter při hraní na různých nástrojích MIDI.

 

Struktura midi

XG midi

XF standard by měl obsahovat tyto parametry:

  • Název skladby (sequence/Track Name) Měl by být umístěný v čase 1:1:0.
  • Metrum (Time signature)
  • Tempo (Set tempo)
  • Označení XF verze (XF Version ID) – ID ukazuje verzi formátu XF
  • Hlavička textu XF (XF Lyrics Header) – používá definovaný SMF meta-event Cue Point. Data k dalším textovým událostem (lyric meta-events)

XF Informace záhlaví – společné

  • XF Information Header — Common — ID Hlavička
  • Date (year/month/day of publication) – datum
  • Country (country of production) – země
  • Category (genre of song) – kategorie
  • Beat – takt
  • Instrument on Melody part
  • Vocal Type – typ vokálu
  • Composer – skladatel
  • Lyricist – textař
  • Arranger – aranžer
  • Performer (performer or singer) interpret- zpěvák
  • Programmer – programátor
  • Keyword – klíčová slova

– midi podle RolandGM – tune1000

tady to musím dopsat :) ale viz tabulka nahoře:

#1: piano ; #2: basa; #3: plochy; #4: melodie;#5: melodie (duet); #6: kytary; #10: bicí; #16: vokály/harmony

 

– midi podle YamahaXG

Fixní kanály:

CH1: Melodie nebo part, kteý hraje melodii v této skladbě

CH 3: Bass nebo part odpovídající base

CH 10: Bicí (Používat pouze pro bicí.)

  1. Základní nástroje skladby (klavírní, kytarové atd.) By měly používat MIDI kanály očíslované od nejnižší. Příklad: Piano = ch.4 / Kytara rytmická = ch.5, atd.
  2. Pokud je skladba duet, části melodie budou používat kanály MIDI 1 a 2.
    Nepoužívejte pro části melodie MIDI kanály jiné než 1 a 2. To se však nemusí vztahovat na klasické orchestrální skladby atd.
  3. Při použití 17 a více partů ve používejte formát SMF 1 (XG Level 2 nebo vyšší

Použijete-li ve skladbě povel Program Change, dodržujte následující pořadí eventů (povelů):

Control Data:

Number:

Data

Bank Select MSB:

CC#0:

Bank Select LSB:

CC#32:

Program Change:

0 – 127

Volume:

CC#7:

0 – 127

Panpot:

CC#10:

0 – 127

Reverb Send Level:

CC#91:

0 – 127

Chorus Send Level:

CC#93:

0 – 127

Brightness:

CC#74:

0 – 127

Harmonic Content:

CC#71:

0 – 127

Attack Time:

CC#73:

 0 – 127
 Release Time: CC#72:

0 – 127

Pozor: Nechte 1/480 nebo více tiků mezi jednotlivými eventy (událostmi)!!! Ne všechno ve stejném čase

 

Ukončení skladby:

Pro provedení “Fade Out”  používejte univerzální realtime message Master Volume (F0H 7FH 7FH 04H 01H SSH TTH F7H).
Nepoužívejte povely XG Master Volume nebo Master Attenuator

Konec skladby musí být konzistentní.

www.midi.org

Posted in: MIDI, Teorie, Tutorial

Continue Reading

Tvorba karaoke v GNmidi

Tvorba karaoke v GNmidi

GNmidi02

Jak přidat a synchronizovat texty pomocí editoru synchronizace – řádek po řádku do MIDI nebo MP3 skladby

 

Jak přidat a synchronizovat texty v MIDI – slabiky na noty melodické linky

čtěte níže :)


Continue Reading

OnSong – volba písně ze zpěvníku pomocí MIDI

OnSongOnSong – krátký tutorial jak přepnout pomocí MIDI povelu pořadovanou skladbu v aplikaci.


Continue Reading

Vocal Harmony II. – Yamaha PSR nástroje

Vocal Harmony II.

Abychom dokázali přinutit klávesy (Yamaha řady PSR), které mají harmonizér, musí se vložit několik sysex příkazů na začátek skladby. Celá inicializační rutina by měla obsahovat příkazy nejen pro samotný vocalist, ale i nastavení audio vstupu, citlivost, typ, hall. Dále musíme vocalistu ukázat, ze kterého kanálu si má vzít “notičky” aby nám to krásně ladilo :)

Vocal Harmony – inicializace

Tedy inicializace skladby pro VH by měla vypadat takhle:

7E 7F 09 01 F7 GM SYSTEM ON

43 10 4C 00 00 7E 00 F7 –  XG SYSTEM ON

43 10 4C 04 00 03 01 F7 – POHLAVÍ VOCALISTU TYP = “AUTO”

43 10 4C 04 00 0B 44 F7 – MIC TO VH BALANCE = 68 (44H) VH – POMĚR HLASITOSTI VH A HLAVNÍHO ZPĚVU

43 10 4C 04 00 0C 40 F7 – ON = 64 (40H) ZAPNE VH

43 10 4C 04 00 14 04 F7 – NASTAVÍ HARMONY CHANNEL NA KANÁL 5 (04H)

43 10 4C 10 00 00 00 F7 – VSTUP 1 NASTAVÍ JAKO MIC

43 10 4C 10 00 0B 46 F7 – VSTUP 1 HLASITOST = 70

43 10 4C 10 00 13 20 F7 – VSTUP 1 REVERB SEND = 32

Parametrické hodnoty – harmony channel, typ vstupu, hlasitost,… můžete měnit. Všechny hodnoty jsou v 16tkové soustavě!


Continue Reading