GithubHelp home page GithubHelp logo

bubobubobubobubo / bubodirt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from musikinformatik/superdirt

0.0 0.0 0.0 7.86 MB

Live Coding Audio Engine (with some personal additions)

License: GNU General Public License v2.0

SuperCollider 100.00%

bubodirt's Introduction

BuboDirt: SuperDirt for BuboBubo

This is a slightly modified version of SuperDirt. This is the setup I use to play with Sardine. The documentation for the original SuperDirt still applies. I'm just adding synthesizers, effects and so on when the need arises.

Table of Contents

Dependencies

There are a few optional dependencies that you might need to run this fork:

  • MIUgens : port of Mutable Instruments Eurorack modules for SuperCollider
  • PortedPlugins: An awesome collection from Mads Kjeldgaard of various UGens ported to SuperCollider

Additions

Base Width Filter

Simulates the secondary filter found on the Elektron Digitakt. Can act as a first filter to clean a part of the spectrum before applying other effects. This filter is always active.

Parameters

  • base: (in hertz) Adjusts the base frequency for the filter. Anything below is high-passed.
  • width: (in hertz) Anything above base + width will be low-passed.

Example

d1 $ sound "bd sn" # base 200 # width 500

Filter Envelope Parameters

Overview

Filter envelopes dynamically shape the sound by modulating the filter's cutoff frequency over time. This mechanism utilizes three key parameters: fattack, fdecay, and sweep.

Parameters

  • fattack (Attack Time)

    • Range: Seconds.
    • Controls how quickly the filter reaches its maximum effect level. Shorter values result in a more immediate impact, while longer values allow for a gradual build-up.
  • fdecay (Decay Time)

    • Range: Seconds.
    • Determines the time taken for the filter effect to diminish after peaking. Shorter decay times lead to a rapid return to the baseline, whereas longer times extend the effect's presence.
  • sweep (Frequency Modulation Range)

    • Range: -1 to 1.
    • Dictates the extent and direction of the cutoff frequency modulation. Positive values raise the frequency, negative values lower it, and zero indicates no modulation.

Example

d1 $ sound "bd*4" # lpf 500 # resonance 0.5 # fattack 0.05 # fdecay 0.2 # sweep 0.5

This applies an LPF filter, where the cutoff frequency quickly ramps up to the effect level and then gradually falls back, with a noticeable sweep in the cutoff frequency.

Vadim Filters

These filters leverage the Vadim Filters from PortedPlugins.

Vadim LPF 2-pole and 4-pole (vlpf2, vlpf4)

These filters attenuate frequencies above a certain cutoff frequency, allowing lower frequencies to pass through. The 2-pole version offers a gentler slope compared to the 4-pole version, which provides a steeper cutoff.

Note that the freq parameter should be replaced by the filter name (e.g vlpf2, vlpf4, etc). This applies for all new filters.

Parameters:

  • freq: Cutoff frequency (in Hz). Determines the frequency above which the signal will be attenuated.
  • resonance: Controls the resonance (or Q factor) at the cutoff frequency. Range: 0.0 to 1.0.
  • sweep: Modulates the cutoff frequency over time, based on the fattack and fdecay envelope.
  • fattack: Attack time (in seconds) for the frequency modulation envelope.
  • fdecay: Decay time (in seconds) for the frequency modulation envelope.

Vadim BPF 2-pole and 4-pole (vbpf2, vbpf4)

Same parameters, but this filter type is a band-pass filter, which allows frequencies within a certain range to pass through.

Vadim HPF 2-pole and 4-pole (vhpf2, vhpf4)

Same parameters, but this filter type is a high-pass filter, which attenuates frequencies below a certain cutoff frequency.

Example

To use these filters in your TidalCycles setup, you must specify the desired filter and its parameters in your TidalCycles code. For example, to apply a Vadim LPF 2-pole filter with a cutoff frequency of 500 Hz and a resonance of 0.8, you would write:

d1 $ sound "bd sn" # vlpf2 500 # resonance 0.8

Analog Tape Module

Overview

Simulates analog tape characteristics including warmth, saturation, and dynamic compression.

Parameters

  • bias: (0.0 to 1.0) Adjusts tape bias, affecting frequency response and distortion.
  • tape: (0.0 to 1.0+) Controls tape saturation level for harmonic distortion.
  • tapeDrive: (0.0 to 1.0+) Sets tape drive, influencing dynamic compression and distortion.
  • oversample: (0 to 4) Determines oversampling level (0 = None, 4 = x16) for quality enhancement.

Example

d1 $ sound "bd sn" # tape 0.7 # tapeDrive 0.8 # bias 0.5 # oversample 1

This applies analog tape effects with moderate saturation and drive, a balanced bias setting, and basic oversampling.

Integration of Mutable Instruments Effects and Synthesizers

Synthesizers

Some synth definitions taken from here.

MiVerb Module

Overview

Adds a lush, modulated reverb effect to the audio signal, simulating various environments from small rooms to vast spaces.

Parameters

  • miroom: (0.0 to 1.0) Controls the reverb time, from short to long reverberation.
  • misize: (0.0 to 1.0) Adjusts the size of the simulated space.
  • midry: (0.0 to 1.0) Balances between the dry and wet signal.
  • midamp: (0.0 to 1.0) Sets the damping amount, affecting high frequency rolloff.
  • mihp: (0.0 to 1.0) Controls the high-pass filter frequency in the reverb's feedback path.
  • mifreeze: (0 or 1) Freezes the reverb for an infinite sustain effect.
  • midiff: (0.0 to 1.0) Adjusts the diffusion amount, influencing the smoothness of the reverb tail.

Usage Example

d1 $ s "drum*4" # miroom 0.5 # misize 0.1 # midry 0.5 # midamp 0.5 # mihp 0.05 # mifreeze 0 # midiff 0.625

This applies MiVerb with moderate room size and reverb time, balanced dry/wet mix, and some damping and diffusion.

bubodirt's People

Contributors

ahihi avatar bgold-cosmos avatar bubobubobubobubo avatar calumgunn avatar dktr0 avatar f00b455 avatar fracnesco avatar geikha avatar john-d-murphy avatar juniorctl avatar loopier avatar madskjeldgaard avatar msp avatar ndr-brt avatar pd3v avatar telephon avatar theoleanse avatar thgrund avatar wimmers avatar yaxu avatar zalastax avatar

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.