SGI Audio Tools: Difference between revisions
→Compiling the Instrument Bank
Danielface (talk | contribs) m (Made sample images larger for readability) |
Danielface (talk | contribs) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1:
== Introduction ==
The Nintendo 64 SDK comes with two "batteries included" audio libraries, the SGI Audio Tools and the N64SoundTools. The SGI Audio Tools are a collection of command-line tools for preparing samples and MIDI sequences for playback on the Nintendo 64. The N64SoundTools was written by Acclaim Studios Manchester (formerly Software Creations) and encompasses a kind of DAW for authoring and editing songs for the Nintendo 64.
TODO▼
This article hopes to give a step-by-step reference for authoring sounds and music with the SGI Audio Tools and playing them in a NuSystem-based game. While not as intuitive and straightforward as the N64SoundTools, there are advantages to having a collection of command-line tools as they're entirely scriptable and can help automate compiling/editing of sound data.
== Prerequisites ==
Line 106 ⟶ 108:
* <code>envelope</code> section(s), indicating an [https://en.wikipedia.org/wiki/Envelope_(music) ADSR]
* <code>keymap</code> section(s), indicating the range of "piano keys" a sound occupies, as well as other data
* <code>sound</code> section(s), indicating a sampled sound
* <code>instrument</code> section(s), indicating a "MIDI instrument" with a volume, pan, and various <code>sound</code>s
* A single <code>bank</code> section, indicating the sample rate, and which <code>instrument</code>s correspond to which MIDI instrument numbers in your sequences. This will include a specialized instrument for the drumset channel.
==== envelope ====
Line 204 ⟶ 206:
sampleRate = 32000;
percussionDefault = Percussion_Kit;
instrument [0] = AnExampleSound;
instrument [65] = AnExampleAltoSax;
Line 288 ⟶ 289:
[[File:Ic error.png|frameless|The instrument compiler showing an error.|alt=|600x600px]]
Even though the output looks garbled, try not to be discouraged! The final
[[File:Screen Shot 2020-10-06 at 10.05.28 PM.png|frameless|An Instrument Bank file with a missing semicolon on line 28/29.|alt=|500x500px]]
In this case, the example error message was caused by a missing semicolon on line 28/29.
Much like the C-family of programming languages, semicolons indicate the start/end of statements. If you're missing one, the instrument compiler might associate two lines as a whole. Be sure to check the lines above and below if you're not initially sure where the error might be.
=== Finishing up ===
Line 302 ⟶ 305:
== Playing a song with NuSystem ==
▲TODO
=== Linking the Audio Library ===
TODO
=== Setting up playback ===
TODO
=== Starting/stoping playback ===
TODO
== Making an Instrument Bank for Sound Effects ==
TODO
=== Looping ===
==== Looping Compressed Audio ====
TODO
See [http://n64devkit.square7.ch/pro-man/pro20/20-05.htm#01 20.5] of the N64 SDK for more information on this.
==== Looping Non-Compressed Audio ====
As NuSystem is primarily compiled to use compressed sequenced audio, this is outside the scope of this article. However, [http://n64devkit.square7.ch/pro-man/pro17/17-03.htm#04 17.3.4] in the N64 SDK can help with non-compressed sequences.
|