Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Synthetisierung von Audio und MIDI Referent Sebastian Frielitz.

Ähnliche Präsentationen


Präsentation zum Thema: "Synthetisierung von Audio und MIDI Referent Sebastian Frielitz."—  Präsentation transkript:

1 Synthetisierung von Audio und MIDI Referent Sebastian Frielitz

2 Themen Überblick Synthetisieren von Musik MIDI Beispiel

3 Synthetisieren von Musik Stückbasierte Soundformate Notenbasierte Soundformate

4 Bedeutet: das Musikstück wird Notenweise gespeichert Motivation: Leichter zu editieren, da Instrumente isolieren möglich Leicht auf Computerspielverlauf abzustimmen Schmaleres Datenformat (weniger Speicher nötig)

5 Musik Programmieren Was wird benötigt? Instrumente Noten

6 Objektorientierter Ansatz Abstrakte Klasse Instrument Methode NewNote() Abstrakte Klasse Note Nur von Instrument aus zu instanziieren Kann sich selber in Puffer spielen Restart() – Ton halten Pitch(x) – Frequenz des Tones (Pitch(440) = 440 Hz) Volume(x) – Lautstärke

7 Instrumente Synthetisieren Ansatz 1 Ein existierendes Instrument duplizieren Ansatz 2 Sound mit musikalischer Qualität kreieren

8 Instrument duplizieren Mehrere Samples von original Instrument erstellen Ein Sample pro Oktave Pitch shifting Ton mit Pitch(x) Methode variieren Amplitudensteuerung Ton eines physischen Instruments ist nicht gleichbleibend

9 Amplitudensteuerung ADSR - Envelope Attack, Decay, Sustain, Release

10 Envelope Umsetzung z.B. durch Synthesizer Hardware mit eigenem Volumecontrol für Noten Andere Envelope Control Formen Trompeten, Violinen halten den Ton oft länger Geigen spielen einen Tremolo oder Vibrato

11 MIDI Musical Instrument Digital Interface MIDI Manufacturer‘s Association MMA spezifiziert Speicherung von MIDI Für Kompatibilität General MIDI mit 175 Standard Instrumenten

12 Organisation von MIDI Files Besteht aus Reihe von Chunks (RIFF Format) Chunk beginnt mit 4 Char MIDI Header Chunk 2 Byte Datei Typ 2 Byte Anzahl der Tracks 2 Byte Zeit Format MIDI Track Chunk Track Daten Pro Track ein Instrument

13 MIDI Datei Typen Typ Null Datei enthält nur einen Track Typ Eins Mehrere Tracks, simultan abgespielt Typ Zwei Mehrere Tracks, ohne Zusammenhang

14

15 Header Chunk- MIDI Standard

16 Header Chunk

17 Track Chunk- MIDI Standard

18 Track Chunk

19 MIDI - Tracks Liste von MIDI Events vorangestellt ein Zeitintervall (delta time) Delta Time: Zeit bis Eventauslösung Einlesen der Track Chunks: Chunklänge lesen und beachten Events in in-Memory-Eventliste einfügen

20 General MIDI - Events Erste Byte: Status Byte, gibt Eventtyp an Zweites Byte: Channel Byte Folgende Bytes: Daten Bytes Status Bytes beginnen immer mit high Bit =1 Daten Bytes beginnen immer mit high Bit = 0 Channels von 1 bis 16 (Code 0-15) Instrumente von 1 bis 128 (Code 0-127)

21 Ton spielen- MIDI Standard

22 Ton spielen

23 Ton spielen- MIDI Standard

24 Ton spielen

25 Ton spielen- MIDI Standard

26 Ton spielen

27 Integer variabler Länge Kleine Zahlen passen in ein Byte Jedes Byte 7 Bit Msb 1 – es folgen noch Bytes Msb 0 – letztes Byte des Integer

28 Integer variabler Länge 88 00 8 1 0 0 0 8 0 0 0 0 msb X000 1000 X000 0000 = 2^10 = 1024

29 MIDI – Events verwalten Events sind zeitlich sortiert Bei Typ Eins MIDI Dateien Vor abspielen Events aller Tracks in gemeinsamen Speicher

30 Running Status Zur Effizienssteigerung von MIDI wire protocol Auf Daten eines Events folgen wieder Daten Wire protocol benutzt dann den vorherigen Status weiter

31 MIDI - Events Standard MIDI Events Noten spielen Sysex Events System exclusive Message Meta Events Key signatures Copyright notices

32 Meta Event – Time Signature Typ 88 (Hex 58) 4 Bytes Daten Ersten 2 Byte: ¾ Takt = 3 und 2 Drittes Byte: MIDI Ticks pro Metronom Klick Viertes Byte: Anzahl 32stel Noten in einer MIDI viertel Note

33 Track Chunk

34 Track Chunk- MIDI Standard

35 Track Chunk

36 Zwei Arten von MIDI General MIDI Standard Format MIDI wire protocol Zur Übertragung von MIDI Daten über langsame Netze

37 Real Time Events Verwendet bei MIDI wire protocol Unterteilung in real-time Events und non real-time Events Real-time Events Müssen an bestimmter stelle erscheinen um gewünschten Effekt zu haben Synchronisations Events: start, continue Non real-time Events Nicht zeitkritisch, werden geladen und später interpretiert Instrument change

38 MIDI - Timing Delta time tick counts festelegen Zwei Techniken: SMPTE Musical Tempo

39 MIDI Timing - SMPTE Society of Motion Picture and Television Engineers Time format Code im Header negativ Video und Audio synchronisation Teile von Stunden, Minuten, Sekunden und Frames Kinoqualität 24 Frames pro Sekunde PAL, SECAM Fernsehen 25 Frames pro Sekunde NTSC schwarz-weiß Fernsehen 30 Frames pro Sekunde

40 MIDI Timing – Tempo-Based Time Format Kode im Header positiv Beats per minute (bpm) Im Header als Ticks pro Beat 80 bpm – 200 bpm (MIDI Standard: 120 bpm)

41 General MIDI Channels 1 – 9 und 11-16 melody channels Channel 10 rhythm channel (47 Rhythmusinstrumente) 16 simultane Noten auf melody channel 8 simultane Noten auf rhythm channel 175 Instrumente Unterstützt werden: unter anderem Kontroller für Modulation, Lautstärke, Sustain, Reset all Parameter: Pitch Bend, Sensitivity

42 Base / Extended MIDI Base Multitimbral Synthesizer Base MIDI 6 simultane Melodie Noten auf 3 Instrumenten 3 simultane Rhythmus Noten auf 3 Instrumenten Extended Multitimbral Synthesizer Extended MIDI 16 simultane Melodie Noten auf 9 Instrumenten 16 simultane Rhythmus Noten auf 9 Instrumenten

43 Track Chunk

44

45

46 Track Chunk- MIDI Standard

47 Track Chunk

48 Track Chunk- MIDI Standard

49 Track Chunk

50 Track Chunk- MIDI Standard

51 Track Chunk


Herunterladen ppt "Synthetisierung von Audio und MIDI Referent Sebastian Frielitz."

Ähnliche Präsentationen


Google-Anzeigen