Close
0%
0%

The Open Woodwind Project

An Electronic Aerophone with Wireless MIDI and Onboard Synthesizer

Similar projects worth following
I'm re-opening the development of my electronic aerophone. Stay tuned!

RE-OPENING ACTIVE DEVELOPMENT - PLEASE STAY TUNED 5/4/2018

What is the Hopkins Electronic Aerophone?

The Hopkins Electronic Aerophone is a MIDI Woodwind Controller similar to the Akai EWI and Yamaha WX5. It allows for unprecedented control of synthesizers with capabilities that far outstrip conventional woodwinds. It utilizes a pressure sensor, touch and pressure sensitive keys, and unique sensors to give you the ultimate control.

You can go from playing a 70's synth to a classical violin with the touch of a button and readily exploit effects and capabilities previously reserved for keyboards and guitars. You can unleash your creative ability in earnest!

How is it different from existing Woodwind Controllers?

Unlike existing woodwind controllers the Hopkins Electronic Aerophone has wireless MIDI to your synthesizer or sampler of choice. Being onstage without being tied down by wires is the new future for woodwind controllers, and one that allows you to be yourself while performing.

The modern controllers from Akai are made of plastic. Our instrument is made of wood, and maintains that feeling of a 'real' instrument and does not feel like a toy in your hands.

Unique and customizable fingering systems allow for easier playing over the octave break, a considerable hurdle in systems like the Akai EWI. Runs and rifts that took months to get right can now be easily played without the dreaded 'glitch' destroying your performance.

Unique sensors are at your fingertips! Under each key is a pressure sensor which allows for vibrato or other effects to be played while being intuitively controlled. Sensors are easily routed to multiple destinations! Gate them, scale them, abuse the capabilities of CC and CV routing!

The controller can be easily calibrated without the need to adjust potentiometers deep within the instrument. No need to worry about breath response adjustments, simply enter calibration mode and provide sample pressures. Increased sensitivity on the keys insures that those with dry hands do not need to lather in lotion to play the instrument.

Onboard Synthesizer!

The controller is more targeted to MIDI control, but an included onboard synthesizer enables you to practice anywhere! Simply plug in headphones and your battery and you're ready to go.

The DSP-G1 provides a warm rich analog tone which can be filtered and distorted to wonderful harsh sounds or a beautiful melodic voice and anywhere in between.

Integration with Reason!

Included with the instrument is a demo version of the latest Reason release as well as patches specifically crafted for the instrument. Unleash fat synths or beautiful sampled classical instruments. A full range of sounds are provided to you so that you can immediately have great sounds without a hassle.

The Hopkins Electronic Aerophone's base station mimics Reason's Combinator device. It allows for real-time control over the rotary dials and buttons of your currently selected patch. It also has an analog display meter for your CC/CV of choice! Ever wanted to know how close you were to maxing out your breath? Easily route the breath data to the display and never be unsure again!

A large slider control can easily be assigned to the mixer volume or any other setting in Reason. Effortlessly control your mix.

