Making a Drum Sample player

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hey guys!

Been reading though all the info on here in relation to plug in programming and I must say, its impressive! A lot of helpful things I have come across. One thing that doesn't seem to have be directly touched upon is the creating of a sample playback engine. Think something like Steven Slate Drums, or Superior Drummer. Im trying to figure out a project for a drum library and custom sample player with a few people. But I'm not sure how to start going about it. I have already read through the sticks so I am aware of whats been discussed there, and I'm aware it relates. But I'm still kinda lost =/.

Any help is appreciated! I should note I am already familiar with C++ but I have never done anything like VST's or audio plug ins, etc.

Post

Hello,

Actually there was a discussion about creating a sampler some time a go. The take home message of that thread was that implementing a simple sample player can be simple, but if you want features usually seen on pro software it gets extremely difficult.

So let's assume you're creating a simple sample player that simply outputs some recorded audio clips in response to midi input. Good news! That's something you can do in an afternoon or in a few days most. Forget about VST and grab Juce or iPlug that have much of the tools included.

First you read your audio clips into buffers upon initialization, then you copy data from the buffers to the output buffers that the host delivers to your plugin's process method. Which buffers get copied to output is determined by the state of the midi input.

Adding stuff like envelopes, filters and level controls is relatively simple and to get started you can find all the needed information by searching this forum. But as soon as you want to do stuff like support multiple output sampling rates, play the same sample with different pitches or even just adjust the pitch, things start to get exponentially more complicated as you need to start dealing with resampling. There has been a lot of discussion about resampling here, and there are some free libaries you can use. IMHO resampling does most of the magic in sample players.

Good luck with your project and welcome to the forum!

Post

Thanks man! Thats actually pretty helpful! I will look in to resampling for sure!

Post

Plisken wrote:Thanks man! Thats actually pretty helpful! I will look in to resampling for sure!
Glad if i can help. This should be interesting http://www.kvraudio.com/forum/viewtopic ... 3&t=389711

Post Reply

Return to “DSP and Plugin Development”