Share this project

Done

Share this project

Done
Compose music with your voice, or any instrument, live.  Works with all your favorite music software.
imitone lets you play any instrument with your voice.
imitone lets you play any instrument with your voice.
2,433 backers pledged $90,517 to help bring this project to life.

Recent updates

Photos

De261bafe7ad4ae5a098493757127db7 original
417da60086a402bae8cea6a33f547325 original
525096bd29a61d7b84af680cd8c30365 original
29b606a8f4bc8935b4cd79515874e551 original
3cc13f412f6cee84ed288714dec9f161 original
9610a2b52c50389a1d712c4abad388ea original
D9e7e744880ef47213fa1c74d55fa81d original
1f2dbed02104b9e30fd7203455ac08b5 original
286280a2e9892abca456863148352e34 original
Aea4e333ef4502defb470d7a7b8537d3 original
9276a85bb7965d4d5bf27ef7809569a2 original
A6c82a2dad71374dbdb53596933e0783 original

imitone 0.9 — a big step forward

16 likes

On December 1, we released imitone's biggest and best update ever.  Go get it!

imitone 0.9 is much better at following your song, thanks to a smarter note interpreter.  It has also been re-designed, comes with a shiny new manual, and introduces three big features that have been a long time in the making:

Hold Mode

Previous versions of imitone have always been eager to change notes, playing near your voice's pitch at all times.  This can be a problem when trying to sing long, steady tones: if you lose control of your pitch for even a split second, it could play another note.  It can also cause trouble when singing a low note, followed by a high note — often imitone would pick up on a quiet pitch slide that you weren't trying to make.

Too many notes!  Left: Sweep Mode.  Right: Hold Mode.
Too many notes! Left: Sweep Mode. Right: Hold Mode.

When your pitch is sliding, 0.9's Hold Mode will keep playing the original note until you settle on a new one.  This produces a tidier score and is especially helpful for composing.  We've kept Lock Mode around as an even more careful variation.

Another classic problem.  Left: Sweep Mode.  Right: Lock Mode.
Another classic problem. Left: Sweep Mode. Right: Lock Mode.

While I plan on fine-tuning it, this first take at hold mode works very well!  I also had a few new insights into how to make the other slide modes smarter — you'll notice that even the old modes are less jittery than before.

Pitch Guide

If you're not a trained singer, odds are you drift out of key now and then.  Until now, imitone would always try to choose the note closest to your real pitch.  This caused a problem when singing out-of-tune, near the half-way points between notes — imitone would round some notes up and others down, making it feel random.  I described this problem in detail earlier in the project.

I'm singing the same note, out of tune.  Tiny changes in my pitch change imitone's note.
I'm singing the same note, out of tune. Tiny changes in my pitch change imitone's note.

The key is in the way people hear music:  We have a much better sense for difference in pitch than for exact pitch.  Most of us can't sing a perfect "C" without some help, but we can usually get the distance between C and G right.  When we sing out of tune, Pitch Guide appears as a white fork, and adjusts imitone's "guess" until it matches up with the scale we've set.  It carries over between notes, so that the movement (C-G) will be the same in our song.  This way imitone can understand what we're trying to sing, even if it's out of tune.

On the right, pitch guide kicks in and saves the day.
On the right, pitch guide kicks in and saves the day.

Highly skilled singers may not need pitch guide, but most of us will want to leave it on at all times when making music.  The effect is subtle, but important:  It makes it less of a problem to drift out of tune, which can happen easily when we can't hear our own voice.  It also makes imitone work automatically with unusual tunings.

Instrument Presets

As we add settings to imitone, it gets harder to understand what they all do.  Presets help by providing suggested settings for controlling different groups of instruments.

Daah!  A piano's energy comes from the beginning of the note, and we usually don't want these notes to slide around.  The keys preset, also good for bells and xylophones, combines attack triggering with hold mode so that we can land notes one-by-one.

Haah!  A violin, on the other hand, has continuous energy, and can lilt from note to note without a break in the sound — so we use sustain and portamento mode, with vibrato control switched on for good measure.

