If you haven’t tried it out yet, and you’re running Safari or Chrome on a Mac or PC, then head there now and prepare to be impressed by the Viktor NV-1. If you’re at work you can use your computer’s QWERTY keyboard to trigger the notes or an external MIDI controller…

Play this synth online now here:

http://nicroto.github.io/viktor/

If, like me, you get inspired when playing the NV-1 and want to route its audio into your DAW, then try setting up and using Soundflower.

Nikolay is constantly updating Viktor NV-1. Here’s the most recent changes:

Add: MIDI Input settings (you can now load several instances of the synth in different tabs and route different MIDI Input to each one, or even make groups)

Add: 20+ new patches, made by the community

Features artists like COOH, Flint Kids, Freqax, Equivalent, Timmo etc. have not only designed patches, but also are part of an advisory group helping out Nikolay: https://www.facebook.com/groups/412807722257763

Play Viktor NV-1 online: http://nicroto.github.io/viktor/ NV-1 on Github: https://github.com/nicroto/viktor

We caught up with Nikolay Tsenkov, the man behind Viktor NV-1 to find out more about his process of creating Viktor NV-1 and the challenges involved. If you're even mildly curious about how to create a browser based synth, or web audio in general, you'll likely find this interview a good read.

Interview: Nikolay Tsenkov

Nikolay Tsenkov, creator of Viktor NV-1

AskAudio: What made you want to create a browser-based synthesizer?

Nikolay Tsenkov: I love Music, I love the Web... And I didn’t know C++. :)

Ever since I got into using virtual instruments, I wanted to take a peek into the world of Digital Signal Processing, but it always seemed so far off - I had to learn C++, get a dozen books on DSP etc. So I never really took the time required.

In April, last year, I heard about this thing called Beep.js and it caught my attention. I started experimenting, reading and watching everything I could find on Synthesizers and basically became obsessed with them, so I started building what later became Viktor NV-1.

To be honest, the biggest "wow moment" for me, was discovering the beauty and power of Web Audio API. It was originally built by this amazing guy called Chris Rogers.

The biggest "wow moment" for me, was discovering the beauty and power of Web Audio API

Ask: Is NV-1 inspired by or based upon an existing synthesizer? If so how did you go about emulating it?

Nikolay: My primary source of inspiration for the interface was the Minimoog. And since I have never owned a synth, nor have I seen or played a Minimoog I got the user manuals and electronics schematics and started reading what connects to what, what are the ranges of different values and so on and here we are!

But I am not emulating the circuitry of the Minimoog. I’m just using "god-given” Web Audio components (with minor exceptions).

Ask: How long did it take you to create Victor NV-1?

Nikolay: The first release was done in 2 months. This included pretty much everything - sound pathway design, graphic design, implementation. I’ve done a lot of work since then which remains a bit transparent to the users, but it’s such a fun project I sometimes need to restrain myself from spending too much time on it.

An early version of the Viktor NV-1 interface.

Ask: I notice it works great in Safari and Chrome. What were the biggest challenges in making Viktor NV-1?

Nikolay: Well, it works great in Safari and Chrome. Firefox isn’t supported, yet. As for the challenges:

1. I didn’t know (almost) anything about synthesisers, MIDI and music theory.

2. Making something that sounds pleasant, feels right and is easy to use. (this probably is the biggest one).

The current version of the Viktor NV-1 interface.

I hope that some day I’ll be able to get the NV-1 (and any Web Audio project, really) into the DAW and let people easily record & produce with it.

Ask: What can you tell us about the future development of NV-1?

Nikolay: I’ve actually already used Viktor NV-1’s audio engine in a completely different project that has nothing to do with music - a mobile fitness app of mine, called Interval Push-Ups, runs the synth to play all of its sounds. So, I would want to see HTML5 games and other multi-media projects using it (after all it’s MIT licensed, as all open-source software should be), but there is work to be done to make that easier for developers.

Before anything else, I want to add an “Inspire me” type button to generate a (semi) random patch. I’ve been absolutely amazed by the complex sounds people were able to come up with, from this relatively simple set of parameters. I’ve also designed a new type of an envelope RSADSR (Reset Start ADSR), which is almost ready.

Last but not least, I hope that some day I’ll be able to get the NV-1 (and any Web Audio project, really) into the DAW and let people easily record & produce with it.

There is this trend of bringing desktop audio projects to the web, which is nice and all, but I find it absolutely mind-boggling that none of this effort is spent in the opposite direction… Web Audio performs amazingly well by any standard for audio processing, it’s fine-tuned for almost any relevant hardware out there, being it desktop or mobile, and making UI in the Web compared to the C++ alternative… is a breeze. I hope some of the big players on this field (cough, Google, cough) will invest time & effort into it and allow creative people of all backgrounds to get the chance and build usable audio software.