Close
0%
0%

Digibone

A digital instrument with all the flare of a trombone, with the power and flexibility of an MIDI instrument

Similar projects worth following
This project aims to create a Digital musical Instrument with a similar feel to (and to an extent, look of) a trombone.
In essence the build will be a MIDI controller will all the computing done on-board making it a standalone instrument.

The plan for this project can be broken down into three main parts: the input controller, the midi synth and the output.

The Input Controller

The Input Controller aims to mimic the input of a trombone, reading the combination of breath input and slide position and generating a MIDI output for the synthesizer of the project.

To achieve this an ultrasonic sensor will be used to give a slide-like input, an air pressure sensor to interpret the note on/note off state, and an Arduino Pro Micro to calculate and output the MIDI output.

MIDI Synth

This part of the project will take the MIDI input and process it into an actual sound.

The plan is to use FluidSynth to handle this processing. At the moment it is running nicely on an Android phone, however this will be transferred to a headless Raspberry Pi on the near future.

Output

Nice and simple - an amplifier to make things loud!

Currently the project is running a 5v Amplifier connected to a small car Speaker.

The amp running at 5v is ideal for the project, as it allows the amp and synth unit to be powered from a 5v source; in this instance a large USB power bank with two USB ports for charging devices.

***Unfortunately due to a change in work patterns has prevented me from getting a video up of the working example, which is currently all mounted to my yellow plastic Trombone for demo purposes.

I aim to get a video up before the week is out!***

  • 1 × Raspberry Pi To run the software and output audio
  • 1 × Arduino Mega To read all sensor input from the hardware and pass commands to the Pi
  • 1 × DAC/Amp To convert the output from the Pi into audio for the speaker
  • 1 × Speaker To play dem glorious tones!
  • 1 × 15x15 Aluminium Extrusion To create the frame

