DSC wrote:

Curious to why you removed the LED flashing.

No real reason apart from keeping it as simple and stripped down as possible. LED flashing can probably be added again without any impact on performance, but I personally like the concept that the Arduino does as little as possible besides handling the precious note sequencing.

unexpectedbowtie wrote:

Yxx - Sends a program/patch/preset change.

This description is a bit bare. Any ideas on how this is implemented?

I forgot you also asked about program changes. A program change MIDI message consists of channel 1-16 and value (0-127).

Example:

You use command "Y0A" in the PU2 channel - this sends a program change with value=10 on MIDI channel 2. This changes the patch to #10 on your synth if it listens to MIDI channel 2 and if it supports program changes (might need to be enabled in your synth's settings to work).

19

(6 replies, posted in Nintendo Handhelds)

herr_prof wrote:

@ledfyr: why did you choose to use the x command instead of the n command for the chords? If you have another thread for your fork id love to talk more.

The N command plays a single note in the current channel, I still want this to work the way it does. Though I heard you can use the C command with MIDI out to play chords. I never tried that, but I still think you get more chords to choose from with my code.

toasterpastries wrote:

I'm also a fan of this fork and would like to open some chat about it. I use NOI for external drum sequencing and use the chord command for allowing more than one drum to be triggered at the same time, but it often suffers from stuck notes.

You have to kill the note before switching to a new chord and playing it to avoid hanging notes.

I created a thread if you want to continue there:
https://chipmusic.org/forums/topic/2022 … -out-fork/

This is my custom MIDI out version of the Arduinoboy.

https://github.com/ledfyr/ab-midiout-lite

Background:
I started out trying to slim down the original Arduinoboy code to the bare minimum needed to handle LSDJ MIDI out. The main motivation was to learn how the code worked and if possible solve an issue I'd had with notes dropping out.
I managed to solve the issue by removing a buffering/timeout handling of previously played notes. My solution keeps at most one previous note per channel instead of a list, and I got rid of the timeout handling. I never fully understood the intention of the original code in this area, but as far as I know my changes haven't broken anything. If anyone has ideas or knowledge about this, feel free to share.
Later I added some more functions, just because.

Functions:
- MIDI clock out (tap tempo control of BPM)
- Velocity
- Chords
- Channel switching (channels can be switched rapidly giving you access to 16 channels - though only 4 notes at a time)
- CC scaling 0-127 instead of 0-120

Gotcha #1: If you want to change between two different chords, you must kill the first note (chord) before changing and starting the next - otherwise notes from the first chord will be left hanging. So do it in this order: set chord, play note, kill note, set other chord, play note ... and so on.

Gotcha #2: All settings (channel switching etc) are lost when you power off the Arduinoboy. Keep a row in the top of your LSDJ songs with settings, play this row to "load" them before starting the song.

See readme in the link above for installation instructions and more info. This code should work with any Arduino based build following the original schematics by trash80.

Please let me know if anything is unclear and I'll try to help. Enjoy!

Hi, I also like the MIDI out mode! LSDJ works great as a 4 channel sequencer.

With the default settings of the arduinoboy, CC works like this.
Say you use command Xyz, then you’ll get:

Value of y - CC number
1 - 1
2 - 2
3 - 3
4 - 7
5 - 10
6 - 11
7 - 12

Value of z - CC value
1 - 1 (or 0, not sure)
2 - 8
3 - 16
4 - 24
...
E - 112
F - 120

This is the default behaviour, it can be changed as you quoted from the docs.
Changes can be hard-coded in this file and then loaded to the Arduinoboy (search for the word midiOutCCMessageNumbers):
https://github.com/trash80/Arduinoboy/b … inoboy.ino

Or you can use the max patch to change this I think.

Also, I made some additions to the MIDI out mode in my personal repo, like MIDI clock out, velocity and more. Check it out if you’re interested, the readme contains documentation of functions and instructions on how to install on your arduinoboy:

https://github.com/ledfyr/ab-midiout-lite

Last but not least I found that the GBC and GBA models works best for busy sequencing in multiple channels.

Hope this helps!

unexpectedbowtie wrote:

Thanks Catskull!

Coincidentally, I'm trying to work out a way to connect multiple Game Boys to a single arduinoboy so I can control external MIDI gear live with more than one DMG. A related, but different problem...

This would be awesome, one Gameboy could control MIDI channel 1-4 and the other channel 5-8.

However, I think this requires a new LSDJ version. Currently there is no way to sync 2 gameboys while running in MIDI out mode. (Correct  me if I'm wrong anyone - I hope I am smile)

Hi, have you seen this?
http://chipmusic.org/forums/topic/19565 … olderless/

This, maybe in combination with a prosound mod, should make the old GBA pretty quiet. I'm not getting any noticable noise when using my GBA (just prosound) with lsdj and an arduinoboy.

24

(9 replies, posted in Nintendo Handhelds)

I'm curious, why is mono preferred when playing live? What problems does stereo introduce?

25

(24 replies, posted in LittleGPTracker)

Is the built-in keyboard really that bad for lgpt?
Cant the key bindings be changed to make it OK?

A common workaround is over/underclocking.
For instance, some people use a half clocked GB to reach lower notes.

You should be able to find some info and examples of the half clock mod here on the forum.

Hi! I recommend the prosound and noise filtering mods (add a 470 uF cap to the voltage rail).
These mods are simply great, they boosted the gain and completely removed the hum and whiny noise at 9.25 kHz on my GBC.


There is also a bass mod where you insert caps at the end of the audio signal chain to increase the bass.
However I think it's better to boost the bass using an EQ/mixer (possibly higher quality components, and you can set the level/frequency yourself).


Since you're in the UK, get in touch with Joe Teach (aka Joe Bleeps?). I've heard he's good.

28

(14 replies, posted in Nintendo Handhelds)

I have thought of using two GBs with variable clock mod and beat match using the clock mod pots. The pitch is affected which may not be desired (or could be a totally cool effect smile). Note that the sensitivity of the variable clock boards out there might not be fine enough, could be worth researching if you're interested in doing this.

29

(21 replies, posted in Nintendo Handhelds)

Thanks for the kind words! Did you try the software? Let me know if you run into any problems setting it up.

I've tried fiddling with the latencies but it didnt affect the dropped notes.

I'd also rather have one tiny box instead of two, but a positive thing is that the RPi adds a few features like letting you hook up a USB keyboard along with the GB.

I've also noticed some dropped notes. I managed to get rid of it by using a custom arduinoboy software + a raspberry pi.
The raspberry pi also brings other features like sending MIDI clock.

Check it out:
http://chipmusic.org/forums/topic/17404 … pberry-pi/

Awesome, thanks for making this!

32

(50 replies, posted in Other Hardware)

@yogi:
You should be able to route midi ports from command line/terminal using the alsa aconnect tool.

aconnect -l   (this lists available midi ports)
aconnect 11:0 24:0   (this connects port 0 on device id 11 to port 0 on device id 24)
aconnect -x   (this removes all connections youve made)

You could for instance set Midi Through as input port in the editor and then route your desired keyboard/input device to Midi Through using aconnect.

Hope this helps! I've messed a bit with aconnect so let me know if you run Into any problems.