Reflective summary

This project has been an interesting challenge. We were purposely ambitious with our aspirations and pushed ourselves to try and create a product that we were proud of. I have gained several valuable skills throughout, covering each of the learning outcomes I wanted to achieve.

Beginning with market research really helped give an idea of what competing products offer, what customer base they are aiming for and highlighted gaps in the market. We noted that while there are a plethora of high-quality drum suites available, many of them such as Superior Drummer and Slate Drums cater to hi-fi productions. While these plugins contain samples recorded in some of the best studios in the world with world-class microphones and hardware, when trying to create a more lo-fi, gritty sound often found in punk, extreme metal and various other genres, it can feel out of place contrasting super polished high-quality drum recordings with the rest of the mix. One of the few competitors that offers something similar to what we wanted to create is Ugritone’s KVLT drums and while this serves a similar audience as our own, we wanted to make our own take on this. It would have been useful to conduct some primary customer research to inform our feature set, unfortunately, due to time constraints this was not achieved. We referred to various articles and forum discussions to gain an idea of peoples opinions of competitors as well as what features are desired, however creating a survey or offering up our Kontakt instrument for testing as an open beta would have been valuable in the development.

The most challenging aspect of the project was the creation of the Kontakt instrument itself. Recording the drums and editing the samples was relatively straightforward as I have previous experience recording drums and collating sample libraries. Importing the samples into Kontakt and assigning them to the keyboard was somewhat challenging as we had multi-sampled each instrument, meaning we had to assign velocity ranges to each sample on each instrument. This was time-consuming but not too difficult. The real challenge lay in the coding of the GUI. This required me to learn how to use Kontakt’s proprietary language, KSP, in order to create a working user interface. This by far was the hardest part of the project. With limited previous coding experience, there were many teething pains getting to grips with how KSP operated. In addition, being a very niche language, resources online were somewhat limited and much of what was available assumed a far higher level of knowledge than I possess. If I were to approach this again, time spent learning core concepts of scripting in general as well as practising with KSP before undertaking the project proper would have been immensely valuable.

Despite these difficulties, I feel I have gained a solid basic knowledge of how the backend of Kontakt operates and feel that with further practice and research I will be able to implement all our desired features. When planning our project we set out a large set of desired features we wanted to implement. When doing this we organised these by those we wished to have in a working proof of concept and those that would be reserved for future implementation. In hindsight, while this was good foresight of the complexity of development, it would have perhaps been pertinent to aim for an even more restricted feature set for our initial prototype. with further research, it became apparent that some of the key features we wanted such as assignable multi-channel outputs and individual bleed controls for each mic would be far more complex to implement than initially thought. To manage this we further limited our initial feature set to the absolute bare minimum. We created 4 separate groups: kick, snare, toms and cymbals which had volume faders assigned, allowing a basic mix to be created. In addition, we added a global reverb. In later versions, we would like to have reverb assignable to each individual track, but the current state allows the user to use the sample library in their DAW of choice with limited functionality.

With regards to difficulties I had during the coding process, it would have perhaps been better to use a different platform for our sample library like Max For Live. I have some familiarity with Max and the visual aspects of its workflow make it easier to organise the plugin. The main drawback to this and the reason we decided to use Kontakt is Max would make it Ableton exclusive and we wanted it to be useable by as many people as possible.

Project management skills were key to the success of this project and as a whole, I feel I was successful in the management of this. I booked the studio for recording well in advance, allowing us plenty of time to focus on the development side of the project. Working to a deadline meant that decisions had to be made in regards to what features we wished to keep. While this deadline meant we couldn’t submit a product with as much functionality as we had hoped I feel this experience has given me an important insight into the prioritisation of different aspects when undertaking a project as well as being analytical and using previous research to inform decisions that were made.

To conclude, I feel that while several challenges were presented to us during the course of this project I feel that we have been successful in what we set out to achieve. With a clear roadmap of future features and a solid base to work on, this project could potentially become a fully fleshed out drum suite with a wide range of user customisation. I will be continuing with the development of this as it will be a valuable resource for learning as well as an important professional skill. Additionally I feel the research and management skills I have gained will be immensely important going forward with my professional development.

Recording and Production

With Zac having successfully made a test library, we began the recording process. We used a 4 piece drum kit with a large variety of cymbals, both from the university cymbal pack and Zacs own. We decided this would give users a wider variety of options when tweaking the library (Fig. 1)

Figure 1. Final set-up of the drumkit.

 

 

We set up the kit in the main live room in studio 1, using a rug and dividers to prevent standing waves and unwanted resonances. The snare was close miced on the top and bottom using an Audix i5 and Shure SM57 respectively. For the toms we used an Audix D2 on the rack and a D6 on the floor tom, the kick was miced with a D4. We swapped the D4 and D6 from their standard recommended setup as we found the D6 lacked the attack we wanted for the kick and enhanced the power in the low end for the floor tom. We decided to close-mic the main high-hats to give the user more flexibility when placing them in the mix and used an Audix ADX51 small-diaphragm condenser. The ADX51 was well suited for this application as it has a maximum SPL of ≥132 dB as well as an emphasised top end response (see fig. 2). Lastly, we used a matched pair of AKG C414s as a stereo pair of room mics as well as a Neumann U87 as a mono ambient room mic. This combination was particularly useful as we desired a strong sense of space in the sample library creating the sense of natural drums.

Figure 2. Audix ADX51 frequency response chart. The emphasis on high mids and highs made this ideal for the Hi-hat close mic

Once set up we level checked each mic to ensure no clipping and sufficient headroom. Then each mic was routed through the desk into Ableton where we began tracking. For each individual drum or cymbal, we recorded several individual hits, starting with the most light to the hardest hits, ensuring we allowed the tails to ring out fully. While we recorded each individual element separately we recorded all the mics simultaneously. This allowed us to mix bleed from each track together giving a sense of cohesion and realness as well as allowing us to implement a bleed control function in the future.

 

GUI Development: Interactable objects

Following the research into skeuomorphism, I began designing knobs and sliders that allow the user to interact with the GUI. to do this is used a free software called Knobman. Knobman allows the easy design of knobs, sliders and faders by layering objects and animation steps. This makes the process considerably easier than creating them manually in photoshop and allows real-time preview of the animated knob.

With Knobman I prototyped several different knob and fader designs before settling on a select few. I tried to recreate real-world knobs used on audio hardware. I tried to create a grungy, raw feel to match the sound of our samples and really sell the idea of the sample library.

The knobs are output by knobman as a .PNG file as a column of each frame of animation the knob has. This can then be assigned to a GUI element in the Kontakt GUI editor.

Sliders can also be created in Knobman, by changing the type of animation of elements from rotating to vertical. Using this I designed a fader to be similar to those found on a mixing console.