The Evolution of Resonic

Many years, enduring frustration, collecting ideas, and building motivation ended up in designing and developing a new piece of software: The screenshots here document the creation process behind the Resonic project and its evolution over time, from the early stages to the latest version.

Resonic's Alpha Phase

This should give you a rough idea about the creation process behind Resonic, from its early stages to the end of its Alpha phase in January 2014.

October 2007

The idea for an audio browser had been in and out of my mind (and my sketch pad) since Y2K hit. Despite struggling with the usability of audio sequencing software for years, I first dropped the idea and instead started experimenting with dynamically adjusting audio to a room's live ambience, which ended up being a freelance job for some business.

Staring at the real-time analysis (see photo) made we want to revisit the original idea which involved a full-size waveform seekbar. At that point no one supported any of my ideas, or was even remotely interested in partnering up or financing it, even though the original idea involved a web-based system. About five years later Soundcloud popped up, and was quite successful.

I had to tick it off like many other ideas shoved aside by other people's lack of vision.

March 2011

One of the first Resonic UI sketches

March 2011

The first steps towards something that resembles an audio player.

March 2011

The basic idea of a big waveform display.

March 2011

A first level meter with exceedingly useless readings.

April 2011

More detailed waveform.

April 2011

Many things were experimental at this stage, trying to get a handle on waveform and visualization styles.
For example, this one's visualizing the notes in a piece of tracked music in an interesting but useless way. It obviously never made it into any public release.

April 2011

The waveform was constantly evolving as well, but dynamic detail was lacking.

May 2011

First design of classic Resonic waveform style.

May 2011

Improved solid waveform, and level meter.

June 2011

Visualizing note information from module music in Resonic Alpha.
Removed from Resonic Beta for the time being, but might reappear in the future.

June 2011

None of the ways of browsing folders on Windows were really satisfying, so it was clear that a folder browser with custom usability needed to be created from scratch.
I could not have imagined how much work and pain this would be causing in the future, but it was worth it ;)

October 2011

The first internal Alpha version, 0.1 build 300, even before the changelog started.

Waveforms were cached into separate .rspk files on disk. No analyzers were available, many basic Windows components were used for the interface. Back then Resonic played wav, mp3, aac, ape, flac, mpc, and wma. A very simple third-party library was used to read the metadata tags.

(Screenshot made on Windows 10)

October 2011

Only a week later, background scanning of metadata and an experimental automatic volume leveler, that never made it into any of the public versions.

Wavpack and ALAC support was added.

(Screenshot made on Windows 10)

December 2011

A basic preferences dialog was added, and a first version of the metadata database was being built.

While the database was released to the public and was part of the Alpha (starting with build 400), it was removed completely when Resonic left its Alpha phase in order to focus on the all-important foundations.
The database will return to Resonic now that its Beta phase is coming to an end.

(Screenshot made on Windows 10)

December 2011

The first splash screen, a very uninviting view.

January 2012

Overall progress, also with waveform performance. Even though this was very early on experimental pitch detection and distribution metering was taking shape. It was never released to the public.

The pitch meter will return as part of Resonic Pro.

(Screenshot made on Windows 10)

January 2012

Waveform improvements, a compact seek bar (not seen on screenshot), dimming, and lots of other features started to materialize.

(Screenshot made on Windows 10)

January 2012

The compact seek bar that has never made it into a release.

July 2012

Six months and a massive leap in development since January, a changelog now exists, but Resonic has not been released to the public yet.

This build contained a feature I called loudness-based fluid waveforms, smooth waveforms that visualize a portion of loudness in the audio signal, as well as a secondary RMS waveform.
This feature was shown to the public, but was never part of a release.

Waveforms were now cached in a single database file to not clutter the harddisk, and metadata was cached, but never used for search features because simply put the user interface components were really lacking.
One of the reasons why the search was not to be a thing for a long while after that.

(Screenshot made on Windows 10)

August 2012

Improvements could be seen on every front. Fluid waveforms were satisfying to look at.

December 2012

The first public alpha version, 0.1 build 500, "after a year of development", and after working non-stop through summer and fall to finally release it on December 12, 2012, at 12:12:12.

I did neither want to release it for the holidays nor did I want to delay it until the new year, which would have stretched out initial development more. It was a spontaneous decision to pick this release date to make it memorable somehow, and a year before that, I had a beer for my birthday on November 11, 2011, at 11:11:11, I was backpacking the Philippines.

A lot was stripped from this release to leave only the stable, fast and functioning parts, and focus the users on what this project wants to be.

Mouse wheel was being utilized for volume, the browser got faster, a new splash screen was added, as well as countless other things.

(Screenshot made on Windows 10)

December 2012

0.2 build 500 also came with its own setup, a tiny windowed installer based on NSIS, which was later ditched in favor of the ridiculously complicated Windows Installer and proper digital content signing for added security.

December 2012

Despite the very humble feature set in and looks of Resonic responses to the first public alpha were overwhelmingly good, and they have been until this very day with very few exceptions. People seemed to understand the need for a fast browser, some called it the Google Chrome of audio players even back then, which was beyond flattering.

I decided to work even harder and released the first chunky looking realtime analyzer as part of the update on December 24, 2012.

January 2013

The realtime analyzer's visual style and musical behavior had evolved rapidly over the holidays.

January 2013

Only about a month after Resonic's first public release, Alpha build 605 was released.

February 2013

Clean waveform styles were added in the following months.

March 2013

Wanting to make the Resonic waveform as detailed as possible while keeping it as fast as possible data reduction had to become more clever. I used the same audio files on various applications to make sure visual quality is at least on the same level, but ideally above.

April 2013

Major tweaks turned the user interface into what was to become classic Resonic Player for more than two years.

December 2013

Almost a year after the first public release, this is how the visualization and transport sections looked like in Resonic Player.

January 2014

The holidays were a productive time again and while getting closer to the final Alpha release planned for end of January Resonic saw big waveform and visualization improvements that should lead the project into its Beta phase.

January 2014

On January 22 the final Alpha version of Resonic was released: version 0.5.8a. Not knowing at the time how work-heavy the Beta phase would turn out to be, the project was ready to grow up, and this flyer should become its motto.

This ends the Alpha phase.

In the next instalment of Evolution of Resonic I'll tell you more about the Beta phase.


Resonic's Alpha Phase (Evolution)

The evolution of the Resonic project from its early ideas throughout the end of its Alpha phase.

Expect more information in the future, documenting the move from Alpha to Beta, and from Beta to latest version.