cc- midi control number
The dsSynth will let you play the Nintendo DS like you would with any hardware synthesizer/sampler. The software allows the user to draw in a wave form on the touch screen, use one of the embedded sounds, or load one of their own samples off of their flash memory card. The dsSynth is designed to be used with an external sequencer, keyboard, etc., which will be in control of all the 16 channels of audio on DS by sending MIDI data to the NDS. The way that the MIDI is sent is by using the DSMI DS Music Interface. The protocol is stable and fast from all the testing that I have done. The MIDI data is able to control pitch and volume (note data) along with other elements of the sound.
The first thing you will need is a Nintendo DS! Second, you will need a flash card for your Nintendo DS. You can find information about flash cards at Wikipedia Nds HomeBrew Entry.
That is information that you will need to find for yourself because, I don't want to be responsible for problems if I recommend a seller.
The next thing you will need is a wireless internet card on your computer that will be running your sequencing software. Then you need to download the DSMI DS Music Interface for your operating system. How to setup your WIFI connection is explained hereDSMI DS Music Interface. I have not yet been able to get this working with an Intel-based Mac running OS X 10.4. I have tried to recompile the source on my MacBook. That failed due to a missing PNG extension in my OS X build. So, for the moment I have it working under my Windows XP partition on my MacBook, using an external wireless card. That is about all the information that I can give you about this at the moment.
The best way to go about testing your NDS with WIFI connections is use the Pulse DS application on the DSMI’s website. This will allow you to test if the notes being sent from your computer are reaching the NDS. After you get your NDS working with the MIDI WIFI connection you can start using the dsSynth.
The dsSynth has three different sound-file types: wavetables, GBFS and FAT Files. These wave types are played back at 8 bit 22000 Hz. The dsSynth can use all of the 16 hardware channels on the NDS for monophonic play back, with each hardware channel corresponding to that of its similar numbered MIDI channel. So, audio channel 0 is set to MIDI Channel 1, audio channel 1 to MIDI channel 2, etc. Each channel has a loop function that controls if its audio should loop. The exception to this is wavetables because they are always set to loop because of small size. The controls over these functions can be accessed through button presses on the NDS unit but, if you use the DSMI server, this will allow you to save all your channel setting. It is important to note that there is no way to save your channel setting to NDS Hardware. You will have to always use the software sequencer to keep track of channel settings. There is a way to save the wavetables to your flash card, as long as your setup supports the FAT hard drive format.
The way to do this is to use the DSMI server to send MIDI note data to the NDS. The channels are monophonic (single voice) so, dsSynth will change to the pitch of the most recently received MIDI note on that channel.
All sounds are 8 bit and played back 22000 Hz in the raw format. The raw format is an audio data format where all the header information about the sound is removed.
GBFS samples are samples that have been embedded into the ROM image, meaning they can only be changed if the source code is recompiled into a new ROM. This system exists for those users that have flash cards, which do not support FAT access to use the DS to play back these sounds.
GBFS samples are samples that have been embedded into ROM image, meaning they can not be changed in anyway, unless the source code is recompiled into a new ROM. These exist for those users who just want to used samples without the hassle of putting there on .raw files onto their flash cards. They also allow the users that have flash cards which do not support FAT access to use the DS to play back these sounds.
FAT files are files that can be loaded off of a flash card directly into memory. These files need to be 8 bit 22000 Hz raw files. Raw format is a sample audio data format where all the header information about the sound is removed, there by only leaving the actual sound data. Once you have your files in the right format you will need to first name the files 0.raw, 1.raw, 2.raw,…., then you will need to place them into the directory on your flash card. On load the dsSynth will load as many of the raw files has it can fit into memory.
This will be easily implemented into the CC# controls but will be a bit harder on the touch screen. So, the CC Midi will be implemented in the next version.
There is also a possibility that I can design the microphone to be quasi realtime effects processor. This depends on how well the sound mixer works.
This would allow the possibility for effects, polyphonic notes, etc. The downside of this will be a very long development time. I also wonder if this is even possible because I have read that people have tried but, I have never seen a completed engine. So, it might be really hard.
since korg is going to release their own ds synth thing. I am thinking of taking this project in another direction.. maybe I am almost finished with v2 of the dsSynth. So I will decide then.
I'm looking at the source code for stella(atari emulator of nds) and it looks like they might be using a sound mixer. I'm going to spend sometime looking at this to see what I can use.
Yes they do have a sound mixer! I will be trying to implement it in version 3 or version 4 of the beat so that will be sometime in the next few months.
This would allow you to record sequences that you play in on the touchscreen. I was thinking maybe a MPC like interface with real time quantizing.
This would make it possible to send your transmit your sample data to the nds and then the nds would save it to your flash card . Also, this could turn the nds into a wireless effect unit(depending on the soundMixer)