Close

Implementation ideas

A project log for BitMasher

Portable lo-fi music sequencer

michele-perlaMichele Perla 11/27/2014 at 16:110 Comments

Hey there,

If you are reading this then you are awesome!

Therefore I'd like to share with you a bit of ideas that my mind is spitting out for this project, which for your information has been lingering in my head for a few years now.

The Hardware

There will be for sure an ATMega328P with the Trinket Pro firmware, and I'm also considering the idea to add a secondary CPU, probably an ATTiny of some sorts, so to divide interface handling and audio generation; I was actually pointing towards dedicated sound generation ICs much like a SID but I'm having a difficult time finding modern, easily available chips like that, so I may rely on DDS using PWM; everything will be of course battery powered and rechargeable via USB; finally there'll be a little audio amp that will provide at least an headphones output, more likely a dual line/headphone out (so to record it through any equipment that has a line-in). A pair of 0.5 W on-board speakers would be a great add-on, with a switch to turn them on or off, or maybe with an automatic on-off switch attached to the headphones jack.

The Software

Ever used a Roland TR-808, TR-909 or a TB-303 ? No? Me neither, not in real hardware at least, but I've used a few software clones that kinda replicate their functionality (see Rebirth). I'm aiming to a mix of both worlds, that is to say there will be a drum track as well as instrument tracks; the drum track will have a few playable samples that will be configurable like on the 808, so you select a sample, then you select on what 16ths it will trigger; the instrument tracks will work in a similar way, that is you select what note will play on which 16th, with an option to select legato between notes, so that if you wish to hold a note for a 4th you put the same note on four consecutives 16ths and select legato on the last three. I hope to put at least 4 separate tracks to have drums, bass, chords, lead tracks to create the most basic but functional music, but I'm pointing towards 16 concurrent sounds, with dedicated PCM samples channels (to play said drums). There will be the possibility to create multi-track patterns and to arrange those patterns to create complete songs, and also there will be the possibility to save the song on a PC via USB or to upload a song to the BitMasher via USB, along with samples.

The Interface

Buttons, buttons, and... more buttons. There will be a 4x4 button matrix used, which represents the 16 16ths that compose a single bar, just like the 16 buttons on a 808, but in a matrix. There will be LEDs to give a visual representation of what's happening in the currently selected pattern; there will also be some more buttons to select different features, such as legato, to select between Song edit, Pattern edit, Track edit; all of the features will rely on the 4x4 matrix to do what they have to do; for example, in Song edit mode if you click button 4 it will let you select a pattern that will be the 4th bar of the song; or in Pattern edit mode, if you push a button it will let you select a pattern to edit; and in Track edit mode if you push a button it will let you edit the corresponding track notes; there has to be some sort of transport, at least a play/stop button. There will also be a few pots, one to control the output volume, and probably one to select multiple parameters, such as BPM and stuff. Of course, a power-on switch and LED are mandatory.

I will try to keep everything in a nice square layout, and I'd like to cram everything on a 10x10 cm board; EAGLE CAD max size is 8x10 so to keep the project files more user-compatible I'd have to fit everything in a 8x8cm square (but it does not have to be exactly square in the end, a rectangle should be fine also); if I could not keep these self-imposed size constraints, I'd switch to KiCad, still open source but less newb-friendly.

See you on next update.

Mick

Discussions