Biddly-diddly-doo!  A saxophone can dance all over the scale, playing many brief notes in between longer ones.  For this we use imitone's old defaults — sustain and sweep.  This also works great for electric guitar.

We chose to give the presets vague names because they're just guidelines.  Some saxophone performances might sound better under the "synth" preset, while some synthesizers might play better with "keys".  "winds" and "strings" are pretty interchangeable.  So use them as a compass for understanding imitone, and experiment freely!

The Other Stuff

Keys up top!  Pretty rainbow lines!  New manual!  We've put some serious effort into making imitone look and feel nicer with this update.  The internal technology has learned new tricks that make it resistant to room echoes, smarter about pitch and volume, and far more flexible with CPU power.  "Quick-Bend" (hold the spacebar) lets you temporarily change the slide mode while performing.  Blues scales are delightful!  The change list goes on...

The one other addition that's worth special attention out is our new error reporting system.  When imitone crashes, or has a problem, you'll see a window like this:

If you see one of these, please hit send!  This way, we'll get a pile of technical information about the problem, along with an optional message from you.  Thanks to this tool and the users who sent us reports, we able to fix five major bugs with three patches in the first week after release and a fourth on the way.  (Developers:  Our report uploader, Tattle, is open-source.)

In summary: it's a really good update.

People are starting to put imitone to more serious use for making music, because it's more expressive and reliable than ever before.  It's starting to create the sense of proficiency I wrote about in 2014.  Seeing users succeed with 0.9 has me feeling comfortable with the idea of bringing it to a wider audience.  While it's likely there will be an 0.10 before release (good luck alphabetizing that), this is a big milestone in the journey toward our final product, and enabling more people to be musical.

The funny thing is, this update didn't really go according to plan.  Contrary to what I said in July, I've done very little new research for 0.9.  Instead, the process behind these improvements was a happy accident, born from a question that bothered me back then:  How much potential does the current technology have?

I'll be telling that story in another post, along with our plans for the next stage of development — but for now, go give the new imitone a spin; I think you'll be pleasantly surprised.  Don't hesitate to share your thoughts or questions via the in-app feedback button.

Have fun, learn things, make music.  :)
— Evan

imitone 0.8.2, Research and Accountability

26 likes

In this post I’ll discuss my challenges in demonstrating progress and choosing the right path foward as I work through research and development on imitone.

imitone 0.8.2

At 1:30 AM last Thursday, I quietly released imitone 0.8.2.  I did this from a bench outside a canoe rental store in the remote town of Bluffton, Iowa, on the night before a family trip. Both the trip and the update had been many months in the making—so I chose to wait until returning home to announce the changes.

You can update to imitone 0.8.2 here.
(Note: This version may be incompatible with Mac OS 10.5)

Version 0.8.2 will not, at first glance, look very different from 0.8.1.  Play for a few minutes, though, and you might see a substantial improvement in the feel of the software.  This is because, in addition to other enhancements, I’ve built the rough beginnings of a new stage in imitone’s pipeline, called the interpreter.  Think of it as imitone's musical intuition:  its job is to handle the tricky decisions involved in interpreting pitch into musical notes, which has long been the “weakest link” in imitone’s chain.  The one here is temporary—a stand-in for a much more powerful algorithm that has been at the center of my research efforts.  That algorithm, along with related changes in the pitch tracking system, will form the technology used in imitone 1.0.

In the four months following my last update, almost all of my working time was spent on this process of research and development.  I chose to do this in spite of my earlier announcement that a VST plugin was underway, for two reasons: First, VST is a standard for professional tools, and I did not judge the technology to be up to that level.  Second and more importantly, finishing imitone is going to require a rigorous schedule, and I cannot make one until I have a complete plan for the technology.  That will require research to be near-complete.

OH HELLO, I DIDN'T NOTICE YOU THERE
OH HELLO, I DIDN'T NOTICE YOU THERE

