main menu
   skin selector
   Modscene is alive
"Modscene? Forget, it's dead..." (from the conversation)

"Modscene is alive"

It is year 2005 now. Someone are saying that modscene is dead, mods are nothing but an ancient artifacts. Someone are saying it is time to let the modern formats live and grow. Someone are saying... They are right in some cases. We're admitting modscene has changed. We can't know are these changes fatal. And have you ever try to find some evidences of such assertions? Let's try.
What is "music" generally? In general, music is a regulated combination of sound waves with different frequency, length and amplitude. Music is a sound view. This view must be directed to listener's ears with some way. Music is played back with a horde of different programs, but all of them are performing only one task - extracting recorded data from a file and processing'em to a sound wave(s). Data can be figured out as a pre-rendered data and as a "note list". In first case you're listening for pre-rendered sound wave(s) and it cannot be changed. The second case means sound wave is construction in real time and can be changed. Both of these cases have advantages and disadvantages. Pre-rendered data takes less system resources to be played back. (Forget about compressed data such as mp3s here - it's a variation of general case.) But you can study the "note list" to learn how this music was written. You also can stole it in the second case. ;-) Hope, you're smart and honorable enough not to do this. But be welcome to use it as an experience for your future masterpieces.
I know people who're sure: "MIDI has nasty, chip and squeaky sound". These people are wrong in core: MIDI (Musical Instruments Data Interface) is a data transfer standard protocol between different musical devices. Between PC and synthesizer, for example. MIDI is not a sound, it's a format of sound data conception. You're pressing a key at your synthesizer board, this *analog* signal is digitizing and transferring to sequencer. Sequencer is a software or hardware to control all input devices. But only devices with digital output can be controlled through it - you can't gain control over devices with analog output (acoustic guitar, f.i.). Sound from these devices have to be recorded separately first and then transferred to sequencer. That a good illustration for the illusive border between pre-rendered data and "note list".
MIDI is a note order, a description of linked instruments (samples) and playback commands. Once upon a time someone thought: "And what if I'll compile note order, samples and commands to store them in one file?" That is how modules (mods) were born. :) Module (MOD-file) is a precise order of notes, linked instruments (samples) description and additional playback commands, such as effects (filters), volume and panning instructions and etc. One or more samples is called "instrument", if sample(s) contains several playback descriptors (panning curves, loop and etc.). Any MOD-file has a fixed pattern structure. Pattern is a table with fixed number of columns (channels) and rows (rows number can vary from one pattern to another), each pattern cell contains a value (zero value, note or command). Patterns chain create an order list, that can be played back with some application. Resulting sound wave is generating in real time mode and this takes a bit more resources from machine, depending on module's complexity.
The final sound quality depends on the following things: MOD-file format capabilities and used samples quality. First parameter is the most important, because it defines allowable quality of samples to be used. It's a very rare case, if MIDI-file size takes more then two hundred kilobytes. MOD-files can take from kilobytes up to ten megabytes (and even more) - this mostly depends on sample quality and (less) track length. Till the early 90th MOD-files took very small size, because of format limitations. This was very profitable in comparison with pre-rendered (mostly wave) files. Some modules can take even more then good mp3-file now. It's not bad, nor good.
MOD-files are creating in special applications called "trackers". It is widely accepted that trackers were introduced after death of "dinosaurs". That weren't Spielberg's dinosaurs, that were very old and extremely huge electronic computers, mostly used for military or(and? :)) scientific purposes. One day computer became personal. And happy users wished not only to use it for calculations, but for fun. A tiny problem here: there was no sound cards. Yes, it was really so, because there was no need for sound cards - most of the games had a text interface or were too simple to need sound. (Let's note, that sound generators were existed, but their price was too high to use it only for personal fun.) Some people wanted to have a sound and that's how the "Covox" device was born. The idea was very simple: any computer has an LPT(line printer)-port used for transferring data from machine to print device. Someone with a light mind hit the idea to link a one line with resistor up to each output of LPT-port. These lines were linked together then and created DAC (digital to analog converter) adding a few more elements into this scheme. Now you only need to attach a recording (or playback) device and then quickly transfer amplitude values (counts) to LPT-port. Here is the simple sound with average (phone-like) quality! There was no problem with cassette recorders and a great wish to compose music using computer. People needed a user friendly application to compose music - people created trackers. Tracker application basic idea is simple: you get a pre-rendered sound (sample), assign it for a note, add several playback commands and that's all. Ancient sound devices could playback only up to to 4 channels simultaneously so first trackers had only 4 channels. Trackers evolved and are still in use. The last trackers generation has near professional features and can be used for creating "serious" music.
Well, that's simple. Modscene elders are sleeping near display (they know all this bullshit already!) and rookies aren't interested. What am I trying to say? Large piece of "money cake" (e.g. entertainment market) has been occupied by gaming consoles, such as Sony PlayStation, Nintendo GameCube and Microsoft Xbox. This business sector is developing rapidly. Gaming consoles are targeting at games, it's much more easy to use'em in comparison with PC. You need no "setups", "installations", "insert next disc" - just plug'n'play. Pure fun! But any PC is evolving faster then any console, cause they have no hardware "home update" abilities. Gaming console "lives" for 5 years on average. But newer version of gaming console is much more powerful then average PC. That's a theme for other discussion, let's return to topic.
The same problem was actual in the dawn of gaming consoles: how to create music with acceptable quality and less size. Do you understand the solution now? Get a shot! :) The developers chose modules. Another problem: first data mediums (memory cartridges) had not enough size to use pre-rendered samples. Developers were forced to use a hardware for generating sound waves. This hardware is called "Sound Processing Unit" (SPU). Basically, it's a small analogue to synthesizer. Central Processing Unit (CPU) of the console reads data from file (it is called "sequence" in this case), this data is transferred to SPU and processed to resulting sound wave. Yes, a module! Don't you find it's so simple and nice solution? I can be wrong, but Nintendo company had used this idea first. We know this legendary console as Nintendo Entertainment System (NES).
This is how a new format (Portable Sound Format, PSF) was created. A large way lies between NES and modern PlayStation 2, this way has still no end. Please, note: I won't try to describe the whole features and ideas of PSF format. I can make some mistakes and I don't think it's necessary to know all about this, including very specific knowledge. I'm only trying to tell basic ideas. And this idea is as follows (according to last known format specification - 1.5).
PSF-file contains specially compressed program code, that is processing by SPU in real time and generating combined output sound stream. Files of this type can either contain ADPCM compressed samples in each file or use global sound bank. A plenty of soundtracks are written in this format: "Final Fantasy VII" and "Final Fantasy VIII" (Sony PlayStation), "Perfect Dark" (Nintendo 64), "Metroid Fusion" (GameBoy Advance), "Devil May Cry" (Sony PlayStation 2), "Final Fantasy X" (Sony PlayStation 2), "Donkey Kong Country" (Super NES) and etc. You can find some modern consoles in this list - they also use PSF-files. And even despite the fact that modern data mediums have enough size to store pre-rendered sound data. And who said modules are dead?
PSF-files can't be played back directly at PC, because it does not contain SPU. These files are played back using virtual SPU, an emulator. These emulators exist for any of consoles, even very old ones. Generally, they're embodied as Dynamic Link Libraries (DLLs), that can be easily attached to player (such as WinAmp). So you can download this plug-ins for free, find the soundtracks you want and enjoy. It's very strange game developers do nothing to stop this. But have you something against? :D
The last question is how to write music for gaming consoles? There are two ways: you can use either "developer's kit" or create any type of module you like. Then it will be transferred to PSF using special translators. First way is closed for singles: developer's kit can not be bought by single person and even random company. Console host's policy denies this. But you can use the second way. Don't you want to read your name in staff roll? :)

Ok, that's all for now. Be noticed: I tried to describe things in general. PSF is not a standard format for any console, PSF is a conception. Some things, described here, are too simplified - please, be indulged. I'm trying to demonstrate the modscene is still alive. And it will be alive while computers are alive. Hope, you have nothing against this.

p.s. The author want to thank the following people for the information I've got from them: Neil Corlett, someone42, Zophar, Sergey Muzychenko, Sergey Chabunin, Manwe, Mike Rippon, EstEps, Jazztiz, Yury Khlebnikov, Rashid Izhaev, Petr Semiletov, or@NGE, Gene J.B., Denis Zeltzer and Sergey Sergeevich. Please, forgive me if I made a mistake in your name while translating it to English. And I'm also want to apologise for my English. :(

Darth 'Snake' Nefelim,
exclusively for The MODARCHIVE

© modulez 2ooo - 2o13
powered by metamacro and scenesp (0.002 sec)
[ contact ] [ credits ] [ syndication ] [ about ]