Skip to content

Latest commit

 

History

History
196 lines (130 loc) · 6.24 KB

File metadata and controls

196 lines (130 loc) · 6.24 KB

DECODED Banner

MiniTidal Audio Workshop 1-3 - Filters and Pitches (~1h)

Goals:

  • modify samples playback length and pitch
  • modify your sample sounds using filters/effects

Reference:

Setup Cells!

!presetview twocolumns

Choose MiniTidal from the language dropdown for both cells


note notation for more accurate pitch control

note can be used in the same way as n notation (and people often mix them up!), but rather than affecting which sample is used from the sample folder, note affects the pitch of the sample.

Let's introduce a new set of samples, ukulele by Thomas Grund - these are a set of ukulele notes tuned to concert C (ie all the same note) but played with different techniques, note length, vibrato etc. To prove this, let's start with our previous n pattern and see how it sounds

n "0 3 [4 5] [8 7]" # sound "ukulele"

Some different octaves, but all tuned to C - Let's change to note

note "0 3 [4 5] [8 7]" # sound "ukulele"

Note: the sample should be tuned to C to give predictable results with note

The numbers used correspond to the 12 tones of the Chromatic Scale used in Western Music

However, note can also be directed to work with various scales based on the 12 tone system

note (scale "major" "<[0 1 2 3] [4 5 6 7]>") # sound "ukulele"

In this case, each number corresponds to a degree of the major scale (counting from 0)

You can play multiple notes at a time using chords

note "[c'maj d'min e'min g'maj]" # sound "ukulele"

You can pattern chords

note "<[c'maj ~ d'min] e'min [~ g'maj]>" # sound "ukulele"

arp is a function for use with note to arpeggiate a chord - ie play the notes of a chord one after the other with a short gap between

note (arp "down" "<[c'maj7 ~ d4'min'ii] e4'min'6 [~ g'dom7'o]>") # sound "ukulele"

There are a variety of ways to arpeggiate chords, try some more!

arp divides the cycle by the number of notes in the chord which is why you hear some chords play a faster or slower series of notes.


Effective Effects!

Effects are filters that you can apply to your sound to change specific properties. They are applied after your code, using a # prefix

gain affects the loudness of the sound, from 0 (silent) to 1 (default sample volume) - you can go higher, use with caution!

sound "ukulele*2"
# gain "1 0.7"

pan controls which side of the stereo channel the sound goes to - 0 is hard left, 0.5 is the middle, 1 is hard right

sound "bd sd cb"
# pan "0 0.5 1"

vowel shapes the sound according to the vowel you choose...

sound "sd*20"
# vowel "a e i o u"

hcutoff and cutoff are high and low pass filters respectively, accepting parameters from 0 to 20000 (Hz)

sound "moog"
# hcutoff "<2000 1500 800 500 250 50>" -- only play frequencies above this value
# cut 1
sound "moog"
# cutoff "<200 500 1000 2000 5000>" -- only play frequencies below this value
# cut 1

delay, delaytime, and delayfeedback are all related parameters to a general delay effect

  • delay: wet/dry gain up to 1.0
  • delaytime: space between delay events, in units of cycles
  • delayfeedback: how much gain applies to each subsequent delay event (usually less than 1)
sound "jazz:5*2"
# delay 1
# delaytime "<0.125 0.25>"
# delayfeedback 0.7

Note: be careful with feedback numbers greater than 1!


Control your samples length... please!

By now, you will have noticed that not all samples are equal - some have a long playback (moog), some are short (bd, sd), everything in between and more!.

There are several tools we can make use of to control how long the samples play for - the simplest is

cut stops one sample playing when the next sample starts playing. Try the following example with and without the cut

note "0 4 7 10" #  s "moog"
-- # cut 1

begin and end control where in the sample playback should begin from, and end at. begin should always take a lower value than end (otherwise... ?)

note "0 4 7 10" #  s "moog"
# begin 0.02
# end 0.04

Note: certain samples may introduce little pops with this method


More speed (or less)!

There are a number of ways that speed can affect our sounds - let's break down some common speed adjustments

!setcps in the terminal chat - this controls the global estuary tempo, in cycles per second. By default this is set to 0.5 cps (which is equivalent to 120bpm for a 4/4 time signature), and due to it being an estuary setting, not a minitidal setting, is not patternable

Try playing a pattern and increasing the cps to 0.75 or 1.0

!setcps 0.75

speed is an effect that changes the playback speed of samples (and therefore the pitch) - standard playback speed is 1.0, try mixing it up

sound "sd*4"
# speed "1.0 1.5 0.5 -1"

...what is # speed "-1" doing?


Exercises:

  1. fast and slow are functions that can be used to play your pattern more times over a single cycle, or spread the pattern over more than one cycle - try them out!

  2. fast and slow can actually be used interchangeably - find a way to slow down your melody sequence using fast, and speed it up with slow

  3. Try writing a short 2 or 4 cycle melody using note and a sample(s) of your choice

  4. There are many more chord qualities available to use - explore!

  5. hurry is a function that combines both the fast and speed functions - can you prove this by creating two identical sounding patterns, one using hurry and the other using fast and speed together?

For Bonus Points

  1. Write a chord progression to accompany your melody from 2.

  2. Write a 4 cycle melody to accompany our chord progression from the note section

note "<[c4'maj'8 ~ d4'min'ii] e4'min'6 [~ g'maj]>" # sound "ukulele"