From GameBrew - a wiki dedicated to Video Game Homebrew.
Pulse DS turns the DS into a MIDI synthesizer that uses the DS's PSG (programmable sound generator) to produce Game-Boy-like sounds.
It is an application demonstrating the use of DSMI (DS Music Interface) which runs on your computer receives MIDI commands and feeds them to your MIDI applications.
Frequently Asked Questions
Q: MIDI over WiFi? Sounds unreliable and slow!
A: Of course, wireless networks are not the best method for time-critical applications like MIDI, but the latency and packet loss turned out much smaller than what we expected in the first place. In OSX, the average latency we measured was about 17 ms. We were unable to measure it on other platforms, but subjectively, the latency feels about as low in Linux and horribly high in Windows (due to the Midi Loopback that has to be used because of Windows' inflexible MIDI framework). But better try it out for yourself :-)
Q: Oh no! Half of my MIDI messages get lost!
A: Probably the connection is disturbed. Make sure that the DS is in range of the access point and that no other (bigger) traffic is going over it. Limiting your access point's bandwidth to 2MBit might also help, because the DS's WiFi has 2MBit.
Q: My DS can't connect to the access point!
A: Make sure you set up the connection correctly using a Nintendo WiFi Connection game like Mario Kart or the Opera Browser. If it still doesn't work, try entering the WEP key in hex representation instead of ASCII in the WFC configuration. You could also try restarting your access point (this has really helped a couple of times). If everything fails, try throttling the bandwidth to 2MBit or disabling WEP (not recommended though).
Q: My DS says it is connected but the server does not seem to receive any messages.
A: Make sure the computer and the DS are in the same subnet, i.e. the first three numbers of their IPs are identical. For example, if the DS has the IP 192.168.1.x, then the computer has to have 192.168.1.y. Also make sure there is no firewall that blocks incomping packets on port 9000 or outgoing packets on port 9001.
Q: I'm connected but I cannot receive data!
A: This happens sometimes for an unknown reason. Restart the DS and try again.
Q: How do the PC and the DS find each other. I haven't entered their IPs anywhere.
A: The magic is called "broadcasting". The DS just sends the MIDI packets to all hosts in the current subnet. So, if the DS is 192.168.1.88, then the packets are sent to 192.168.1.*.