Additional buttons control track selection and stop, play, record commands. Looping and backing tracks are easily controlled.

  • Main Loop

    J. M. Hopkins05/14/2018 at 04:03 0 comments

    void loop() {
    	updateBreath();
    	updateNote();
    	updateCC();
    	if(state == STATE_NOTE_OFF) {
    		if(breath_measured > breath_threshold) {
    			breath_time = millis();
    			state = STATE_NOTE_NEW;
    		}
    	}
    	if(state == STATE_NOTE_NEW) {
    		if(breath_measured > breath_threshold) {
    			if(millis() > breath_time + breath_risetime) {
    				sendCC();
    				sendNoteOn(note_fingered);
    				cc_time = millis();
    				state = STATE_NOTE_ON
    			}
    		} else {
    			state = STATE_NOTE_OFF;
    		}
    	}
    	if(state == STATE_NOTE_ON) {
    		if(breath_measured > breath_threshold) {
    			if(millis() > cc_time + cc_delay) {
    				sendCC();
    				cc_time = millis();
    			}
    			if(note_fingered != note_playing) {
    				if(legato) {
    					note_temp = note_playing;
    					sendNoteOn(noteFingered);
    					sendNoteOff(note_temp);
    				} else {
    					sendNoteOff(note_playing);
    					sendNoteOn(note_fingered);
    				}
    			}
    		} else {
    			sendNoteOff(note_playing);
    			state = STATE_NOTE_OFF;
    		}
    	}
    }
    
    void updateNote() {
    	note_fingered_debounce = rawNote(); //Update from capacitive touch board
    	if(note_fingered_debounce != note_fingered) {
    		if(note_debounce) {
    			if(millis() > note_debounce_time + note_debounce_delay) {
    				note_fingered = note_fingered_debounce;
    				note_debounce = false;
    			}
    		} else {
    			note_debounce_time = millis();
    			note_debounce = true;
    		}
    	}
    }

     In the above snips of code you can see the main microcontroller loop, and the updateNote() function.

    It's a dead simple state machine with only OFF, NEW and ON states. Every cycle of the loop we read the raw breath, update our fingered note, and calculate CC values. 

    The full version will have functions for the different programming modes and extra features, but the heart of the instrument is this loop.

  • Component Selection - Capacitive Touch

    J. M. Hopkins05/12/2018 at 08:35 4 comments

    Previous Design
    In my previous prototype I accomplished touch sensitive keys via a pulsed AC signal being amplified by Darlington paired NPN transistors, clocked by a shift register one at a time into a single digital pin on a microcontroller. While this worked, it required quite a bit of soldering, testing of components, and programming.


    Planned Design

    In this next prototype I will be utilizing a true capacitive touch controller to provide key values. The MPR121 from Freescale was chosen for its 12 channels of capacitive touch and I2C communications. Two of these will be used on the same bus and will provide the microcontroller with 24 channels of touch feedback.

    Easily accessible libraries allow for easy programming with the touch data. 


    Example Programming

    MPR121 touchA = MPR121();
    touchA.begin(0x5A);
    
    uint16_t keysA = touchA.touched();
    if(keysA & (1 << 4)) {
        //Button Pressed
    }

  • 2018 Update!

    J. M. Hopkins05/09/2018 at 09:22 0 comments

    It's been a while!

    Over the last two years I've moved across the country and started a new time-demanding job at SpaceX, and I've had little time for my side projects between work and family. I am re-opening this project for active development however due to my recent interest in modular synthesis, and of course because I do love playing my Akai EWI. 

    New parts are on order, and I'll be stepping through another development process to get my instrument up and running.

    I'm moving away from a high beta transistor amplified resistance touch sensor strategy to the more common capacitve touch strategy, and will be trying to get my pressure sensitive keys working.

    An onboard analog synthesizer as well as pitch and gate voltages will be available (for eurorack modular synthesizers), as well as hardwired MIDI and wireless MIDI options.

    After the instrument is up and running and I'm happy with it, I will finalize schematics and requirements and place an order for PCB fabrication at which time if others are interested can probably get a board or two for themselves to build their own instruments as well.

    During the development process I'll post code snippets and hardware explanations, so please, follow and keep updated!

  • Super Mario Theme

    J. M. Hopkins06/20/2015 at 01:58 0 comments

  • Onboard Synthesizer Demonstration

    J. M. Hopkins06/15/2015 at 12:20 0 comments

  • OLED Display and Body Progress

    J. M. Hopkins06/11/2015 at 02:09 0 comments

    Sorry for the lack up recent updates, life gets in the way of hobbies too often versus what I'd prefer.

    My camera had a difficult time photographing the OLED Display, but in real life the .96" screen is super bright and clear. You can see the quick and dirty debug screen currently in use, and understand it has full graphics capabilities.

    Here is a test body with the new pressure sensor being calibrated. Conducive copper tape is used to sandwich a physically variable resistive polymer that is in place under the individual keys.

    I hope to have a full bodied prototype done shortly, which will pave my way forward to the eventual kickstarter and open source release. Stay tuned!

  • Starting Body Construction

    J. M. Hopkins03/06/2015 at 01:20 0 comments

    Introduction: I'm going to start showing the progress on the physical construction of the instrument. If there are any questions please let me know with comments. I'll try to post as I go, so please subscribes, skull, etc to keep up to date!

    Make Paper Template of Body Ribbing - The internal cavity of the instrument is a hexagon, with a diagonal cross section of 5cm (about 2 inches). Using a compass and ruler I created a paper template to transfer to the wood.

    Cut out Master Body Ribbing - Trace the paper template onto the wood, and cutout the master body ribbing template which will be used to create all the other ribbing pieces.

    Test fit the circuit board to the wooden template - The circuit boards I'm using are 5cm wide, so I test fit the board to insure a snug fit into the instrument during construction.

    Rip 1/8" boards from larger stock - After setting a guard to rip wood at 1/8", six pieces were created to become the body pieces of the instrument.

  • Questions Answered

    J. M. Hopkins02/23/2015 at 14:50 0 comments

    So I've had a few questions on what exactly this next version will have and why it will be better than the previous, so here we go.

    Onboard Synth - Like the EWI-USB my first prototype lacked an onboard synthesizer. People enjoy being able to practice anywhere, and to that end I'm adding a modeled analog synthesizer. It will be only one 'patch' but still be result configured for a wide range of sounds. It will be utilizing the DSP-G1 IC, a fairly new design by Jan Ostman from Sweden. More on this synth can be find at https://janostman.wordpress.com/category/dsp-g1/. And an audio sample here: http://dspsynth.eu/files/Gplugpad.mp3

    Pressure Sensitive Keys - Underneath each key is a new sensor that allows for pressure to be measured. Techniques like vibrato played on violin, open holed finger slurs, and custom CC (aftertouch, modulation, etc) can all be assigned to these sensors. You can also assign CCs to the lowest fingered key, which allows for simple control that is very intuitive. Each key can be calibrated so that the CC messages are not sent until a specific value is reached. Very cool stuff.

    Dedicated Base Unit - Instead of just a serial transceiver attached to a synth, a base unit will have 4 control knobs, and 7 assignable buttons for ease of patch configuration. These controls will be mapped into Reason's Combinator device.

    Wooden Construction - As first planned, the instrument will be of wooden construction, not plastic. With a dedicated beautiful veneer specially chosen to make a beautiful instrument. It should look at home in an orchestral setting.

    OLED Display - A small 1 inch display will be recessed into the top of the instrument with a 5 way navigational button allowing for menu driven settings configuration. It can also be configured to display the current values of sensors in real time in bar or number format. Here's a sample of the OLED:

    I hope this answers some questions!

  • Transceiver Details

    J. M. Hopkins02/14/2015 at 22:53 0 comments

    Part of my new parts that came in was a new transceiver in the 70cm band. One of the difficulties of this band is that it is not ISR in the United States and requires the proper licensing to operate any devices. That being said I went ahead and obtained my FCC amateur license and am now able to use some of these transceivers that was previously off limits. Overall about a 150KHz bandwidth is being utilized. At full power (which is not being used) I can reach about 3 or 4 houses down without signal drop. Significant improvement over my previous 1 or 2 rooms away.

    You can see from the spectrum above that it is running an FSK modulation, which gives it a rather robust transmission for data transfer.

    Of course these transceivers will not be available to everyone, but I can put back in the 2.4GHz transceivers for those without the proper licensing.

  • New Components Arrived!

    J. M. Hopkins01/10/2015 at 23:09 0 comments

    Exciting news towards the development of the next iteration of the Hopkins Electronic Aerophone! The final shipment of new parts and components have arrived and the next prototype will start being constructed.

    Of the new parts the most exciting include the new Teensy microcontroller and APC 220 RF modules. The Teensy provides much more processing capabilities and more importantly better ADCs. The RF Modules have a much better power and signal level that should provide much improved range.

    Also included is the veleostat subsititute that will be used for pressure sensing underneath the keys which will provide the easiest way for an electronic woodwind to provide open hole technique to the instrument.

    The Combinator interface box will also be constructed this iteration and will provide a lot of functionality to the instrument.

    Pictures will come soon! I regret the long delay in the development of this idea, but some times real life gets in the way, but have no fear, the construction of this instrument will continue!

