Real-Time Music generation.pptx

advertisement
REAL-TIME MUSIC
GENERATION
A very greatly awesomely good presentation by
Alex Zazzaro.
What is real-time music generation?


Music stored as instructions and commands.
Interpreted and played during runtime.
Streamed audio




Prerecorded music.
The waveform is sent straight to the speakers.
MP3 files (for example).
Anything can be recorded.
Caveats to streamed audio

Cannot read from disc while streaming from disc.
 No
dynamic data loading during game play.
 Stream would need to reside in ram to do so.
 Streams
are large, ram is limited.
How real-time music generation is
different

For decent quality, an uncompressed stream needs
44,100 bytes for each second of audio.
 88,200

bytes per second if you want 16-bit audio!
Real-time generated music stores only instructions,
such as notes and note lengths.
Scenario

Trumpet playing 5 notes over 5 seconds.
Scenario – Streamed Audio

215kB (220500 bytes)
 44,100
bytes per second, for 5 seconds.
Scenario – Real-Time

10 bytes
 One
byte for note, one byte for note duration; for 5
notes.
How it works (1/2)



Recording of an instrument playing one note.
The recording is played at different pitches.
Multiple recordings of the same instrument can be
used.
How it works (2/2)



1 channel can play only play 1 note at a time.
To play N notes simultaneously, you need N
channels.
Each channel needs its own set of instructions.
What uses real-time music generation?





Systems with limited memory.
Cartridge-based systems.
Systems that can only make beeping noises.
Games where the music is interactive.
Games that just simply feel like using it.
Credits

Songs used
 Battle
Theme – Mario Kart
 Nell’s Theme – Advance Wars
 Main Theme – Professor Layton and the Curious Village
 Alma’s Moon Walk – Hanjuku Hero IV
 Rocket Belt – PilotWings
Download