At this point I’ll stop to address the elephant in the room: The Kickstarter campaign was more than two years ago.  I’ve spent many months on research lately, with only a slow trickle of tangible progress.  I’ve logged long hours, built specialized tools and taken hundreds of pages of notes, but as far as my backers are concerned, these are invisible. For all they know, I could be living in comfort on their pledges, doing scarcely any work at all—and as time has gone by, some have voiced their concerns.

I have strong feelings about my professional integrity, and lately this problem has weighed heavy on my mind.  As crowdfunding gets bigger, we see more glaring examples of irresponsible, shady or outright fraudulent behavior on the part of project creators—this damages the reputation of crowdfunding as a whole.  On a more personal level, let’s not forget that I myself have the disgrace of a failed project.

In trying to show diligence, I’ve issued a few dozen prompt refunds over the course of the project, each time asking my unsatisfied customers to let me know how I could do better.  I’ve put best efforts toward technical support, endeavoring to respond to each request within a few days and rethinking my system when I have fallen behind.  And, more than anything, I’ve worked long and hard on the technology, with careful efforts toward making sure my work doesn’t become sloppy or deviate from the long-term vision.

When it comes down to it, though, none of these are the best ways to assure my backers I’m fulfilling my promises—and that assurance is my responsibility as a project creator.  To earn that, I need to show you proof of progress, and transparency about my process.

Proof of Progress

To make a gesture of good faith and avoid a repeat of last year’s awful nine-month lull, I put a hold on research to build last week's update.  My goal was to pick the "low-hanging fruit" from my research and make short-term improvements.  I initially expected to complete this two weeks earlier, but because one of the new technologies I tried to add was not ready, the differences (aside from a big reduction in CPU usage) were not as obvious as I hoped: For tracking, it was two steps forward and one step back.  For this reason I decided to hold back the immature CPU-saving technology and build a basic interpreter instead.  This time-consuming job, which was originally planned for a future update, paid off—and the update exceeded my modest expectations.

This takes a little pressure off, but I don’t expect that sensation to last long! Whenever I’m building an update, I’m always worried it will be too small or seem like a step backward.  (This was definitely the case with 0.8.2!) Whenever I actually put one out, though, I feel the opposite:  That I should be making smaller, more frequent updates in order to get more feedback and appear more active.  In the approach to completing imitone, I’d like to adopt the small-update strategy, but for now there’s a big problem stopping me.

Process Transparency

Research is a strange process.  I’ve written about it before, but I know more now than I did then.  And here’s what I’ve learned: It’s the process of discovering new things and making absolutely sure I understand them.  It's almost impossible to predict how long these discoveries will take, so I can't schedule around them.  The best I can do is to make the process as efficient as I can.

I can’t speak for others, but to do good research and make progress, I need to dedicate as much of my time and energy to it as possible.  I need to become obsessive, leaving part of myself at work at all times.  When I’m in that mode I fall asleep slowly, lingering on the problems I face.  I wake up in the morning realizing the technical terms I’ve invented the day before have been repeated over and over in my dreams.  I make breakthroughs when showering or brushing my teeth, and feel the rush of exhilaration (or disappointment) when I put these ideas to the test.  I spend hours or days trying to codify, expand and generalize the theory behind them.  This is science.

Once, I fumbled in the dark.
Now I can find my way to the lightswitch, but it takes everything I have.

…Flowery language aside, I’ve learned that I make the most progress when I work like this for weeks or months at a time.  It’s a completely different process than the creative programming that led to the original imitone—more time-consuming but far more insightful.  And, as discussed above, the mysteries need solving before I can fulfill my promise.

This leads us to the present: Before developing this update, I spent months working on imitone without touching the code once.* When I returned, I took a few of my smallest and most complete discoveries and quickly turned them into improvements.  With the fruits of my study, it was surprisingly easy to make that happen.  Imagine what I could do with a complete blueprint.

Priorities

I know that some of my supporters and observers are deeply frustrated by my choice of priorities.  My most vocal critics seem to be those experienced in music technology, and overwhelmingly demand the VST port that will allow them to integrate what I’ve built into their workflow.  Many of these musicians have been around for a while; they’ve seen other audio-to-MIDI systems in years past, and they see in my project an improvement over those.  In that light, nothing about what they’ve asked of me is unreasonable.

