Archive for the ‘Music’ Category

Another Arduino project…

June 2, 2016

Starting up another music related Arduino project. Initially I’ll be using the good old Uno but I’ll be switching a Due later because a) I happen to have one and b) I need the extra memory it has and the extra processing power will not be wasted either.

I’ve seen virtual instruments that do what I am trying but nothing that does it in hardware as a stand alone unit that you could put on a pedal board for example. It may end up going nowhere (my projects often do) but we shall see. The basic design is done so I’m collecting parts now.


Hackman – one more mod (part 3)…

May 1, 2016

Got my double tap detection working. The timer code I use was acting a bit ‘weird’ but I found that increasing the timer time to two seconds seems to have cured most of the issues with it. Not sure why it was behaving strangely. I guess that’s the problem with using other people’s library routines, you never quite know what they are really doing. That is unless you want to spend a load of time figuring them out in which case you may as well just write your own. I might still do that, the timer library code has some strange behaviors that I’ve had to code around, always hate that.

You’re not a real product…

April 13, 2016

Until you have a sticker…



Hacking the Jamman – Version 2…

April 8, 2016

So the Version 2 box is done. The main difference is that there’s only one switch now that is connected to the Arduino to reset the ‘playing’ flag if things get out of sync between what the Hackman thinks the Jamman is doing and what the Jamman actually is doing. I’ve not done the reset software yet though so the switch does nothing.

Enough chatter, some pictures…

Midi in and out:


Power socket and programming connector:


The guts of the beast (I always think it’s a shame that you have to hide the most interesting bit):


I tested it with the version one software and it works fine so it’s on the pedal board. I’ve got a gig tomorrow morning so it’ll be a chance to try the new setup out. I’ll take the old Hackman along just to use it as a switch box for the Beat Buddy since the switches are not connected to anything internally. Also, if this one fails for any reason, the guts are still inside the old Hackman so I can just swap them over. Since I’ve got spare boxes and switches, I may just build a new switch box and leave the old Hackman as a spare.




Hacking the Jamman – More rethinking…

April 7, 2016

Turns out that I can turn off the feature in the Beat Buddy that causes it to set a new tempo every time I change songs so now, as I scroll through songs the tempo remains at whatever I last set it to.

This means I don’t need to resend the tempo from the Hackman so the Hackman does not need to control song scrolling either.

So what I am going to do now is continue to make the new Hackman but just have a single push switch on it to reset the play flag and gut the old one as before, just leaving the switches and socket in it so that I can use it as an off board switch (that is easier to reach) to scroll through the Beat Buddy songs.

At last I think I have a plan (maybe LOL!)



Hacking the Jamman – Rethinking mods….

April 7, 2016

Well it turns out I cannot easily make the Hackman step though the songs in the Beat Buddy because there’s no midi function in the BB to let me do that. I can select specific folders and songs within folders but not simple step forwards and backwards through them.

I cannot really use the specific folder/song method because there’s no way for the Hackman to ‘know’ what folder/song the Beat Buddy is set to. I could set them to match manually but if I manually change the folder/song on the Beat Buddy, they would be out of step but then as soon as I changed the folder/song via the Hackman, it’s just to whatever the next folder/song the Hackman was set to. Overall, not an ideal user interface.

However I could still send the last known tempo which is the whole point of this (to avoid me having to do a tap dance on the Jamman after I change Beat Buddy tracks) so it might be still be worth it.

So I think that what I am going to do is to continue building the new Hackman and even still install two switches in it but Hooked up to the Arduino, so that I can at least still reset the internal ‘playing’ flag and hope that at some point in the future they add the midi function I need to the Beat Buddy. I’ll then remove the Arduino from the old Hackman and just use that as an external ‘off pedal board’ switch box to select drum tracks just like I do now, but being off pedal board will make it easier to get to since right now being at he back of the board, it’s not easy to reach.


Mounting Arduino Uno, part 2…

April 6, 2016

Holes cut in box end, Arduino mounted inside the box:




Mounting Arduino Uno

April 5, 2016

For my various projects I am currently using an Arduino Uno. In order to mount this inside the Hammond 1590BB look alike project boxes that I use I use the following ‘el cheapo’ method (hey, it works!):

I cut two piece of 1/8 hardboard to just a bit bigger than the Arduino Uno circuit board. They do not need all the fancy cutouts that the circuit board has, they can just be regular rectangles.

Then I use an old Arduino Uno as a template to drill three 1/8 inch holes in ONE of the boards. I don’t use the mounting hole nearest to the USB connector because it’s too close to the terminal block to get a screw in there.

I then lay that board over the other one, line them up and drill the same holes in the other board.

I then take the second board and re-drill the holes with a 1/4 inch drill. These holes will take the nuts that the screws go into.

I use #4-40 3/8 inch screws and nuts. The nuts are ‘just’ too big to go into the 1/4 inch holes in the board but a gentle whack with a hammer lodges them in there. One nut in each hole.

I then use some 5 minute epoxy to glue the two boards together and put screws through the holes and into the nuts just to keep them aligned.


