961

(17 replies, posted in Nintendo Handhelds)

You are a role model for every LSDj user.

Saskrotch wrote:

That sounds mad illegal

It's in the full_version folder which is password protected, just like all the other LSDj version files. Unless you mean Johan is doing something mad illegal by distributing Goomba without permission or something.'

http://littlesounddj.com/lsd/latest/full_version/ (Try clicking any of the files. I dare you.)

963

(135 replies, posted in Nintendo Handhelds)

Zef wrote:

I've always wondered why in LSDJ envelopes it put fast attacks before the slow ones :-P

Because that's what the hardware does. If you look at the binary numbers, the envelope part is divided into two parts, the top bit is for the direction, while the bottom 3 bits are for the speed. So 9 is binary 1001 where the first 1 is for the direction and 001 is for the speed (fastest.)

964

(135 replies, posted in Nintendo Handhelds)

http://blog.gg8.se/wordpress/2013/01/20 … -midi-rom/

nitromidi1 is a very simple Gameboy MIDI ROM. It can be used with an Arduinoboy or Nanoloop USB MIDI adapter. It’s not meant to be all that practically useful atm. Rather, I created it to have all the plumbing in place for future MIDI software.

It currently responds to the following things:

  • MIDI channel 1 only.

  • Gameboy pulse channel 1 only.

  • Note ons. (But currently not note offs!)

  • The typical “panic” button. (Channel mode messages $7B, all notes off and $78, all sound off.)

  • The pitch wheel, currently with a fixed range of +/-7 semitones.

  • CC 71/$47 which controls the pulse width of the wave.

  • CC 72/$48 which is a combined attack/release control, ie. the second nibble of the envelope byte. The control scans from short decay to long decay to constant volume output to slow rise to fast rise. In other word, the following envelope values mapped onto a knob: 1-7,8,F-9.
    As noted above, it doesn’t respond to note offs, so be careful with rising envelopes!

  • It has no GUI except a lines pattern indicating CPU usage. This is literally made by changing the background palette when the CPU is busy.

Have fun, and report any bugs/anomalies/feature requests.

965

(23 replies, posted in Nintendo Handhelds)

Pretty much gnore what I said in the first section of my post for now. Looking further at the code shows that the algorithm is more sophisticated than I thought. Long term accuracy might very well the stated 0.005%. This could still vary slightly locally. For badly chosen BPMs, the playback speed could vary slightly over the course of a couple of phrases. I'd need to go back and make more calculations to come with a better answer on how big the error would be and over which time.
If you still want to be safe, you should go for 80, 128, 160 BPM. But then again, maybe that's not actually the problem.

The second part i still true.

966

(23 replies, posted in Nintendo Handhelds)

nordloef wrote:
danimal cannon wrote:

Since the tempo on LSDJ isn't absolute, it won't match an exact BPM unless its MIDI synced anyways.  I often have to do some manual editing to integrate it with traditional recordings

2009-07-25: v3.9.d

* tempo calculation was rewritten to get more precise. new error margin
should be about 0.005%.

If you're using a DAW I think that the DAW might fluctuate more than lsdj.


With the voice of Richard Stallman, "I'd just like to interject for a moment."

LSDj is nowhere near that accurate. It's using a 4096 clock as its tempo base, which is then divided down to the BPM. This means you can set the time between interrupts in increments of about 0.2 milliseconds. The error for the BPM value varies with the BPM. Higher BPM means lower accuracy. However, there is a trick in place to switch between different values on every tick to increase the accuracy. Which increases the accuracy a small bit.

A real world example: 128 BPM is a tempo that divides from the 4096 Hz clock, and is theoretically completely accurate (to the limit of the clock crystal's accuracy.) 129 BPM is a tempo that divides badly from the 4096 Hz clock, and the real world BPM turns out to be 128.805 BPM. This is 0.151% too low. This one of the worst cases. 130 BPM becomes 130.032 BPM, or about 0.0244%.too high. I think Johan may have made a mistake and meant to say that the worst case error is a factor of 0.005, or 0.5% off. That's still fairly good.

Edit: The algorithm seems to be more complicated than I thought, and the accuracy is higher than the calculations above.

Notice how I purposely used the word accuracy instead of precision. Precision is something different than accuracy. LSDj has a relatively bad precision, ie the time between notes may jitter such that the time between each note varies, even if the long term average converges to the 0.5% or smaller error. This is because the CPU may be busy doing other things when a timer interrupt happens. The culprit is typically kits as well high frequency vibrato, and not using these will reduce the jitter. I haven't made any calculations on the actual error from this but might do so in the future.

967

(23 replies, posted in Nintendo Handhelds)

This might help: http://packetsofknowledge.se/LSDj:Ticks_and_grooves

968

(43 replies, posted in General Discussion)

Oftentimes chip music involves pressing play rather than "playing" something. (As in one stroke on the instruments generates one tone type of deal.) Maybe it's a subconscious reflection on this. You're more like a dj playing his own tunes on disc, than a rock band.

969

(135 replies, posted in Nintendo Handhelds)

fluxer wrote:

What kind of waveform does this sound resemble?

Theoretically a squarewave, though because the sound is played indirectly through interference, the actual waveform isn't exactly defined. Maybe somewhere between a square wave and a triangle. (Edit: Talking about my ROM...)

970

(135 replies, posted in Nintendo Handhelds)

Here's the technical explanation: http://blog.gg8.se/wordpress/2013/01/16 … planation/

971

(7 replies, posted in General Discussion)

Delek wrote:

And amazingly there are 256 pages of non played songs. This is more strangely beautiful than I thought.

No. 256 pages of songs on the site total. Currently 4 songs with 0 views. Quite a few more with 0 comments.

SBthree: Sounds like an interesting idea. I'll keep it in mind.

973

(135 replies, posted in Nintendo Handhelds)

For those who tried and got nothing. The ROM works better (ie at all) on (DMG) hardware than on emulators. Technical explanation sometime later this week.

974

(135 replies, posted in Nintendo Handhelds)

Well, I'm not giving any hints at this stage, but feel free to try different things.

975

(135 replies, posted in Nintendo Handhelds)

chipocrite wrote:

Me too. My best guess is... it's a ROM version of John Cage's 4'33"?

Nope, this is the real deal, you just need to approach it the right way.

Oops. Yes, ADC.
No, no limits on components per se. I still have to get back to YM2413 project for example...
But it's just that the idea "doesn't come naturally" or something like that. My personal vision is to do "neat exploits" when possible. To find some interesting aspect of the hardware and follow it to its logical conclusion and abuse that feature. That said, I'm not ruling out the idea.