Spectrogram of swelling trumpet sound
Art+Logic’s Incubator project has made a lot of progress. In a previous post I mentioned that Dr. Scott Hawley’s technique to classify audio involved converting audio to an image and using a Convolutional Neural Network (CNN) to classify the audio based on this image. That image is a spectrogram. I’m going to go into some detail about what we do to create one, and why to the best of my ability.
Next week (18-20 November) I’ll be attending the annual Audio Developer Conference in London. On Tuesday November 19th at 16:00 I’ll be part of a team providing the first public details about the forthcoming MIDI 2.0 standard.
The ADC is usually live-streamed on YouTube as it happens, an unfortunate series of events have endangered that this year — you can learn more about that and consider contributing to the fund that will pay for the recording and livestreaming of conference sessions—I frequently return to the archived videos and point other developers to them for reference.
Check the JUCE YouTube channel for the streams during the event (and come back later for archived recordings, or watch sessions from earlier years).
The full schedule for the event is here.
If you’re attending the event, please do track me down and say ‘hey’.
There are a few events coming up in the next few weeks where A+L will have people in attendance. If you’re going to be there or nearby, please get in touch and we’ll meet up.
Computers have been around for less than 100 years. In that short period of time, some incredible things have happened: they’ve been universally adopted so quickly that we have them in our houses. In our cars. Even in our pockets. In the last 40 years, there have been many significant events when it comes to computers:
- Continuous decrease in size and increase in power.
- Access to computing at home and at work.
- Networking, the spread of the internet, and acceptance of the web.
- Computers in our hands (cell phones).
Similarly to those past events, an important development in computer science which has the potential to significantly impact the way we develop applications is machine learning and artificial neural networks.
The RESTful API has a funny place in the software development world: it’s widely regarded as the best general-purpose pattern for building web application APIs, and yet it’s also nebulous enough of a concept to cause endless disagreements within teams over exactly how to implement one.
Do I make my endpoint
/companies/123/? How about
/locations/?company=123 ? How do I handle versioning the API? Why shouldn’t I send a POST request to trigger an action on the server? If a backend task can take many seconds to process, how do I represent that in the API?
friz—a Flexible Animation Controller for JUCE
As is often the case, I found myself working on a personal project and had some UI elements that really wanted to have some life to them on the screen.
I tucked into the JUCE documentation expecting to see something that I could use to easily add some personality to the interface, and…didn’t find what I was looking for. There’s a
ComponentAnimator class that supports moving a single component from one set of coordinates/bounds to another linearly, and also modify the component’s alpha value to have it fade in or out.
I was looking for something…more expressive.
Recently, I had to re-educate my garage door opener. Our house on a hill in San Francisco occasionally settles, and the door is experiencing different stresses than it did 5 years ago when I installed a new opener. So I had to re-teach it how to open and close the door.
It sounds so pleasant — a sky of golden rays flanked by purples and reds and oranges. The end of the day.
Or, for software developers, the end of life of a technology or version of that technology that can, depending on the prevalence of the technology, invoke feelings of concern, dread, or even near-panic.
As you can see on the Art+Logic website, our slogan is
Coding the “impossible.”®
This refers to the fact that in many cases, clients have come to Art+Logic with a problem that they were told was “impossible” to solve, and we delivered. This is an honest claim. It does not mean that we code what we believe to be impossible. This would be a dishonest claim.
At some custom software firms, it is their primary goal to make a sale—any sale—without concern for how the project will be accomplished. There are software salespeople who will promise the moon and stars in three months for a fixed cost of $10,000. In fairness to the developers at those firms, the salespeople do not involve them in the sales process, so they are usually the first to be surprised, long before the client is disappointed. Many software horror stories going back decades start in such ways.
For the past year or so, I’ve been working as one of a group of developers within the Protocol Working Group of the MIDI Manufacturers Association to create prototype tools and applications that implement the upcoming MIDI 2.0 specification as it’s worked its way through many drafts to the point where it’s now ready for the MMA and AMEI, their Japanese counterpart, to vote on its adoption as an official standard.
I’m looking forward to presenting more information on what’s new for musicians and developers in the new standard, both here on the A+L blog and out in the real world.