Top of the board:


Bottom with nuts ‘inserted’ (ignore the hole in the middle, that was just me testing the nut fit):


What it looks like when done (no screws yet):


I then cut suitable holes (lots of measuring, drilling and and filing) in the side of the project box using the mounted Arduino as a template. Once I am happy with the fit in the box, I epoxy the mounting board into the project box with the old Arduino fastened in place so that I know everything lines up and it’s where I want it to be.

One thing I did find is that the power socket on this old Arduino Uno that I use as template is set slightly further back than the power sockets on the latest ones I have (different manufacturer probably). So I have to ensure that the hole for the power socket in the project box is large enough and the correct shape to take the socket. Other than that’s it’s all pretty simple.




Lucina – Fixed again…

April 1, 2016

Took it apart and sure enough the hinge (both sides this time) on the modulation bar had broken. Installed a spare and I’m good to go again, for now at least. I’m down to only one spare though so maybe I need to start thinking about ordering some more.

Lucina – Broke again….

April 1, 2016

Playing the keytar at an open mic on Wednesday I notice the modulation bar was feeling a bit ‘strange’. Sure enough it fees llike one of the plastic hinges has broken so it’s time to take it apart and replace YET ANOTHER MOD BAR! Good job I order a few spares the last time as it takes them a few weeks to get here.

Hacking the Jamman – Inspiration…

March 30, 2016

So one thing I mentioned earlier that  I needed to do was to add a reset switch for the play mode function in the Hackman. but then I got to thinking about the switches I already have in there. Right now those are hooked up directly to the switch input in the Beat Buddy and are used to switch songs up and down. But then it occurred to me that you can switch songs up and down with midi so why not connect the switches to the Arduino inside the Hackman and have IT then send the appropriate midi commands to the Beat Buddy. What’s cool about this is that I could also make it resend the last tempo it saw any time it switched Beat Buddy tracks. That would mean I would not need to do a load of foot tapping on the Jamman to reset the tempo if I changed Beat Buddy tracks since the Hackman would do it for me.

It would also remove the need for the switch cable from the Hackman to the Beat Buddy OR I could still keep that and assign different functions to a pair of switches. If I did that I think I’d make the external switch box free standing instead of being attached to the pedal board because reaching over to the back to press buttons is not that easy and it’s just be a simple plug and go operation to setup since there’s no power involved.

The other advantage of integrating the Hackman switches into the Arduino is that I could also detect when both switches are pressed together and use that to reset the play mode flag internally. Since this in not something I need to do very often (only when I mess up my foot tapping between pedals) I think that would work great and be a usable solution to what I am trying to do.

Sometime I amaze myself at how bloody good I am !


Pedalboard Demo…

March 22, 2016

A short video describing my pedal board setup and yes, that is me at the start of this video. Let’s just say that I am happy on the inside and leave it at that LOL!


Hacking the Jamman – New Pedal Board…

March 13, 2016

Well, I had to make a new pedal board as it was NOT going to all fit on the old one. Well, it would so long I did not want to actually connect anything to anything else! So here’s the new board:


All the power leads are hooked up although I still need to hook up the midi cable from the Hackman to the Beat Buddy (all I’ve got is a really long one for now) but most annoyingly, I’ve misplaced (I.E lost) a TRS cable I had with right angle plugs on it to hook up the Hackman to the Beat Buddy so it looks like I’ll have to make a trip to the music store soon to get another cable.


Hacking the Jamman – Hackman lives….

March 12, 2016

So I finished up the Hackman tonight. I have a few small and annoying problems like the power connector on the mock up Arduino I as using (an old one that did not work) was set slight further back than the one on the actual board I was using which resulting in the actual board not fitting onto the mounting plate until I’d opened up the hole for the power lead to accommodate it. That and a bad connection inside one of the plugs I’d made up to connect the midi out connector to the daughter board I’d built which cost me another couple of hours to track down.

Oh, and I wired the bloody indicator led up backwards Duh!

However once all that was done, it works fine.

All I’ve got to do now is make room on the pedal board for the drum pedal, mount Hackman on the pedal board above the other pedals because it will be at the back and squeeze another two wall wart power supplies in there for the drum pedal and the Hackman.

Still, all in all, pretty cool.

Hacking the Jamman – The ‘HackMan’…

March 9, 2016

Now that I’ve got the Jamman and the Beat Buddy working together about as nicely as I can for now, the next step is to put it all into a project box so that I can mount it on my pedal board. I’ve used an eBay sourced Hammond 1590bb knock off box to house everything. I’ve used this size box before for Arduino projects and it works well.

Since it’s now got a box to live in, I’ve dubbed it “HackMan” for want of a better name.

Some pictures to relieve the boredom….


I drilled and then filed a square hole in the end of the box to take the Arduino USB connector so that I can easily reprogram it without having to take everything apart. The round hole next to it is for the connector to a 9v wall wart (+ve center, NOT negative like most pedals!!!).

At the other end there’s a regular midi connector for the midi out to the Beat Buddy and a 1/8 inch TRS socket to take the jamsync cable (midi in) from the Jamman.