View all 8 components

  • Project Future

    Craig Hissett10/24/2018 at 20:23 0 comments

    The last few weeks have been a read whirlwind at work, starting a new role as a systems developer, undertaking a lot of training to support my new job plus working a silly amount of hours of overtime in order to support my old team following my move.

    This is all great news, however it culminated in me not getting this project up to standard for the Hackaday Prize round for musical instruments. I am absolutely gutted to have not been able to put something up to meet the criteria, as it's not too far away at all.

    Rather than give up on this project I'm going to keep plugging away at it, and instead of creating something to compare with a trombone I'm going to make it a more erganomc shape if that's the way the project takes me.

    Hopefully in a few weeks I'll have some time to put it all together.

    Cheers!

  • The Amp has arrived

    Craig Hissett08/16/2018 at 23:02 0 comments

    My 5v little amp was delivered today - good times!

    Tomorrow I'm going to give it a little test with a speaker and the phone to ensure it works.

    Folowing that phase I'm going to create a small shield for my Pro Micro.

    The shield will have the pressure sensor mounted directly to it, and will have headers for an ultrasonic sensor, and a few buttons. This will give me a nice tidy board to attach to my trombone and to start tweaking my code.

  • New Amp ordered

    Craig Hissett08/04/2018 at 14:26 0 comments

    While I'm toying with the idea of using the Android phone to process sounds I still want to retain output via a speaker.

    I've found a cheap one of EBay for around £7 that is powered by 5v that would be nice and easy to work with. It won't be any kind of decent audio quality, but it allows me to keep trying out my plans.

    I'm away on holiday next week so when I get back it will have arrived and I'll be able to have something assembled not long after i get back. Woop!

  • Android works!

    Craig Hissett08/03/2018 at 15:05 0 comments

    In the early hours of this morning I managed to get my hands on an old phone of mine; a Samsung Galaxy A3. It's a 2015 model, so not too dated, but the battery is pretty pants on it ha ha.

    Anyhow, I installed the FluidSynth app and found a little USB-OTG adaptor (i knew i had a bag of them somewhere!).

    I had a Pro Micro that I had stuck a 'test tone' script on (Playing a middle C for a second, every 3 seconds) and boom - it just worked.

    This is perfect for prototyping, as now i can use the phone to quickly test any progress on reading the Pro Micro scripts and interpreting the sensors.

    It would also serve as a great 'stunt double' for any Pi-based FluidSynth system while i put together any hardware.

    I'm also keeping my eyes peeled for a cheap 5v Amp for the project.

    Much cheaper than the Justboom Amp + DAC setup I have on the Pi at present, plus I'd be able to power the amp and the phone from a single 5v power source or a set of stepped up Li-Ion batteries.

    Using the phone instead of the Pi could be an absolute game-changer - a brand new handset can be bought for roughly the same price as a Pi these days, and they have all the features needed for this - touchscreen, headphone out, compatibly with software... All without needing to buy extra adaptors or HATs.

    Wowzers!

  • Fluidsynth: there's and Android app?

    Craig Hissett07/31/2018 at 22:33 0 comments

    I've been tied up with worm far more than expected over these last few weeks and months, so progress has been slow. It has always been at the back of my mind but i havent really been able to push further forward with development.

    In order to speed up the process to getting something making noises and getting something worthy of making a video log of for my project I've been looking at alternatives to plug holes in the project and revisit them later.

    The first is the frame - while I discuss with pBone a donor instrument or perhaps constructing my own frame I'm going to use my own plastic trombone as a mounting frame for the time being. Itll be messy running wires all over and not being able to modify it, but it'll give me a great platform to test my project on.

    Secondly is the onboard processing.

    The plan is to create my own custom image for Raspberry Pi to run an instance of Fluidsynth and then output via a gpio mounted DAC to a speaker.

    In order to plug this one I've done a random search for MIDI capable synth on the Android platform; the thought being that I could use an old phone to interprete the Arduino output until I get the Pi side up and running. Lo and behold I've managed to even find a Fluidsynth basesmd android app in the Google Play store, ideal for the stand in role!

    After sitting pondering on the thought for most of this evening I'm really starting to warm to the idea of an old phone being used instead of the Pi in the project: it has a touchscreen for easy operation, easy to mount with any number of off-the-shelf holder's, has it's own battery, can connect to the Arduino via USB-otg, and has a headphone out to run to an amplifier or an active speaker.

    Christ, if I can find a 5v amp I can power it all from a 5v power bank as well.

    Hmmmm....

  • OpenDeck

    Craig Hissett07/03/2018 at 00:11 0 comments

    Quite recently I had a shift in thought over how the Arduino was going to communicate with the Pi. At first I was going to use a serial connection to share commands but eventually realised it would be silly not to use MIDI. Especially when there are Arduino built upon the AtMega32u4 that would just be recognised like a normal midi input device in the Pi, and any other PC the DigiBone could be plugged into.

    Tonight I've stumbled across OpenDeck, which packs some fantastic open source software to simplify the whole process.

    https://github.com/paradajz/OpenDeck/blob/master/README.md

    I'm looking forward to putting this to use on an Arduino tomorrow.

  • Updates

    Craig Hissett06/09/2018 at 08:16 1 comment

    Just a couple of things to report:

    After stumbling upon it in a Hackaday article I've become somewhat infatuated with the idea of using the software used in the http://zynthian.org/ project.

    Pi based, DAC support and plenty of apps to try it seems perfect to use in my project.

    I will focus on turning my Arduino portion into a MIDI device to work with the software as expected.

    Also a little while ago I contacted a company that make a product called pBone, a lightweight and cheap plastic trombone that would make for a perfect mounting frame for this build. They finally got back in touch - hopefully if they are open to providing some parts that have failed QC or have been marked for the scrap heap I will be able to build my project around That!

  • Getting closer...

    Craig Hissett05/01/2018 at 21:59 0 comments

    Just a quick update as I've been reasonably quiet, and I'm on holiday next week.

    The DigiBone script is getting closer. I've ditched the LCD screen for the moment, and plan to include a Nextion display in the not-too-distant future. The Nextion screen will allow for a lovely GUI for controlling settings, and only needs a serial connection to communicate with the Arduino.

    Good times!

  • Annoying setback

    Craig Hissett03/27/2018 at 01:07 0 comments

    Finally got round to adding the Ping sensor to my board.

    Did some work to the code to incorporate the NewPing library to handle my ping sensor, uploaded the code and got an LCD full of gibberish. 

    I'm assuming it is power related (The rest of the script runs fine) soon will have a look at rewiring the breadboard tomorrow.

    On a lighter note the Arduino has been successfully talking to the python script via serial and sending data, and the python script has been playing according beeps.

    Next step is to add some debouncing to the arduino code buttons, and then focus on using the Ping data and range value to determine what note to send to the Python script.

  • Air Pressure Sensor

    Craig Hissett03/26/2018 at 16:08 0 comments

    I would like to use an air pressure sensor to trigger when notes are to be played; it keeps the hands free to use the pitching buttons and also is in keeping with the trombone.

    The pressure sensor will most likely be used in an on/off sense and not to dictate the velocity of the notes.

    Coding the Arduino will follow a pattern of:

    If air pressure sensor returns a value indicative of air being put into it, then:

    read slide position and range value, and send the corresponding note to the Pi.

    I will be ordering some of these on pay day to give them a try. They look small enough to be inserted inside a mouthpiece so that's a brucey bonus:

    https://www.ebay.co.uk/itm/3Pcs-DIP-Air-Pressure-Sensor-0-40kPa-DIP-6-For-Arduino/172841227056?epid=1391862032&hash=item283e23d330:g:t0AAAOSw7wxaoA8z

View all 20 project logs

  • 1
    Assemble Frame

    Coming Soon

  • 2
    Install slide sensors

    Coming Soon

  • 3
    Install buttons

    Coming Soon

View all 9 instructions

Enjoy this project?

Share

Discussions

uri.shani wrote 04/09/2018 at 04:11 point

Hey, looks exciting! You might wanna check https://learn.sparkfun.com/tutorials/hackers-in-residence---the-electricbone, they use a sound sensor and PD to get the base note.

  Are you sure? yes | no

Craig Hissett wrote 04/09/2018 at 08:51 point

Thank you so much for this - you've saved me weeks of head scratching there :-)

The sound sensor module looks great. I'll have to pick one up on pay day.

  Are you sure? yes | no

uri.shani wrote 04/09/2018 at 10:38 point

Sure, looks just the right fit for your project. I actually thought of going further with their design, but never really got to it.

  Are you sure? yes | no

Craig Hissett wrote 04/09/2018 at 15:23 point

Yeah the design is great. When i thought my project out in my head it was very similar to what they've done; arduino reading the sensor input, and the Pi pricessing the MIDI. I'm hoping to have mine look more trombone-like, so i can stash an amp, DAC and speaker over the shoulder.

If you ever fancy working on it feel free to jump on board with my project :-)

  Are you sure? yes | no

Blecky wrote 03/29/2018 at 04:51 point

Woo, we are Diva Plavalaguna Achievement buddies!

  Are you sure? yes | no

Craig Hissett wrote 03/29/2018 at 05:22 point

Yay! thanks for following my DigiBone project. The Litar is looking awesome!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates