Friday, April 17, 2009

Demo Scene.

The demoscene is as important for the computer industry as street soccer is for the professional world of soccer. It is the breeding place for very talented programmers, musicians and graphicians. Stimulating young artists (programmers, musicians and graphicians) to measure their skills with others and to learn from eachother.(http://www.scene.org/demoscene.php)


It basically started with cracking games on home computers in the
early 1980s (at least this is widely regarded to be the main root of the scene as we know it today). Crackers started to remove the copy protection of games for fun and competition with other crackers. Instead of just spreading the cracked games, they soon thought about 'labeling' their releases. Modified versions of title screens (saying "cracked by xyz") were soon followed by a more advanced version of showing the cracking/programming skill of a cracker: The crack-intro. Visual effects, music and long text scrollers filled with greetings and scene babbling. Later, cheat modes ("trainers") followed. Of course those kind of activities were (and still are) barely legal, so the crackers used pseudonyms instead of their real names...

...In the late 1980s the legal part of the cracking and warez scene slowly drifted away from the illegal part. Intros became more advanced, (mega-)demos (several advanced intros linked together) appeared. The demoscene was born... sort of. A few individuals are still active in both, demoscene and warez/cracking scene.
(http://tomaes.32x.de/text/faq.php#2.3.)


While demos began mainly on the Amiga, Commodore and Atari platforms, these days it has diversified to almost every platform imaginable.

This page,
specialises in Gameboy demos, which can be uploaded to a flash cart, or run in an emulator, like Visual Boy Advance

Tuesday, April 14, 2009

Chipwave Synthesis.

Phill Phelps has written a useful 4 channel chiptune emulator using PureData:

A very complex sequence of sound texture changes can be programmed very easily, to create sounds similar to Nintendo Gameboy, NES, Commodore C64 and Atari.
FEATURES:
* All waveforms have MIDI controlled pitch, they are not velocity sensitive.
* The amplitude envelopes for each channel are ADSR type, and can be edited on a per-channel basis.
* The square waveform has an adjustable pulse width using the MOD WHEEL MIDI CONTROLLER.
* The noise is a sample-and-hold variety, with a variable sample rate, to generate apparent rising and falling of noise "pitch".


As well as this patch, he has also written a paper titled "A modern implementation of chiptune synthesis". The following is an excerpt from the summary.

"A chiptune can be broadly categorised as a piece of music produced by sound chips in home computer/ games systems popular in the 1980s into the 1990s. The synthesis techniques often employed in chiptunes involve the careful control of the hardware features available in the sound chips. Such chips generally featured a limited number of simple oscillators with simple waveforms such as square, triangle, pseudorandom noise, and so on. In order to create more interesting sounds, chiptune composers rely on software synthesis structures that are used to configure the sound chip to alternate between waveforms, and to alter the pitch of the oscillators...

...The report presents the detailed research into the sound hardware, and software used for composing chiptunes, exposing the differences in user interface design between modern composition software tools such as MIDI sequencers and historic composition tools such as trackers. Several pieces of historic software are examined; with elements of each user interface being assessed for inclusion in a modern software synthesiser user interface. The report also explains in detail the internal hardware structure of several popular sound chips (such as the General Instruments AY-3-8910) and examines several examples of software structures used to control the hardware synthesis structures inside the chips."

Korg DS-10 Synthesiser.

http://www.korgds10synthesizer.com/

KORG, maker of some of the world's finest musical instruments, takes their legendary MS-10 synthesizer, adds tons of modern features, and combines it with the accessibility of the Nintendo DS Touch Screen. No effort was spared in creating the awesomely portable and powerful, yet incredibly easy to use, music creation software for your Nintendo DS.


Probably the best feature in this piece of software is the ability to link multiple units together to have greater polyphony, and parts played simultaneously.

However, I feel that part of what is said on the site is incorrect.
- World's first music tool software created for the Nintendo DS

Possibly what is meant here is that it's the first "commercial" music tool software for the NDS, but even that would be discounting software like Electroplankton as "toys" rather than tools.

Which makes this an appropriate time to delve into the world of homebrew NDS software

FROM 8BITCOLLECTIVE.COM:
user: infradead
UPDATED 07/18/08
A somewhat comprehensive list

So I've decided to list what homebrew music apps for the DS i've found and my thoughts.

Nitrotracker
A nifty tracker. I'm still figuring out what does what but its about the best around at the momment for the DS. Sample with the onboard mic and edit your samples with ease. V.04 is out and damn is it nice. This version adds lot of needed and a couple not really needed but bloody awesome features.

Pixelh8 - Music Tech Pro Performer V1.0
Such a badass program! I'm loving my copy(#66). If you like to learn more about it pixelh8 has a pretty extensive bunch of video's on youtube of him putting it through its paces.

glitchDS
Cellular Automaton Music Sequencer. Another great program for the DS. Another program that'll make you think. A music sequencer based on Conway's game of life. I now have gliders in the brain. Brett continues to add more and more features making it more and more useful every time.

repeaterDS
Wow. An utterly amazing and impressive way play with a sample. The down side is that you can't save anything. But man is it fun. My favorite way to use this is record make a neat loop and then load it into ProteinDS so that I can make songs that I can recreate.

Bliptracker
Interesting little step sequencer drum machine. The most interesting part is the ability to load your own samples. Fairly limited but fun to play with.

proteinDS
DScratch has a new name! Now in its second update. Quite insane its a very useful and interesting tool. New build allows you to have two seperate samples going at once. Very fun program for live jamming. I really need to load some loops onto this.

MIDI Jammer
Haven't tried. Looks very interesting. You need DSMI to use it.

DStep
Step sequencer that can designed to be used with DSMI. Onboard sounds are a bit weak, but its not meant to be used by itself. One of the more fun sequencers I've found. Hopefully at some point they let you assign you own samples to the tracks.

Monome-DS
Monome like interface for the DS. I've not tried it. Another program that you need DSMI to use.

dsSynth
This puts it best "This is a Synth/Sampler for the Nintendo DS that I built because, I care about the world!" One more app that takes advantage of DSMI. I need to get that sorted next to check out more of these wonderful apps.

DSMI - Wireless and wired MIDI for the Nintendo DS
This is a wicked idea. To bad its not something I see my self using anytime soon. The fact that it is possible is awesome.
They have several example applications on listed on thier site, I'm unable to try them out as they require a DSMI connection to work
DS MIDI Keyboard v1.2
Kaos DS v1.2
Pulse DS v1.2

Programs support which support DSMI
Nitrotracker
Bliptracker
Monome-DS
Protein DScratch
MIDI Jammer
DStep
DS Sampling
Keyboard
Turn your DS into a SK-1. Limited but easy and fun. Made by the same cat coding Nitrotracker!

Soundcells
Turns the touch pad into something kind of like a guitar's fretboard for lack of a better explanation. It will let you record track and play along with your self. My wife finds it really really annoying, I find it awesome.

Ukulele DS 1.00
Ever want a Ukulele for your DS? Well Pakl has made it happen.

Axe DS
Move the stylus across the touchpad to make music. So easy, so fun. Its only drawback is that onboard music is limited.

Other things that look interesting

Chibitracker is rumored to have been ported to the DS but the ROM has not been released as of yet.

Groovestep

Groovestep
GrooveStep is preloaded with hundreds of sounds and also gives the user the ability to mix existing sounds to create new ones. The makers of this are hoping for a commercial release so there are no ROM's to download. Hopefully they can get it sorted as it looks like a great program.

Create rich layered grooves with 16 tracks, perfect for Hip-Hop, Techno and other electronic styles.

Song Features
16 tracks with up to 2 samples per track
Tempo: 30-300 BPM

Pattern Editor features
Variable pattern length: 1-64 steps
Variable pattern playback speeds: 1x, 2x, 4x

Texas Instruments SN76489

The Texas Instruments SN76489, was a soundchip most notably used in by Sega(in the Megadrive, Master System and Game Gear) as well as the BBC Micro.

Like the Gameboy, it is capable of producing 3 squarewaves and a pseudo-random noise output.
In his blog, Sebastian Tomzcak(little scale) has been documenting the control of this chip via Arduino. Documentation and results can be found here and here.
More information on the chip itself can be found here.

Electroplankton

Electroplankton is a game written for the Nintendo DS by Japanese artist Toshio Iwai.
The game consists of 10 different modes, each a different species of plankton, that produce sound in a unique way.
Here is a quick sample of a few of the modes, and the sounds they can create. The modes used are, Luminaria, Hanenbow, Beatnes, Lumiloop, Sun-Animalcule and Tracy.



Electroplankton doesn't allow save files. While some would see this as a hindrance in the creation of music, for others it opens up endless possibilities, not having save files, means not playing the same thing twice, which leads to the creation of unexpected outcomes, often yielding enjoyable results.

It's the nature of the unexpected that makes Electroplankton what it is. Users are asked to play and experiment, often letting the visual side of the game take control, while the sound becomes a byproduct.

Australian Chipmusic.

Recently, ABC2's Good Game did a short segment on chipmusic in Australia, it can be found here.

In the segment they spoke with Dot.AY(Alex Yabsley), 10k Free Men and Their Families(Tom Gilmore) and Little Scale(Sebastian Tomzcak), who maintain the site Gameboy Australia as well as being at the forefront of the Australian, and International Chipmusic scenes.

Nanoloop

Nanoloop is one of the two most popular alternatives for creating music on the Gameboy(the other being LSDJ)

"The idea of nanoloop is to simplify the stepsequencer concept as far as possible while keeping the gamesome, addictve character of loop-based music creation. The minimalistic graphical user interface was specifically developed for the Game Boy's small screen and has been optimized for keypad operation. Despite the simple design and usage, it provides access to the raw sound synthesis components and allows to create complex musical structures.

Nanoloop originally started as a study experiment in interface design back in 1998. It has been developed into a stable tool since and quickly became popular among musicians and artists as well as novices in electronic music."O, Wittchow(www.nanoloop.com)


Two versions of nanoloop are available currently, 1.5 which runs on the DMG, GBC and GBA, and 2.3 which will run on GBA and DS.

1.5's sound producing abilities are as follows

- R: rectangular wave with variable pulse width
- L: rectangular wave with variable pulse width
- S: custom 4-bit wave forms (16 waves per bank)
- N: shift register noise generator

Nanoloop 1.5 generates an additional voice on the cart which is added to the L-channel and usable for intervals or detune / phasing effects


Where as 2.4 is capable of


- R: rectangular wave, pulse width + filter or FM, modulator freq + modulation depth
- L: rectangular wave, pulse width + filter or FM, modulator freq + modulation depth
- S: as R but with 4-voice polyphony and stereo phasing effect
- N: pseudorandom noise generator with filter



The interface for nanoloop is simple, 16 blocks indicate the 16 steps of a loop. By pushing the select key, the bottom menu becomes accessible, allowing the user to change channels, or editing mode.(volume, pitch, filter/slides/fm/arpeggio, waveform, panning/tempo) Pushing select again, opens up the second menu which contains the ability to saveparts, edit waveforms, and arrange songs.
There is no text in nanoloop, except for numbers indicating tempo and save files. Pitch and other parameters are indicated by 2 bars in each step of the sequencer, the left side usually being a harsh adjustment(octaves for pitch) and the right being finer(semitones in pitch).
The simplicity of this design makes it possible for someone with no music experience to step in and begin making music.

Gameboys

The following is a very brief history of Nintendo's Gameboy line.

The original Nintendo Gameboy(refferred to as the DMG) was introduced by Nintendo in 1989, since then, many newer updated models have been released, ranging from the original DMG's dot matrix screen and lo-fi sound processor, to the most recent Dsi with dual backlit screens, touch screen interface, and ability to play back cd quality sound files.

An overview of the consoles specs can be found on wikipedia.org, but here are some of the more important features.

  • CPU: Custom 8-bit Sharp LR35902 core at 4.19 MHz which is similar to an Intel 8080 in that all of the registers introduced in the Z80 are not present.

  • Sound: 2 Square Waves, 1 programmable 32-sample 4-bit PCM Wave, 1 White noise, and one audio input from the cartridge. The unit only has one speaker, but headphones provide stereo sound.

  • Screen size: 66mm (2.6 in) diagonal

  • Communication: Up to 2 Game Boys can be linked together via built-in serial ports, up to 4 with a DMG-07 4-player adapter. More than 4 players is possible by chaining adapters.

The console itself is quite limiting in what can be done with it in this respect. 4 channels of audio, one of noise(generally referred to as a pseudo-random noise generator rather than specifically white noise), and such a tiny screen size make this a much less versatile and usable platform than a modern computer.

Usability becomes a further issue when forced to navigate menus and software using the simple controller layout of the console, which consists of a 4 direction pad, “a” and “b” buttons, as well as “start” and “select” buttons.

This layout however has proved itself quite usable in software such as LSDJ and Nanoloop, the most commonly used software for creating music on the console.

In 1995, the Gameboy Pocket was released, which featured hardware as the DMG, but in a slimmed down case, and with a black and white screen, instead of the DMG's “shades of green.” This particular console is notorious for having a noisier output than most others.

Almost 10 years after the DMG's release, Nintendo released the console's follow up, the Gameboy Colour.

The Gameboy Colour(GBC) featured a colour screen, capable of showing 56 colours simultaneously from a possible 32,786. It also made use of a processor twice as fast as its predecessors.

In 2001, the Gameboy Advance(GBA) was released. With an upgrade to a 32bit processor, as well as backwards compatability with older software and sound synthesis using an 8/4mhz Z80 clone as was used in previous models. It also featured a bigger screen, ability to show more colours, and two new shoulder buttons, allowing more control options. However, a new link cable port meant it was not possible to interface with older models. Like the DMG and Gameboy Pocket, the GBA received updates in the form of the Gameboy SP, with smaller size, and backlit screen, and the Gameboy Micro, which left behind backwards compatability, for a much smaller size.

The follow up to the GBA series, was the Nintendo DS (NDS) which incorporated a dual screen system, with one of the screens having touch screen capabilities. It also featured improved backlight, and dual processors running at 67 and 33mhz. By this stage, sound production was far beyond the simple hardware based synthesis of the DMG.

Sebastian Tomczak's comparison of sound quality of various Gameboy models can be found here (http://www.milkcrate.com.au/_other/gbc/content.html)