The astute among you will notice that there are two foot pedal switches and a 1/4 inch TRS jack in there as well. The Beat Buddy can use an external two button foot switch for various functions (programmable within the Beat Buddy). Since they wanted $50 for a box with two switches and a socket and since I am nothing if not cheap (ask my wife!) I decided I’d make my own. But rather than build a separate box just to house two switches and since yet another box (in addition to the HackMan) would take up more space than I have on my existing pedal board, I decided I could incorporate the switches and socket in the HackMan and save myself some room, especially since the HackMan itself is just a black box and would otherwise just take up room on my pedal board.

You might also notice a small hole between the switches, that’s just for an LED that tells me whether the HackMan thinks the Jamman is playing or not. I use that to know when to send a stop signal to the Beat Buddy when I press stop on the Jamman. It’s a bit of a kludge but it’s the best I can do with the signals the Jamman sends out, and it works although it’s easy to confuse it as well!

So I’ve just got to wire it all up which I will do tomorrow night and then see if I can squeeze it onto my pedal board. If not I’ll be building another pedal board! I’ll be glad when this is all done because I have a cafe/bar gig in just over a week and I want all this done before then so that I can at least have a little practice with it.

Hacking the Jamman – Problems fixed…

March 7, 2016

Well, one is. I found that the Jamman, for whatever reason, was on one (prerecorded) track only, sending out sysex data that said the tempo was 131 but was displaying and I guess playing it at 132 BPM.

I just adjusted the tempo up by one, save it then put it back and it was fine.

As for the Arduino tracking the ‘play’ state of the Jamman, so far I think the only real solution to that is practice.

Hacking the Jamman – Found a couple of problems…

March 7, 2016

First off, I found that when I select a track on the Jamman with a tempo of 132 (it’s a pre recorded track), the BB goes to 131 instead of 132 BPM. Guess I need to dump the sysex from the Jamman and see what data values it’s putting out.

I also modified the code so that stopping the Jamman would cause the Beat Buddy to play the drum Outro and then end. This enables me to stop them both with a single push of the stop button on the Jamman foot switch.

This is somewhat complicated because when recording to a blank track there are NO messages about the recording actually happening until you press the pedal again to stop recording and start playback at which time you get a STOP message which is rather confusing.

Anyway I figured I could just track the Jamman pedal state internally (playing or not playing) and switch state when I see the stop message. I could then use the perceived play state and stop message to send a ‘play outro’ CC message to the Beat Buddy.

This works most of the time but since the Arduino does not really know the play state of the Jamman it can get itself lost and stop the Beat Buddy when it should not.

It’s still better than a lot of double pedal tap dancing to stop them both and when it works (which is most of the time) it works really well but it still needs a bit of tweaking I think before it’s ready for prime time.

Hacking the Jamman – Video demo…

March 7, 2016

Just a little video showing the Beat Buddy tempo setting tracking the tempo set in each track of the Jamman Solo XT:



Hacking the Jamman – It works…

March 6, 2016

It didn’t work because I am an idiot. I’d modified my code to make it ‘more efficient’ (ha ha!) which broke it. Once I figured out what I’d done (which took hours for me to actually ‘see’) I changed it to the way it should have been in the first place and it works fine. The Beat Buddy tempo now tracks that set in the Jamman track.

I did do a video of it but it’s crap so I’ll do another one tomorrow. In the meantime, here’s a picture of my desk:


Tidy huh!


Hacking the Jamman – It works (almost)…

March 6, 2016

I received the latest firmware upgrade (1.79) for the Beat Buddy today so I installed it  and gave my rig a try. It worked perfectly, right until it didn’t!

So here’s what I am playing with. I have two MIDI interfaces for the Arduino. One is a MIDI shield that uses the on board UART  and one is a DIY thing I put together using a breakout board. For the shield interface I am using the Arduino MIDI library and for the DIY setup I am using the SoftwareSerial library. The difference is that with the SoftwareSerial library I can use different pins on the Arduino as the input and output pins which lets me see diagnostic messages I put in the code (to see what the heck is going on!) using the Serial Monitor part of the Arduino toolkit.

So first off I tried it using the MIDI shield and it worked fine right until I tried to set 130 BPM as the tempo. Then it just did not work.

So I switched to the DIY board so that I could see the values I was sending in the code. That interface worked fine all all tempos.

So next up I hooked up the MIDI shield to my iPad using an iRig MIDI interface and used a little app to ‘see’ the midi that was actually being sent.

What I found was that it was fine until I tried to go above 127 BPM, then the data that the code was sending was just plain wrong! Now the same calculation works fine in my DIY code so it has to be something in the Arduino midi library that is messing things up but aso far I’ve no idea what.

I also noticed that even though the CC message I am sending is only supposed to have three bytes in it, the library seems to be sending an extra data byte which further leads me to believe that there’s something wrong in the library.

That’s a shame because using the library makes my code very simple which means it is also much easier to modify in the future. However it’s of no use if it does not work so I may well have to stick with my roll your own code for now because at least that works!