But I’m not looking to improve on the broken promises of past technology—I’m looking to invent something completely new.  I set out, years ago, with the dream of building a tool that could give the feeling of musical ability to someone taking their first steps into it. Something that would work like magic.  I’ve been chasing that star for years, and more than ever before I feel like I know what I’m doing.

Now, the grand design is taking shape: It will lower the floor, raise the ceiling and, perhaps, finally solve this laughably simple problem to which I’ve dedicated years of my life.  And when I achieve that, it will be clear that each stage of the work in progress was just an imitation of the work itself.

The Way Ahead

From here, I believe I see the most effective path forward—but it could be dangerous if I don’t have the confidence of my supporters.  I cannot say for sure, but I believe most of the research is done: I have a detailed plan for the backbone of the final technology, but filling in the gaps requires me to solve a few more problems.  I want to dedicate as much of my time as possible to completing it.  Again, I can't predict how long that will take; it could be one month as easily as five.  My blind guess is about two.

When I do finish research, I’ll be able to make the kind of rapid progress I’ve made with 0.8.2—but on a much larger scale.  In addition, I’ll be able to transition completely to a software development mode, making tech improvements in tandem with long-demanded ports and features.  Continuous work in that area should build momentum and yield frequent updates.  imitone is, after all, a relatively small piece of software—it's the technology that takes time.

I’ll be taking some time now to plan my next steps** and do some long-overdue housekeeping on the website.  While I’m not asking your permission to go ahead with the next stage of research, I want to hear your thoughts about it.  I’m also open to feedback about the latest update.  I realize my vision for imitone is only one of many hopes people have for the project, and I couldn’t have come this far without your support.

So ask, comment, request, disagree, criticize; you have nothing to apologize for and neither do I.

And now, it’s time to get back to work.
— Evan

---------------------------------------------

* One exciting discovery I’ve made is a new way to perform statistical measurements on filtered signals, which has applications beyond imitone in the field of digital and analog signal processing.  I may investigate publishing it as open-access research.  To fully generalize the technique, though, I need to solve a complicated frequency-domain integral using computational algebra software. I may hire a mathematician to assist with this work.

** In case you’re curious about the status of my other project, SoundSelf, it is approaching completion but has demanded only a few weeks of my time since February.  In the near future I’ll be fulfilling a few final technical needs, some of which overlap with optimizing imitone and building the VST/AU port. I expect shipping that project to involve about 4 more weeks of work on my end, which I’ll schedule thoughtfully.

*** Poison oak is not fun.  If you find yourself running through poison ivy or poison oak, wash your skin with soap and water within five to ten minutes.  Owww.

0.8.1, The Floor and The Ceiling

22 likes

Time passes, progress is made.

imitone 0.8.1 is now available, and introduces a major feature:  hard triggering, which listens for "attacking" (sudden) sounds, like "dah", and makes playing various attacking instruments -- guitar, piano, mallets, or anything that begins with a "bang" -- much more natural.  When power control is used with hard triggering, the initial loudness of the note is used.

Useful settings for playing piano with imitone's new Trigger Mode. The note's attack power appears as a spot on the volume bar.
Useful settings for playing piano with imitone's new Trigger Mode. The note's attack power appears as a spot on the volume bar.

In addition:

  • The vibrato stabilizer is greatly improved.
  • There is a new note mode called "Lock", which prevents all sliding.
  • Pitch tracking has been further improved.
  • CPU usage is reduced by about 33%.

Lastly, imitone now automatically detects certain problems which might make it work poorly, displaying warnings and guidance when these happen.  The most common of these messages, "unclear tone", will appear when your voice is difficult to understand.  It helps you to develop a singing technique for playing imitone.

Here, I'm slipping into "vocal fry", making my tone unclear.
Here, I'm slipping into "vocal fry", making my tone unclear.

