Coder Social home page Coder Social logo

weirddrums's Introduction

WeirdDrums Free

A free and open source little drum synth plugin inspired by the awesome Sonic Charge Microtonic, one of my favourite plugins. All sounds are synthesised in realtime - no samples used!

Screenshot

See a video demo here!

Audio examples (more to come!):

Binaries

Coming soon!

How to build

There are no external dependencies apart from the JUCE framework. You should be able to build the project using the usual JUCE/projucer workflow (i.e. open the .jucer files with the Projucer and take it from there).

At some point I will update this README with more detailed instructions. In the meanwhile, please feel free to drop me a line if you have trouble building.

Architecture / how to use

As in the original Mictoronic, the architecture is quite simple. We have essentially an oscillator section and a noise section, which gets mixed together and finally processed in the master section. In a bit more detail...

  • oscillator section: oscillator -> Attack-Decay (AD) envelope. Oscillator waveform can be sine, saw or square. If desired, the oscillator pitch can be modulated via a second AD envelope and/or an LFO. More modulation options may become available in future.

  • noise section: white noise generator -> filter -> AD envelope. The filter can be Low-Pass (LP), High-Pass (HP) or Band-Pass (BP) and its cutoff frequency and envelope are adjustable via the corresponding sliders. Later: more envelope shapes.

  • master section: here the oscillator and noise signal are mixed together (via the mix slider) and some effects and global level/pan are applied. Currently only distortion is available, but we may add more in future.

Finally we have to handy buttons:

  • the init button restores the patch to its initial value
  • the randomize button gives you a completely random sound (notice that all parameters are randomized except for the level, which is kept unchanged).

Faq

Why there is no step-sequencer? And why there aren't multiple "drum pads" like in most other drum instruments?

Yes - one instance of this plugin = 1 single drum sound, and there is no built-in step sequencer, meaning you need to use your DAW's piano roll or editor to input notes.

Here are some of the reasons for this:

  • OK let's be honest here, this started as a learning/practice project, so I wanted to keep it simple :-)

  • Although I'm a big fan of drum synth plugins, I pretty much never use their built-in step sequencer, but instead I rely on my DAW's editor. Related to that, I recently bought an Ableton Push2 meaning the drum sequencing workflow is heavily based on Drum Racks. With this setup an additional step sequencer just be redundant for me.

  • When working on my tracks I often find myself loading a Microtonic instance just to make a single sound (leaving 7 of the 8 pads unused). Or, perhaps, sometimes I only use 4 of the 8 pads, while some other times I may need 10/15/50 etc. With this approach you get more flexibility: just load as many instances as you want, and use and route them in any way you see fit. For example, I usually open up a Drum Rack in Ableton and add a bunch of LittleTeknoDrummer instances, then mix and match with samples and other instruments.

Having said that, a step sequencer sounds like a nice future addition and a great learning exercise ;)

What about presets?

WeirdDrums Free currently has no presets. Instead, we encourage you to experiment!! Suggested workflow: press the init button to reset the patch, then tweak the parameters until you got something you like - the layout is quite simple and everything fits in one page, so it shouldn't be too hard to keep track of things. For some crazyness, use the randomize button instead ๐Ÿ˜Š

Todo / Contributions

Contributions, feature requests, bug reports as well as general feedback and advice are very welcome!

Here are a few needed improvements that comes to mind...

  • envelopes are linear, but should be exponential (or, at least, offer the choice!)
  • dedicated envelope type for claps
  • global EQ
  • Optimize performance
  • .....

For more details, please take a look at the issues and feel free to open new ones is needed. Also, do not hesitate to send pull requests or drop me a line!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.