View all 16 project logs

Enjoy this project?

Share

Discussions

Johan Berglund wrote 05/14/2018 at 17:21 point

Great to see you are picking this up again!

  Are you sure? yes | no

J. M. Hopkins wrote 05/15/2018 at 06:16 point

Thanks!

  Are you sure? yes | no

Johan Berglund wrote 06/06/2016 at 18:26 point

Hi,

Thanks for your replies! Thinking of putting the dsp-G1 in my Casio horn if I get to modifying it. Then I won't be missing the pitch bend functionality, as it didn't have it to begin with :) Portamento will still be missed though... but then again I get a key free for other things, like a bis key perhaps. Anyway, thanks again, and I hope you get time to proceed with your Aerophone project soon!

  Are you sure? yes | no

pietkamps wrote 01/19/2016 at 20:31 point

Hi Hopkins, I am interested in how you made the bite sensor or what hardware you have used.

  Are you sure? yes | no

J. M. Hopkins wrote 01/20/2016 at 12:15 point

I've used simple FSRs mostly.

  Are you sure? yes | no

edil07 wrote 06/06/2015 at 20:30 point

Hi Hopkins, I am very interested in your work and thinking of implementing it during my vacation at work in case you have already released it as open source.
Have you considered using Moteino (http://lowpowerlab.com/moteino/) as the microcontroller since it provides wireless 

  Are you sure? yes | no

J. M. Hopkins wrote 06/06/2015 at 23:38 point

Hello, as of right now there's not been a release of code, but I can release some of it through my Open Woodwind Project.

There are a few microcontroller options with built in wireless, but I've opted to use separate devices for more flexibility in transceiver choices. 

  Are you sure? yes | no

Gwendolyn Scogin wrote 06/05/2015 at 17:36 point

I am curious as to what hardware you are using for the breath pressure sensor.

  Are you sure? yes | no

J. M. Hopkins wrote 06/06/2015 at 23:39 point

It's an MPX2010GS. I'm still developing this project, but just taking a bit longer than I was hoping for. Being active duty military with a family eats a lot of time. 

My software and hardware will all eventually be released as open source under the Open Woodwind Project, which I assume you'll find interesting :)

Also, I'm now using a Teensy as my primary microcontroller... Good stuff.

Jeff

  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