This is something I had mixed feelings about:  I've done a lot of work engineering imitone to track most types of vocal sound, in the hopes of making technique unnecessary.  At the same time, I want to make tool that can be learned and mastered.  As it turns out, this tension is well-understood in the world of music.

"The Floor"

This is a term I learned recently, which some musicians use to describe how difficult it is to play an instrument at a basic level.  Consider a piano and a violin:  to play a few notes on the piano, we need only to press the right keys.  But to play those notes on the violin, we need to hold the bow just right, with our fingers pressed against precise, un-marked locations on the neck -- or we could get a horrible, out-of-tune sound.  Unsurprisingly, it takes much longer to get started with a violin than with a piano.

My goal with imitone is, in a sense, to create a new instrument:  one with the lowest floor possible.  An instrument which can be played by someone with no musical experience, and which can be learned so quickly that the player can comfortably improvise or compose after minutes or hours of practice (rather than weeks or months).

To create that instrument, we start with the voice.  We use this sound every day, and it comes naturally to us.  We think about what makes musical singing difficult -- control over pitch and timbre -- and we try to simplify them.  So far, I've worked to make imitone track the pitch of the singer's voice very quickly and accurately, regardless* of timbre.  This is only part of the solution, however:  Those of us who don't have excellent pitch control will struggle.

I realize that even perfect tracking won't fix this problem.  Some of the biggest challenges ahead involve tricky decisions about how notes are chosen as the actual pitch changes.  I described some of these in this update over a year ago, and I've had some interesting new ideas recently.  In any case, today's imitone is far too eager to slip from one pitch to another -- and the "easy" solutions tend to create other problems.

Brief variations in pitch can cause undesired notes to play.  Using a scale helps, but doesn't eliminate the problem.
Brief variations in pitch can cause undesired notes to play. Using a scale helps, but doesn't eliminate the problem.

Solving these problems, and creating a better "sense of control" generally, will be the focus of my work for version 0.8.2.  With these changes, I hope to lower imitone's "floor" substantially.

The Ceiling

This term describes the potential of an instrument in the hands of a player who has mastered it.  Let's compare the violin with the humble recorder.  The violin's nuances give it a high floor, as we discussed before, but also a very high ceiling -- the world's best violin players are famed as "virtuosos".  The recorder, by comparison, is an easy instrument to learn and its low floor makes it a popular tool for introducing children to music.  It is also considered to have a low ceiling due to its "toy" sound -- master players are fewer, and far less popular than great violinists.

The piano is an interesting example:  it has both a low floor and a high ceiling.  This is a rare and desirable quality, and it's one reason that pianos have, in spite of their great size, remained popular over the centuries.

I haven't given a lot of thought to imitone's ceiling, so far.  I've been focused on the floor:  any situation where imitone might misbehave in the hands of an amateur has been, in my eyes, a problem to be fixed.  (A violin-maker would think differently.)  It continues to surprise me when professional musicians -- especially those who are perfectly able to play a keyboard -- show a strong interest in what I'm doing.

It is my sincere hope that some will find imitone, use it to learn, and outgrow it.

That said, it is not my place to limit the potential of this technology.  Perhaps, though I set out to create something like a recorder, the end product might be closer to a piano.  I can't know until I've built it and put it in the hands of people who will explore its possibilities.  To that end, I'll be starting work this week on VST and AU plug-in support for imitone, to make it a more suitable tool for audio professionals.  I'm also eager to explore some new, advanced controls (timbre) which could allow skilled singers to "shape" instrument sounds more deeply.

Forward

Getting all this right is difficult.  The idea behind imitone -- controlling music with the voice -- is obvious.  Engineers and scientists far more knowledgeable than I have tried and failed to make it happen, often with the resources of huge companies behind them.  Others seem to have stopped halfway, calling their creations finished simply because they were better than what came before.

For one reason or another, working quietly in my small office in Iowa, I have come further.  Getting here has taken more work than I could have imagined, but I'm not going to stop halfway.  I'm working toward something that needs to exist, and I'll know it when I see it.

As I make my way there, your thoughts and feedback will keep me on track.  I couldn't have taken this path without support from thousands of early adopters, help identifying bugs, and detailed feedback from those of you who have shared your thoughts so far.  (You can contribute at the beta forum, as always.)

It has been a long road, but the tool we've been dreaming about is getting close.  I thank you for your patience, and I give you my assurance:  Something great lies around the corner.

-- Evan

imitone 0.8.0

32 likes

On Thursday night, I quietly released imitone 0.8.0.  Get it here.

As always, report any problems you run into at the forums or by commenting here.

 It is the culmination of several months of research and development, followed by many weeks spent reworking the internals and interface of the software.  The result is an imitone far superior to its predecessor in all regards.  While it isn't perfect yet, it's a big step toward the software I have dreamed of creating for years.

A summary of the major changes:

  • A completely overhauled pitch tracking engine, which achieves greater accuracy and lower latency than its predecessors and nearly eliminates the "note ghosting" effect.
  • A selection of two modes for pitch tracking:  faster or more reliable.  (Experimental)
  • The bend and glide switches have been consolidated into "note mode", which introduces a new Legato mode.  (This will be expanded later.)
  • A new automatic volume adjustment function which is much more intelligent and useful than its predecessor.
  • A first pass at a scale menu with a selection of useful scales and keys.
  • A first pass at note range configuration, offering vocal, whistle and combined ranges.  (Note that the choice of range affects CPU usage.)
  • The interface was re-designed and resized.
  • Various problems were fixed, with the largest related to remembering settings between runs and compatibility with foreign usernames on Windows.

...This has taken a little longer than planned, as I've been chasing down various bugs and implementing a few last-minute features (like the new auto-adjust) which generally make the program more usable.

There are a few known problems I'm still chasing down:

  • Fluttering:  An undesired behavior where imitone plays a brief note of the same pitch at the beginning or end of a tone.  This will be addressed in the next update.
  • CPU usage:  imitone 0.8.0 uses an experimental algorithm which has not yet been optimized.  The range option helps with this in the meantime.

(I expect this list to grow as the bug reports come in!)

-----

Thanks for bearing with me through these quiet months.  At the end of the Kickstarter campaign, I genuinely believed that imitone was near completion.  January showed me how far I still had to go, and the only way to get there was to buckle down and do the research for as long as it took.  I'm trying to create something that has never existed before, and it's not easy to do that on a schedule.  (But I'm learning.)

At this point the course is clear.  My research left me with several conclusions about how I could improve the technology even further, and at this point I can start laying down a schedule for the rest of development leading up to release.  I won't be pulling another vanishing act like this year's -- so expect steady improvements as we head towards 1.0.

As always, thanks for believing in this project.

Technical Perfection

41 likes

Last week, during a layover in a day-long bus trip, I decided to play my accordion outside a rural station.  A few of the other passengers came to stand and listen, including a single mother and her three children.

My accordion, named "Mitzie" by some previous owner.
My accordion, named "Mitzie" by some previous owner.

After my song, the eldest of the children eagerly described how he liked to play the keyboard.  His mother smiled and proudly recalled how the boy had learned to play "Smoke on the Water" on a guitar with half its strings missing.  I showed the children how the accordion worked, and let them press the buttons as I worked the bellows.

I was reminded of my own upbringing.  How I was fortunate to have parents who encouraged my creative explorations.  With a special fondness, I remember a treasured gift:  A 100-tone electronic keyboard, which fostered my early interest in music.

As the bus was boarding again, I found my luggage and retrieved two tin flutes -- simple instruments I've always liked.  As I passed the family on my way back to the seat, I handed one of them to the mother, as a gift to her curious children for after the trip.  "It's good to encourage their interests," I told her, smiling -- and she agreed.

That little gift might find its way to a pile, unused or broken.  Or, I fantasize, it might play some tiny role in the development of a person's creativity.  I'll never know.

"Not Good Enough"

I have been living under a rock.

Back in January, imitone was already better than any other tool at what it does.  But if nothing that came before was useful, what did that count for?  My work so far had resulted in an exciting idea, and a promising product -- but promise only goes so far.  As big a step as imitone 0.7.0 was, I continued to hear many stories from people who were excited when they learned about imitone, then disappointed when the beta fell short of their hopes.  Each one was a little failure.

My goal has not been to create something new, or better than what came before.  I have a purpose in mind for imitone -- an impact I want it to make on the world -- and I'm painfully aware that every version so far has failed to make the cut.

imitone 0.7 has had problems with "note ghosting".  In this image, the center and right notes are "ghosts" of the real ones on the left.
imitone 0.7 has had problems with "note ghosting". In this image, the center and right notes are "ghosts" of the real ones on the left.

Back in June, I said that development on imitone would be speeding up significantly -- that the time to follow would be a period of rapid progress, and to expect a steady stream of updates starting not long after. Then, for over three months, I went silent -- leading many to express concern about the state of the project.

To be clear: This has, in fact, been an incredibly productive time for imitone.  But not in the way that I expected.

Taking it Slow, Doing it Right

I've spent years learning to get things done.  To enter a "flow state" where thinking and working happen at the same time, allowing me to create at a rapid pace.  This was essential to the early development of imitone, which was a process of exploration, experimentation and imagination.  To put it bluntly...  I didn't really know what I was doing, other than trying to solve the problem differently than others had.  I was fumbling in the dark, beyond the beaten path, and after stumbling many times I grasped something special -- something I call Self-Attunement.

My first attempt to visualize what Self-Attunement "looks like".

Working in that space of endless, unknown possibility was an essential step to getting here.  In the months after January, however, I came to recognize just how clumsy my process was.  I created a new generation of the technology, which wasn't necessarily better than the one before, and I didn't fully understand why.  To achieve that understanding, and to make imitone better, I would need to work like a scientist -- to learn the formal theory of signal processing while developing a new theory for my own discoveries.

I would need to understand the meaning of everything I created.

I stress that because it meant I needed to slow down, and experiment purposefully.  No longer could I afford try new things just to see what would happen.  Every formula, every measurement, everything had to happen for a reason that fit into the theory.  And goodness, did that slow things down.  Over those months, I took hundreds of pages of notes, built several new research tools and tested the system with a collection of extremely difficult sounds.

Visualizing what happens in a split second as imitone locks onto a sound.
Visualizing what happens in a split second as imitone locks onto a sound.

The scheduling system mentioned in my last update was not very useful for R&D, because it's hard to predict how long it will take to solve a mystery, or what kinds of new problems will arise during the investigation.  Previously, I have dealt with these unknowns by doing research under time pressure:  The tracking improvements in imitone 0.6 were the result of about seven working days of research and development, in preparation for A3E 2014.  imitone 0.7 was about ten days, in preparation for NAMM 2015.  The latest update was developed without a hard deadline, and will be the result of over sixty days of intensive R&D.

What's Coming

It will look something like this.
It will look something like this.

imitone 0.8 is a massive improvement over the technology of its predecessors, tracking more quickly and accurately than any previous version.  It also isn't the end of the line -- my research indicates there is even more room for improvement.  It's tempting to keep living under my rock until I've achieved technical perfection, especially when it seems so close.  But it is within my power now to live up to the expectations of some who have been disappointed so far.

I'm setting aside this week to get version 0.8 out the door, and most likely it will be released by this weekend.  Failing that, it will become available in the first week of November.  In addition to technology improvements, the update will introduce new tracking modes which make imitone more suitable for "attack" instruments like guitars and pianos.  Automatic scale detection will be saved for a later update in order to ensure this one gets done on time.

I really can't say with confidence when my work will be done, but progress will be steady until then.  There is a bar my technology will need to cross before I can call it finished, and I feel as if it's 80% of the way there, now.  There's also a lot of work to be done completing, marketing and supporting this little application.

In the end, the hope I have for imitone is very much like the hope I had for that tin flute.  If I work hard and persevere, I can make something that fosters the creativity of countless people who might never have experienced the joy of instruments otherwise.

I thank you all for your support so far.