Quantcast
Channel: EarSketch » Reference
Viewing all 12 articles
Browse latest View live

Reference: Case Study #3: Panning I

$
0
0

“Left and Right Stereo”

The “Pan” effect directs the sound to the “Left” or “Right” speakers in a stereo system. Sweeping music from the left side to the right or from the right side to the left gives the listener a strong sense of space as they perceive the sound coming from different directions.

The following example shows two tracks panning back and forth, starting from opposite sides.
The bass track pans from left to right then back again to the left, while the drum track pans from right to left then back again to the right:

The following code generates the example:

# Pan Demonstration

from earsketch import *

init()
setTempo(140)

bass = TECHNO_ACIDBASS_005
drums = DUBSTEP_DRUMLOOP_MAIN_007

fitMedia(bass, 1, 1, 9)
fitMedia(drums, 2, 1, 9)

start = 1
end = 5
leftside = -100
rightside = 100

setEffect(1, PAN, LEFT_RIGHT, leftside, start, rightside, end)
setEffect(2, PAN, LEFT_RIGHT, rightside, start, leftside, end)

start = 5
end = 9

setEffect(1, PAN, LEFT_RIGHT, rightside, start, leftside, end)
setEffect(2, PAN, LEFT_RIGHT, leftside, start, rightside, end)

finish()

Note the use of variables in lines 14 to 17 to define the start, end, left, and right sides.


Reference: Case Study #2: Distortion

$
0
0

Guitar Distortion

Guitarists use a foot pedal to control the distortion level in real time during performance. We can simulate this with EarSketch by using a for loop to increase and decrease distortion over a given segment of the measure. Consider the following sample:

Here, a guitar player emphasizes beats 1 and 1.375 with an increase in distortion. The slope up and down of the “peaks” indicate where the pedal is pressed and released.

Using EarSketch, the following code generates the above example:

# Guitar Distortion

from earsketch import *

init()

fitMedia(HIPHOP_MUTED_GUITAR_003, 1, 1, 9)

distortionValues = [0, 40]
distortionString = "1+-0+-1-0+++++-"

for measure in range(1, 9):
 rhythmEffects(1, DISTORTION, DISTO_GAIN, distortionValues, measure, distortionString )

finish()

Reference: Case Study #1: Volume

$
0
0

Crescendo and Decrescendo with a Keyboard

Crescendo is the musical term for increasing volume (amplitude) over time. Decrescendo means to decrease volume (amplitude) over time. Keyboard players often use a volume pedal to control the intensity of the sound while playing. This example shows a keyboard increasing and decreasing volume over 8 measures:

The following code generates this example:

# Keyboard Volume

from earsketch import *

init()

keyboard = TECHNO_ACIDBASS_006

fitMedia(keyboard, 1, 1, 9)

# Crescendo - Volume Pedal pressed
setEffect(1, VOLUME, GAIN, -30, 1, 5, 5)

#Decrescendo - Volume Pedal released
setEffect(1, VOLUME, GAIN, 5, 5, -30, 9)

finish()

Note about the Volume Effect:

The parameters for the Volume Effect range from -60 to 12 with 0 being “unity” or standard volume. Why do we use this scale? Examine this image of a slider from a mixer:

The numbers indicate a logarithmic scale that increases the order of magnitude as the sound grows stronger. This measures decibels which is the same as the richter scale for earthquakes. That is why “0 dB” represents the “center” for volume. The “0 dB” value indicates that there is no change in volume from the original track. Positive numbers increase the volume, while negative numbers decrease the volume. Note that for every increase by “10 dB”, the loudness of the sound is doubled. Values between -30 and about 5 work best for the volume effect. Note that a value of -60 means silence.

Reference: Python Reference

$
0
0

External Help

Official Python Tutorials: These tutorials contain many useful explanations and examples to help you learn to code in Python.

What is Programming?

Programming is the process of writing instructions that a computer uses to perform tasks. These instructions are written in a very specific format called code. When a programmer writes a program in code, the computer executes the code one line at a time until it reaches the end. With good programming skills and knowledge, you can write code that can create almost anything imaginable.

Computers can only understand problems in a very specific way. In order to produce a program that a computer will be able to understand and run, a problem needs to be broken down into many small steps. In turn, these steps must be written in code of the appropriate language and in the explicit order in which the computer should complete them.

There are many different types of programming languages that consist of particular and unique terms, phrases and conventions. The set of rules that define the combination of symbols that are used within a certain language is called that language’s syntax. Every language, including English, has a different syntax and, therefore, must be written differently to accomplish correct form. For example, in English, we capitalize proper nouns and add punctuation to the ends of our sentences as a part of the syntax of the language. There are different and specific syntax rules for all of the different types of programming languages. Some of the most popular programming languages used today are Java, Python, and C.

Programming Terms

Boolean
A variable data type that stores a value that is either True or False
Commenting
Comments are sections of code that the computer does not execute. These sections are made for the programmer to explain portions of code in order to make his or her program more readable to himself or herself and to other people. In Python, comments are denoted with #. Any text after a# is considered to be a comment. Multi-line comments act the same way as single line comments, but must have three single quote marks at the beginning and end of the comment.Example:
# This is a comment

'''
this is a multi-line comment
it extends across multiple lines
'''
Conditional
A type of statement that checks to see if an argument is True or False before executing some amount of code. Types of conditionals are if-statements, elif-statements and else-statements. For example,
if x < 0:
	println “Negative.”
elif x == 0:
	println  “Neither positive nor negative”
else:
	println “Positive.”

This code reads as: if the variable x (defined elsewhere in code) is less than zero, print negative, however, if the parameter x equals zero, it is neither positive nor negative. Otherwise, x is positive.

Dictionary
A collection of key-value pairs that maps from keys to values.Example:
{‘hello’ : ‘hola’, ‘goodbye’ : ‘adios’}

hello and goodbye are keys whereas hola and adios are values.

Float
A Python data type that stores floating-point numbers. Floating-point numbers have decimal components.Examples:
0.5, 2.0, 6.67
Function
A named sequence of statements that performs some useful operation. Functions may or may not take in parameters. Each call you make to the EarSketch API is called a function call. This calls for the code that defines that function to execute.
#defining a function
def myFunction(string):
	println(string)

#calling a function
myFunction("hello world")

#the result is that 'hello world' gets printed to the Reaper console
Import
A statement which permits functions and variable defined in a Python script to be brought into the environment of another script. For instance, we use the EarSketch API and, therefore, we must import that script into each project in the following way:

from earsketch import *

Index
An integer variable or value that indicates an element of a list. The first element of a list has an index of zero.

# an example list of colors
list = ["red", "blue", "green", "yellow"]

#call the value at index 2
list[2]

'green'

#assign a new value to index 2
list[2] = "orange"

#print index 2 again
list[2]

'orange'
int
A Python data type that holds positive and negative whole numbers.Examples

5, -50, 5834

Keyword
A reserved word that is used by Python to parse the program; you cannot use keywords as variable names. (A list of Python keywords are available after this section)
List
A named collection of objects, where each object is identified by an index. The items within a list can be of any data type (e.g. int, str, float).Example:
list = [1, 1.5, 2, 2.5, 3]
  • the value of list[0] is 1
  • the value of list[1] is 1.5
  • the value of list[4] is 3

After being created, it is possible to change elements of a list by reassigning the different indices to different values.

For example, if you have the list above, you could change the first element at index 0 in the following way:

list[0] = 5

Now the first element is no longer 1. It is 5.

Loop
A statement or group of statements that execute repeatedly until a terminating condition is satisfied. There are two types of loops: a for loop and a while loop.For loop:
for i in range(1,10):
	print “Hello”

The above code prints “Hello” once for each number in the range between 1 and 9. For loops are useful if there is a specific number of items that you wish to iterate over.

While loop:

while n > 0:
    print n
    n = n-1

The above code first checks to see if n is greater than zero. If this is True, n is printed and then decremented by 1. The loop continues to execute until the condition that n is greater than zero is False. While loops are useful if you do not have a specific set of items to iterate through.

In any situation, a for loop can be written as a while loop and vice versa. It is ultimately up to the programmer to choose which will work best for any given situation.

Parameter
A name used inside a function to refer to the value passed as an argument. For example, in the function setTempo(tempo), tempo is the parameter.
Range
The range function is a function that is built into Python. The key to using the range function is to remember that the beginning point is inclusive and the ending point is exclusive. By this, we mean that if you wish for a range of numbers between 1 and 10, the corresponding range function would be range(1,11). The 1 will be included (inclusive) and the 11 will be excluded (exclusive). An optional third parameter that can be passed into the range function signifies the step used. For instance, if you wanted your values to be only every third number in a range, you would add a 3 as the third parameter.Examples:
range(10) will be [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

range(10,15) will be [10, 11, 12, 13, 14]

range(0,10,2) will be [0, 2, 4, 6, 8]
return
The return keyword signals to the program that the end of a function has been reached. When a return statement is executed, the currently running function will terminate. The function can simply return with no output, or it can return a value.For example:
def add(x,y):
	result = x+y
	return result

The above code will return the sum of x and y.

str

A Python data type that holds characters. A character can be a letter, number, space, punctuation or symbol.Examples:
myString = “This is a string!”
myOtherString = “$tring...”
tuple
A data type that contains a set of elements of any type, like a list.

Python Keywords

These are terms that are reserved by the Python interpreter. This means that they can’t be used as variable or function names in your script, because Python expects them to mean particular things already.

and as assert class break continue
def del elif else except exec
finally for from global if import
in is lambda not or pass
print raise return try while with
yield

Python Operators and Boolean Expressions

x + y The sum of x and y
x – y The difference of x and y
x * y The product of x and y
x / y The quotient of x and y
x % y The remainder of x / y
x ** y x to the power of y
< Less than
<= Less than or equal
> Greater than
>= Greater than or equal
== Equal
!= Not equal

Reference: EarSketch API

Every Ugen Explained in Detail

$
0
0

This page documents all the available Unit Generators in EarSketch. If a Unit Generator has possible parameters, its units and  ideal value ranges are in parenthesis next to the parameter. For example, frequency is measure in Hertz (Hz), and the ideal values for audio are between 0.0 and 22000.0 Hertz. It is worth noting that frequency values below 20.0 Hz are not perceptible by humans. Oscillators at lower frequencies are still useful, and can be used to modulate other parameters.

SINE

SINE

SINE synthesizes a variable frequency and amplitude sine wave as an audio signal that varies continuously between -1 and 1 each cycle.  Frequency can be be controlled by a signal in the first inlet or by the parameter frequency.  Note that if a signal is connected to the frequency control inlet, the parameter frequency is discarded and the signal remains in control.

Inlets: 1.) Frequency Control Signal
Outlets: 1.) Synthesized Sine Wave Signal
Parameters:

1.) AMPLITUDE (0.0 - 1.0) 

2.) FREQUENCY (Hz) (0.0 - 22000.0) - Warning: values below 20.0 are not perceptible by human hearing.

SQUARE

SQUARE

SQUARE synthesizes a variable frequency triangle wave as an audio signal that jumps between -1 and 1 each cycle. A square wave is not continuous and this results in a harsh sounding tone. Frequency can be be controlled by the parameter frequency.

Inlets: None
Outlets: 1.) Synthesized Square Wave Signal
Parameters:

1.) FREQUENCY (Hz) (0.0 - 22000.0) - Warning: values below 20.0 are not perceptible by human hearing.

SAW

saw

SAW synthesizes a variable frequency saw wave as an audio signal that varies linearly between 0 and 1 each cycle. A saw wave is not continuous and peaks at the end of its cycle.  Frequency can be be controlled by the parameter frequency.

Inlets: None
Outlets: 1.) Synthesized Saw Wave Signal
Parameters:

1.) FREQUENCY (Hz) (0.0 - 22000.0) - Warning: values below 20.0 are not perceptible by human hearing.

TRIANGLE

triangle

TRIANGLE synthesizes a variable frequency triangle wave as an audio signal that varies linearly between 0 and 1 each cycle. A triangle wave is continuous and peaks mid way through the cycle. Frequency can be be controlled by the parameter frequency.

Inlets: None
Outlets: 1.) Synthesized Triangle Wave Signal
Parameters:

1.) FREQUENCY (Hz) (0.0 - 22000.0) - Warning: values below 20.0 are not perceptible by human hearing.

NOISE

NOISE

NOISE synthesizes a white noise signal. White noise is essentially a perfectly random signal giving it an approximately equal frequency spectrum. There are no inlets or parameters.

Inlets: None
Outlets: 1.) Synthesized White Noise Signal
Parameters: 1.) None

PINK

PINK

NOISE synthesizes pink noise signal. Pink noise is like a weighted random signal giving it a frequency spectrum which is stronger at lower frequencies. This  can be seen as white noise run through a lowpass filter. There are no inlets or parameters.

Inlets: None
Outlets: 1.) Synthesized Pink Noise Signal
Parameters: 1.) None

FILTERLP6

FILTERLP6

FILTERLP6 is a lowpass filter. A low-pass filter allows low frequency audio to pass through unchanged, while lowering the volume of the higher frequencies above a cutoff frequency, controlled by the parameter frequency.

Inlets: 1.) signal to be filtered
Outlets: 1.) filtered signal
Parameters:

1.) FREQUENCY (Hz) (0.0 - 22000.0)

2.) RESONANCE (0.0 - 2.0)

FILTERHP6

FILTERHP6

FILTERHP6 is a highpass filter.  A highpass filter allows high frequency audio to pass through unchanged, while lowering the volume of the lower frequencies below a cutoff frequency, controlled by the parameter frequency.

Inlets: 1.) signal to be filtered
Outlets: 1.) filtered signal
Parameters:

1.) FREQUENCY (Hz) (0.0 - 22000.0)

2.) RESONANCE (0.0 - 2.0)

BANDPASS

BANDPASS

BANDPASS is a filter that only passes (lets through) a band of frequencies. All other frequencies are suppressed. This can be used for special-fx sounds such as the “megaphone” sound popular in some modern rock music, or a telephone or small speaker sound, by greatly limiting the frequency range of the original sound.  The parameter bandFreq controls the center frequency. The band width is constant in the current version.

Inlets: 1.) signal to be filtered
Outlets: 1.) filtered signal
Parameters:

1.) FREQUENCY (Hz) (0.0 - 22000.0)

2.) RESONANCE (0.0 - 2.0)

LIMITER

LIMITER

LIMITER sets the maximum value for a signal. Any part of the signal above the parameter THRESHOLD will be set to the value of threshold, or clipped. This can be used to create compression and distortion effects.

Inlets: 1.) signal to be limited
Outlets: 1.) limited signal
Parameters: 1.) THRESHOLD

INPUT

INPUT takes the currently playing audio in a track and sends it into the unit generator architecture. This ugen is necessary when creating audio effects. Because there are no inports or parameters, this ugen is usually this first step in creating an audio  effect. There are  two outputs that correspond to the left and right channels of a stereo audio track.

Inlets: None
Outlets:  1.)Signal Out Left  2.)Signal Out Right
Parameters: None

OUTPUT

OUTPUT sends synthesized or effected audio out from the ugen architecture to an audio track. Because there are no outlets or parameters, this block must be the end of any synthesizer or effect patch in order for sound to be heard. The track the effect is applied to determines where the output is sent to.

Inlets: 1.)Signal Out Left  2.)Signal Out Right
Outlets: None
Parameters: None

ADD

ADD either sums the signals of the first and second inputs or adds the parameter value to a single signal. If only one signal is connected, the parameter value is added to that signal. If two signals are connected, those signals are added together.

Inlets: 1.) Any Signal 2.) Any Signal
Outlets: 1.) Sum of Two Signals or Signal Plus Value
Parameters:

1.) VALUE – Warning: if two signals are present, this value is not used

TIMES

TIMES either multiplies the signals from the first and second inlets or multiplies a single signal by the parameter value. If only one signal is connected, that signal is multiplied by the parameter value. If two signals are connected, those signals are multiplied by each other. This ugen can be used for amplitude modulation or scaling.

Inlets: 1.) Any Signal 2.) Any Signal
Outlets: 1.) Scaled or Multiplied Signal
Parameters:

1.) Value - Warning: if two signals are present, this value is not used

NUMBER

NUMBER constantly outputs the same value. This can be useful in situations where you need a specific number as an input into a UGen that requires a signal input for that value.

Inlets: 1.) None
Outlets: 1.) Number specified by Value parameter
Parameters:

1.) VALUE - This is the number that the UGen constantly outputs

ECHO

ECHO delays a signal by a number of milliseconds specified by the parameter time. Many effects including filters, reverbs, and feedback delays can be made using many instances of this ugen.

Inlets: 1.) Signal to be Delayed
Outlets: 1.) Delayed Signal
Parameters:

1.) TIME (milliseconds) (0.0 - 10000.0) 

SAMPLEHOLD

SAMPLEHOLD samples (stores) an incoming audio stream at a specified frequency and outputs that value constantly. For example, if its FREQUENCY value is 1.0 Hz, that means that once every second it stores the value currently input into the ugen and uses that value for its output.

Inlets: 1.) Signal to be sampled
Outlets: 1.) Sampled value
Parameters:

1.) FREQUENCY (Hertz) (0.0 - 22000.0)

Every Analysis Feature Explained in Detail

$
0
0

This document details each of the Analysis features that can be used with the analysis functions in the EarSketch API (analyze(), analyzeForTime(), analyzeTrack(), and analyzeTrackForTime()). Each of these features can be used by using the appropriate constant (which is specified with each description). These features are possible ways to determine differences in audio samples. This difference, or timbre, is how humans are able to tell the difference between instruments. For example, it’s possible to distinguish between playing a C note on a piano, from a C note on a trombone. Each of these measurements returns a value between 0.0 and 1.0, and it is encouraged to try out different features if one does not work for your particular situation.

The examples below only use the maximum and minimum examples in the YOUNGGURU__Y04_88_BPM_F_MINOR folder. For some of the examples, there might be other sound files the exhibit a higher or lower value than the example listed.

Spectral Centroid

constant – SPECTRAL_CENTROID
description – The average frequency of the audio. It describes the brightness of the sound. An instrument like a tuba or bass guitar will have a lower Spectral Centroid than an instrument like a violin. From the graphs below you will see that a spectrum with a lower Spectral Centroid value has more frequency content in the lower part of the spectrum, while a higher value is more spread out. In these examples, you can see that the Y04_BASS_1 audio file’s lower frequencies weight the Spectral Centroid value towards a lower value.

For more information, see this Wikipedia article: http://en.wikipedia.org/wiki/Spectral_centroid

Spectrum of a low Spectral Centroid value: Y04 bass 1

1_low

Spectrum of a high Spectral Centroid value: Y04 Tambourine Shaker 1

1_high

Spectral Flux

constant – SPECTRAL_FLUX
description – The amount of variation of frequency content. This measurement compares successive sections of audio by taking the difference of each frequency value. If there are larger changes in frequency content, Spectral Flux will be a larger value. Drums will typically have a higher Spectral Flux value than a bass line or a synthesizer playing a pad sound.

For more information, see this Wikipedia article: http://en.wikipedia.org/wiki/Spectral_flux

Spectrum of a low Spectral Flux value: Y04 Piano 1

2_low

Spectrum of a high Spectral Flux value: Y04 bass 1

2_high

RMS Amplitude

constant – RMS_AMPLITUDE
description – The Root Mean Square amplitude of the audio. This is a more convenient representation of the amplitude (or loudness) of an audio signal. It is important to be careful of the sounds you analyze with this feature, because it’s an average amplitude measurement. If an audio file, such as Y04_TAMBOURINE_SHAKER_1 has only a small amount of non-silence in it, then the average amplitude will be small in comparison to its peak amplitude.

In the examples below, the red line indicates the RMS Amplitude value detected using the analyze() function. If you are more interested in the amplitude at specific times, analyzeForTime() might be a better function to use.

There are many ways to represent the amplitude of an audio signal, see this Wikipedia article for more information: http://en.wikipedia.org/wiki/Amplitude

Time vs. Amplitude plot of a low RMS Amplitude value: Y04 Tambourine Shaker 1

3_lowTime vs. Amplitude plot of a high RMS Amplitude value: Y04 bass 1

3_high

Spectral Rolloff

constant – SPECTRAL_ROLLOFF
description – The frequency value at which 95 percent of the spectral energy is below that point. Similar to Spectral Centroid, this is a measure of where the spectral energy is located in the frequency domain. However, this measurement determines a point where the majority of the spectrum/frequency content is located. It is possible for two sounds to have the same/similar Spectral Centroids, but one sound might have a Spectral Rolloff location very different from the other.

Spectrum of a low Spectral Rollowff value: Y04 bass 1

4_low

Spectrum of a high Spectral Rolloff value: Y04 Open Hi-Hats 2

4_high

Zero Cross Rate

constant – ZCR
description – The rate at which the signal changes from positive to negative or back. Sounds that are noisy tend to have a high Zero Cross Rate, while more periodic sounds have a smaller value. This could help determine whether a sound is distorted/noisy or more pure sounding. In the examples below, notice how chaotic looking the plot of the audio file with the high Zero Cross Rate is.

Close-up of a Time vs. Amplitude plot of a low Zero Cross Rate value: Y04 Piano 1

5_low

Close-up of a Time vs. Amplitude plot of a high Zero Cross Rate value: Y04 Tambourine Shaker 1

5_high

Spectral Spread

constant – SPECTRAL_SPREAD
description – The spread of the spectrum around its mean value. Similar to other features (Centroid and Rolloff), this is measurement of how the spectrum “looks” in the frequency domain. Sounds that have a higher Spectral Spread value will have a spectrum that’s wider than those with lower values. For example, pure Sine wave will have a very low value, because it’s a pure signal consisting of only one frequency component. On the other hand, a Sawtooth wave will have a larger Spectral Spread value since its frequency components consist of every harmonic.

Spectrum of a low Spectral Spread value: Y04 Hi-Hats 1

6_low

Spectrum of a high Spectral Spread value: Y04 bass 1

6_high

Spectral Skewness

constant – SPECTRAL_SKEWNESS
description – This gives a measure of the asymmetry of the sound energy in the frequency domain. Similar to Centroid, Rolloff, and Spread, Spectral Skewness helps describe how the spectrum “looks” in the frequency domain. Sounds with higher skewness values will have spectrums more weighted towards higher frequencies.

Spectrum of a low Spectral Skewness value: Y04 Open Hi-Hats 1

7_low

Spectrum of a high Spectral Skewness value: Y04 bass 1

7_high

Spectral Kurtosis

constant – SPECTRAL_KURTOSIS
description – Spectral kurtosis is the frequency distribution around the spectral centroid (average frequency). The larger the spectral kurtosis value, the more the frequencies in the sound cluster around the spectral centroid value.

Spectrum of a low Spectral Kurtosis value: Y04 Open Hi-Hats 1

8_low

Spectrum of a high Spectral Kurtosis value: Y04 bass 1

8_high

Spectral Decrease

constant – SPECTRAL_DECREASE
description – Spectral decrease means the degree to which there is more low frequency sound than high frequency sound. The value is greater when there is more low frequency sound. As expected, bass has more low frequency sound than a guitar, so its spectral decrease is higher.

Spectrum of a low Spectral Decrease value: Y04 Old Strings 2

9_low

Spectrum of a high Spectral Decrease value: Y04 Kick 1

9_high

Spectral Flatness

constant – SPECTRAL_FLATNESS
description – Computes a measurement of the “noisiness” of a sound. For example, the spectrum of white noise, is essentially “flat”, in that it has an equal representation of each of the frequencies in the spectral domain.

Spectrum of a low Spectral Flatness value: Y04 bass 1

10_low

Spectrum of a high Spectral Flatness value: Y04 Open Hi-Hats 2

10_high

Spectral Slope

constant – SPECTRAL_SLOPE
description – Computes a similar measurement as Spectral Decrease, but is more based on human perception. The value is greater when there is more low frequency sound. As expected, bass has more low frequency sound than a guitar, so its spectral decrease is higher.

Spectrum of a low Spectral Slope value: Y04 bass 1

11_low

Spectrum of a high Spectral Slope value: Y04 Tambourine Shaker 1

11_high

Irregularity

constant – IRREGULARITY
description – Computes a measurement of the “roughness” of the sound in the frequency domain. Similar to Zero Cross Rate, this can be used to determine the noisiness of a sound.

Spectrum of a low Irregularity value: Y04 Horns 2

12_low

Spectrum of a higher Irregularity value: Y04 Piano 1

12_high

Reference: Every Effect Explained in Detail

$
0
0
BANDPASS
BANDPASS is a filter that only passes (lets through) an adjustable-sized band of frequencies. All other frequencies are suppressed. This can be used for special-fx sounds such as the “megaphone” sound popular in some modern rock music, or a telephone or small speaker sound, by greatly limiting the frequency range of the original sound (by setting BANDPASS_WIDTH to a relatively small value). By using a wider frequency range (setting BANDPASS_WIDTH to a higher value), sounds that appear “too big” for a mix may be made to sound a little smaller so that they blend better with other sounds in the mix.

BANDPASS_FREQ is the center frequency (in Hz) of the window of frequencies to pass through.

default: 800.0
minValue: 20.0
maxValue: 20000.0

Example

setEffect(1, BANDPASS, BANDPASS_FREQ, 200)

BANDPASS_WIDTH is the width (in Hz) of the window of frequencies to let through.

default: 0.5
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, BANDPASS, BANDPASS_WIDTH, 0.3)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  0.1
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, BANDPASS, MIX, 0.3)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, BANDPASS, BYPASS, 0.0)

CHORUS

chorus

CHORUS creates various copies of the original sound which get varied slightly in pitch and time, and mixed back in to the sound, creating an ensemble-like effect of many voices playing together. At extreme values of parameter settings, artificial “robot-like” sounds can be heard.

CHORUS_LENGTH is the length of time (in ms) from the original sound within which the chorus effect is activated.

default: 15.0
minValue: 1.0
maxValue: 250.0

Example

setEffect(1, CHORUS, CHORUS_LENGTH, 53.0)

CHORUS_NUMVOICES is the number of copies of the original sound that is used. Larger values create a bigger ensemble-like effect.

default: 1.0
minValue: 1.0
maxValue: 8.0

Example

setEffect(1, CHORUS, CHORUS_NUMVOICES, 4.0)

CHORUS_RATE is the rate (in Hz) which the pitch cycles or “wobbles” at.  Lower values create smoothly-cycling sounds, while higher values create more wobbly-sounding effects.

default: 0.5
minValue: 0.1
maxValue: 16.0

Example

setEffect(1, CHORUS, CHORUS_RATE, 3.0)

CHORUS_MOD is the depth of the pitch wobbling (i.e. how much pitch cycling is used). Low settings create a more natural sound, while higher settings create a more artificial-like sound.

default: 0.7
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, CHORUS, CHORUS_MOD, 0.4)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, CHORUS, MIX, 0.5)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, CHORUS, BYPASS, 1.0)

COMPRESSOR

compressor

COMPRESSOR is a basic two-parameter compressor, which reduces the volume of the loudest sounds of the effected track, while amplifying the volume of its quietest sounds. This creates a narrower dynamic range from the original sound, and is often used to maximize the punch of the original sound, while reducing the potential for noise to be added later.

COMPRESSOR_THRESHOLD is the amplitude (volume) level (in dB) above which the compressor starts to reduce volume.

default: 0.0
minValue: -12.0
maxValue: 1.0

Example

setEffect(1, COMPRESSOR, COMPRESSOR_THRESHOLD, -4.0)

COMPRESSOR_RATIO is the amount of specified gain reduction. A ratio of 3:1 means that if the original sound is 3 dB over the threshold, then the effected sound will be 1 dB over the threshold.

default: 1.0
minValue: 1.0
maxValue: 50.0

Example

setEffect(1, COMPRESSOR, COMPRESSOR_RATIO, 35.0)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, COMPRESSOR, BYPASS, 1.0)

DELAY

delay

DELAY creates a repeated echo-like delay of the original sound. A delay effect plays back the original audio as well as a delayed, quieter version of the original that sounds like an echo. After the first echo it plays an echo of the echo (even quieter), then an echo of the echo of the echo (still quieter), and so on until the echo dies out to nothing. With the delay effect, we can control how much time passes between each echo (delay time). If we set the delay time to match the length of a beat, we can create rhythmic effects with delay.

DELAY_TIME is the time amount in milliseconds (ms) that the original track is delayed, and the time between successive repeats of the delay.

default: 300.0
minValue: 0.0
maxValue: 4000.0

Example

setEffect(1, DELAY, DELAY_TIME, 1200.0)

DELAY_FEEDBACK is the relative amount of repeats that the delay generates. Higher values create more “echoes”. Be careful of applying “too much” feedback!

default: -3.0
minValue: -120.0
maxValue: -1.0

Example

setEffect(1, DELAY, DELAY_FEEDBACK, -20.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, DELAY, MIX, 0.4)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, DELAY, BYPASS, 1.0)

DISTORTION

distortion

DISTORTION creates a “dirty” or “fuzzy” sound by overdriving the original sound. This compresses or clips the sound wave, adding overtones (higher frequencies related to the original sound). It is common to distort an electric guitar sound by “overdriving” the guitar amplifier. Modern music sometimes uses distortion to add a grungy or gritty effect or feel to the composition.

DISTO_GAIN is the amount of overdrive of the original sound.

default: 20.0
minValue: 0.0
maxValue: 50.0

Example

setEffect(1, DISTORTION, DISTO_GAIN, 25.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, DISTORTION, MIX, 0.15)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, DISTORTION, BYPASS, 1.0)

EQ3BAND

eq3band

EQ3BAND is a three-band equalizer used for simple EQ tasks.  An equalizer is used to adjust the volume of separate ranges of frequencies within an audio track. This particular effect can be used to adjust the volume of three ranges (“bands”) of frequency content, namely bass, midrange, and treble (low, mid, high), where the upper border (EQ3BAND_LOWFREQ) of the low range and the center frequency of the mid range (EQ3BAND_MIDFREQ) may be set by the user.

EQ3BAND_LOWGAIN is the gain (in dB) of the low range of frequencies of the EQ. Negative values lower the volume of the low frequencies, while positive values boost them.

default: 0.0
minValue: -24.0
maxValue: 18.0

Example

setEffect(1, EQ3BAND, EQ3BAND_LOWGAIN, 5.3)

EQ3BAND_LOWFREQ specifies the highest frequency (in Hz) of the low range.

default: 200.0
minValue: 20.0
maxValue: 20000.0

Example

setEffect(1, EQ3BAND, EQ3BAND_LOWFREQ, 700.0)

EQ3BAND_MIDGAIN is the gain (in dB) of the mid range of frequencies of the EQ. Negative values lower the volume of the mid frequencies, while positive values boost them.

default: 0.0
minValue: -24.0
maxValue: 18.0

Example

setEffect(1, EQ3BAND, EQ3BAND_MIDGAIN, -15.0)

EQ3BAND_MIDFREQ specifies the center frequency (in Hz) of the mid range.

default: 2000.0
minValue: 20.0
maxValue: 20000.0

Example

setEffect(1, EQ3BAND, EQ3BAND_MIDFREQ, 1200.0)

EQ3BAND_HIGAIN is the gain (in dB) of the high range of frequencies of the EQ. Negative values lower the volume of the high frequencies, while positive values boost them.

default: 0.0
minValue: -24.0
maxValue: 18.0

Example

setEffect(1, EQ3BAND, EQ3BAND_HIGAIN, 10.0)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, EQ3BAND, BYPASS, 1.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, EQ3BAND, MIX, 0.4)

FILTER

filter

FILTER is a standard low-pass filter with resonance. A low-pass filter effect allows low frequency audio to pass through unchanged, while lowering the volume of the higher frequencies above a cutoff frequency (the FILTER_FREQ parameter). This gives the audio a “darker” sound.

FILTER_FREQ is the cutoff frequency (Hz), which means that all frequencies higher than this value are rolled-off (become lower and lower in volume the higher they are from this value).

default: 1000.0
minValue: 20.0
maxValue: 20000.0

Example

setEffect(1, FILTER, FILTER_FREQ, 3000.0)

FILTER_RESONANCE is the amount of amplification of a narrow band of frequencies around the current FILTER_FREQ level. This causes the frequencies around the current FILTER_FREQ level to ring out more, to sound more “resonant”. It effectively creates a more vibrant, ringing sound around the cutoff frequency (FILTER_FREQ). Higher values of resonance will make the filter “sharper” around the FILTER_FREQ, which accentuates the frequencies closest to the cutoff frequency. This is a subtle parameter that helps fine-tune the sound of the filter.

default: 0.8
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, FILTER, FILTER_RESONANCE, 0.0, 1.0, 0.9, 3.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, FILTER, MIX, 0.5)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, FILTER, BYPASS, 1.0)

FLANGER

flanger

FLANGER is similar to a chorus effect, where various copies of the original sound are created which get varied slightly in pitch and time, and mixed back in to the sound. A flanger, however, uses a much finer range of time values, which creates an evolving “whoosh” like sound. At extreme values of parameter settings, more artificial “robot-like” sounds can be heard.

FLANGER_LENGTH is the length of delay time (in ms) from the original sound within which the flanger effect is activated.

default: 6.0
minValue: 0.0
maxValue: 200.0

Example

setEffect(1, FLANGER, FLANGER_LENGTH, 23.0)

FLANGER_FEEDBACK is the amount (in dB) that the effected sound is “fed back” into the effect. Higher values create more artificial-like sounds.

default: -50.0
minValue: -80.0
maxValue: -1.0

Example

setEffect(1, FLANGER, FLANGER_FEEDBACK, -80.0)

FLANGER_RATE is the rate (in Hz) which the pitch cycles or “whooshes” at. Lower values create more smoothly-cycling sounds, while higher values create more whooshing-sounding effects and sonic artifacts.

default: 0.6
minValue: 0.001
maxValue: 100.0

Example

setEffect(1, FLANGER, FLANGER_RATE, 45.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, FLANGER, MIX, 0.7)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, FLANGER, BYPASS, 0.0)

IMAGE

image

IMAGE can be used to create a stereo image of the original sound, where the left and right channels are delayed slightly either before or after the original sound.

IMAGE_LEFTDELAY is the delay time (in ms) of the left channel. Negative values create a pre-delay (before the original sound!), while positive values create a “normal” post-delay.

default: 0.0
minValue: -100.0
maxValue: 100.0

Example

setEffect(1, IMAGE, IMAGE_LEFTDELAY, 45.0)

IMAGE_RIGHTDELAY is the delay time (in ms) of the right channel. Negative values create a pre-delay (before the original sound!), while positive values create a “normal” post-delay.

default: 0.0
minValue: -100.0
maxValue: 100.0

Example

setEffect(1, IMAGE, IMAGE_RIGHTDELAY, -50.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, IMAGE, MIX, 0.1)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, IMAGE, BYPASS, 1.0)

NOISEGATE

noisegate

NOISEGATE is an effect that silences the original sound whenever its volume falls below a certain threshold level. This effect can sound great on drum loops, by introducing more space (silence) between the loudest hits. Experiment with different parameter settings to get the best sounding response for any given sound.

NOISEGATE_THRESHOLD is the volume level (in dB) under which the original sound is silenced, by the noise gate “closing”.

default: -60.0
minValue: -120.0
maxValue: 6.0

Example

setEffect(1, NOISEGATE, NOISEGATE_THRESHOLD, -10.0)

NOISEGATE_FADETIME is the time (in ms) of fade out to silence after the noise gate closes.

default: 50.0
minValue: 1.0
maxValue: 4000.0

Example

setEffect(1, NOISEGATE, NOISEGATE_FADETIME, 300.0)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, NOISEGATE, BYPASS, 1.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, NOISEGATE, MIX, 0.2)

PAN

Pan: pan

PAN affects the audio mix between the left and right channels. For example, if you were wearing headphones, changing the panning would affect whether you heard something from the left earcub or the right.

LEFT_RIGHT specifies the left/right location of the original sound within the stereo field (0.0 is center, -100.0 is fully left, 100.0 is fully right).

default: 0.0
minValue: -100.0
maxValue: 100.0

Example

setEffect(1, PAN, LEFT_RIGHT, -50.0)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, PAN, BYPASS, 1.0)

PARAM_EQ

param_eq

PARAM_EQ is a single-band equalizing filter used for boosting or cutting (turning the volume up or down for) one particular band of frequencies, with adjustable width around a center frequency. This effect is usually used to pinpoint and cut an annoying frequency range, or for boosting a selected frequency range to give it more presence in the overall mix.

PARAMETRIC_BAND is the center frequency around which to adjust.

default: 4000.0
minValue: 20.0
maxValue: 20000.0

Example

setEffect(1, PARAM_EQ, PARAMETRIC_BAND, 2000.0)

PARAMETRIC_GAIN is the amount of cutting (negative values) or boosting (positive values) of the frequency band.

default: 0.0
minValue: -15.0
maxValue: 15.0

Example

setEffect(1, PARAM_EQ, PARAMETRIC_GAIN, -2.0)

PARAMETRIC_WIDTH is the width of the frequency band around the center frequency (PARAMETRIC_BAND).

default: 0.7
minValue: 0.01
maxValue: 50.0

Example

setEffect(1, PARAM_EQ, PARAMETRIC_WIDTH, 33.0)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, PARAM_EQ, BYPASS, 1.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, PARAM_EQ, MIX, 1.0)

PHASER

phaser

PHASER is a sweeping-sounding effect which creates a copy of the original sound over a specified range of frequencies. This effected copy is then delayed very slightly and played against the original sound while changing its slight delay time gently back and forth. This causes some of the copied frequencies to temporarily cancel each other out by going “in and out of phase” with each other, thus creating a sweeping effect.

PHASER_RATE is the rate (in Hz) that the slight delay time changes back and forth. Lower values create more smoothly-cycling sounds, while higher values create more robotic-sounding effects and sonic artifacts.

default: 0.5
minValue: 0.0
maxValue: 10.0

Example

setEffect(1, PHASER, PHASER_RATE, 3.0)

PHASER_RANGEMIN is the low value (in Hz) of the affected frequency range.

default: 440.0
minValue: 40.0
maxValue: 20000.0

Example

setEffect(1, PHASER, PHASER_RANGEMIN, 880.0)

PHASER_RANGEMAX is the high value (in Hz) of the affected frequency range.

default: 1600.0
minValue: 40.0
maxValue: 20000.0

Example

setEffect(1, PHASER, PHASER_RANGEMAX, 4000.0)

PHASER_FEEDBACK is the amount that the effected sound is “fed back” into the effect. Higher values create more artificial-like sounds.

default: -3.0
minValue: -120.0
maxValue: -1.0

Example

setEffect(1, PHASER, PHASER_FEEDBACK, -1.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, PHASER, MIX, 0.5)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, PHASER, BYPASS, 1.0)

PITCHSHIFT

pitchshift

PITCHSHIFT simply lowers or raises the sound by a specific pitch interval (PITCHSHIFT_SHIFT). It can be useful in helping multiple sound files sound better together or, contrastingly, to add a little bit of dissonance, if desired. It can also be used to create a harmony part for the same track by keeping the PITCHSHIFT_MIX setting somewhere towards its central position (0.5), to balance the volume between the effect and the original sound.

PITCHSHIFT_SHIFT specifies the amount to adjust the pitch of the original sound in semitones (and fractions of a semitone, given by values after the decimal point). 12 semitones equal 1 octave.

default: 0.0
minValue: -12.0
maxValue: 12.0

Example

setEffect(1, PITCHSHIFT, PITCHSHIFT_SHIFT, 4.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, PITCHSHIFT, MIX, 0.3)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, PITCHSHIFT, BYPASS, 1.0)

REVERSER

reverser

REVERSER is an effect that consistently reverses an area of time after the current location of the original sound.

REVERSER_LENGTH is the length of time (in ms) after the current location of the original sound that gets reversed by the effect.

default: 500.0
minValue: 0.0
maxValue: 4000.0

Example

setEffect(1, REVERSER, REVERSER_LENGTH, 1000.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default: 1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, REVERSER, MIX, 0.7)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, REVERSER, BYPASS, 1.0)

RINGMOD

ringmod

RINGMOD multiplies the signals from two sounds together: your original sound and a pure sine wave (that sounds like a tuning fork). The effect of this multiplication sounds different at every frequency of the original sound, which creates a completely artificial-sounding result, as this type of sound could never occur naturally. Some parameter settings for this effect will likely produce recognizable-sounding effects similar to ones used in old science-fiction movies. It is useful experimenting with since there are a wide range of sounds that can be generated from your original sound.

RINGMOD_MODFREQ is the frequency (in Hz) of the sine wave oscillator that is being multiplied into your original sound.

default: 40.0
minValue: 0.0
maxValue: 100.0

Example

setEffect(1, RINGMOD, RINGMOD_MODFREQ, 70.0)

RINGMOD_FEEDBACK is the amount of effected sound that is fed-back into the effect. High values create more robotic-type sounds and sonic artifacts.

default: 0.0
minValue: 0.0
maxValue: 100.0

Example

setEffect(1, RINGMOD, RINGMOD_FEEDBACK, 30.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, RINGMOD, MIX, 0.1)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, RINGMOD, BYPASS, 1.0)

SWEEPER

sweeper

SWEEPER is a sweeping low-pass filter with resonance. It rolls-off (suppresses) higher frequency content and “passes” lower frequency content, according to the setting of its cutoff frequency (somewhere between SWEEPER_FREQ1 and SWEEPER_FREQ2). The effect “sweeps” between these two frequencies in real time, creating a moving fx sound, which becomes more pronounced the higher the SWEEPER_RESONANCE is set to, which creates a thicker, more resonant sound around the cutoff frequency.

SWEEPER_FREQ1 is the first cutoff frequency (in Hz) to use for the sweeping effect.

default: 1000.0
minValue: 20.0
maxValue: 20000.0

Example

setEffect(1, SWEEPER, SWEEPER_FREQ1, 5000.0)

SWEEPER_FREQ2 is the second cutoff frequency (in Hz) to use for the sweeping effect.

default: 2000.0
minValue: 20.0
maxValue: 20000.0

Example

setEffect(1, SWEEPER, SWEEPER_FREQ2, 5000.0)

SWEEPER_SWEEPTIME is the time (in ms) it takes to sweep from SWEEPER_FREQ1 to SWEEPER_FREQ2.

default: 2.0
minValue: 0.1
maxValue: 30.0

Example

setEffect(1, SWEEPER, SWEEPER_SWEEPTIME, 4.0)

SWEEPER_RESONANCE is the amount of amplification of a narrow band of frequencies around the current cutoff frequency level (given by the current position of the sweeping effect between SWEEPER_FREQ1 and SWEEPER_FREQ2). This causes the frequencies around the current cutoff level to “sing out” more, to sound more “resonant”.

default: 0.8
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, SWEEPER, SWEEPER_RESONANCE, 0.3)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, SWEEPER, MIX, 0.5)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, SWEEPER, BYPASS, 1.0)

TREMOLO

tremolo

TREMOLO quickly changes the volume of the original sound back and forth from its original value towards silence, resulting in a wobbling-sounding effect.

TREMOLO_FREQ is the rate (in Hz) that the volume is changed back and forth.

default: 4.0
minValue: 0.0
maxValue: 100.0

Example

setEffect(1, TREMOLO, TREMOLO_FREQ, 10.0)

TREMOLO_AMOUNT is the amount (in dB) that the volume changes back and forth over during each cycle.

default: -6.0
minValue: -60.0
maxValue: 0.0

Example

setEffect(1, TREMOLO, TREMOLO_AMOUNT, -40.0)

TREMOLO_STEREOWIDTH is the amount of stereo spread of the effect between the left and right speakers.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, TREMOLO, TREMOLO_STEREOWIDTH, 0.25)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, TREMOLO, MIX, 0.5)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, TREMOLO, BYPASS, 1.0)

VARLEN_DELAY

varlen_delay

VARLEN_DELAY creates a wobbling delay/echo effect (see DELAY effect) where the delay time is constantly speeding up and slowing down.

VARLEN_TIME is the central delay time used, the value from which the speeding up and slowing down begins at.

default: 300.0
minValue: 0.0
maxValue: 4000.0

Example

setEffect(1, VARLEN_DELAY, VARLEN_TIME, 1000.0)

VARLEN_PERIOD is the length of time in seconds that it takes to perform one whole “speeding-up slowing down” cycle. Experiment using different values here to get a feel for what this parameter controls.

default: 1.0
minValue: 0.001
maxValue: 30.0

Example

setEffect(1, VARLEN_DELAY, VARLEN_PERIOD, 2.0)

VARLEN_AMP is the amount of the “speeding-up slowing down” that is applied. Low values create a flanging effect, while high values create a more jumbled sound.

default: 0.3
minValue: 0.001
maxValue: 1.0

Example

setEffect(1, VARLEN_DELAY, VARLEN_AMP, 0.2)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, VARLEN_DELAY, MIX, 0.5)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, VARLEN_DELAY, BYPASS, 1.0)

VOLUME

Volume:
volume

VOLUME allows you to change the volume of an audio clip.

GAIN specifies the output volume level of the original sound.

default: 0.0
minValue: -60.0
maxValue: 12.0

Example

setEffect(1, VOLUME, GAIN, -5.0)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, VOLUME, BYPASS, 1.0)

WAH

WAH is a resonant bandpass filter (see BANDPASS effect) that creates a “wah-wah” pedal sound when changed over time using envelopes in the setEffect() function.

wah  <– in this example, the WAH_POSITION parameter is changed over time by an envelope

WAH_POSITION is the center frequency of the boosted fixed-width frequency range.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, WAH, WAH_POSITION, 0.3)

WAH_RESOTOP is the amount of resonance (see FILTER effect for explanation) around the top of the frequency range whose center is determined by the WAH_POSITION setting. Higher values create more ringing (resonance) around the higher frequencies.

default: 0.7
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, WAH, WAH_RESOTOP, 0.8)

WAH_RESOBOTTOM is the amount of resonance (see FILTER effect) around the bottom of the frequency range whose center is determined by the WAH_POSITION setting. Higher values create more ringing (resonance) around the lower frequencies.

default: 0.1
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, WAH, WAH_RESOBOTTOM, 0.3)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, WAH, MIX, 0.3)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, WAH, BYPASS, 1.0)

WAVESHAPER

waveshaper

WAVESHAPER is a type of distortion (see DISTORTION effect) in which the original soundwave is slightly altered or “bent” at certain locations, causing clipping and higher overtones to be added to the sound. At low levels it can make a sound more vibrant and stand out more. At higher levels the sound becomes more distorted, which can work fine for some sounds while making others sound like they are being played through a damaged set of speakers.

WAVESHAPER_AMOUNT is the amount of waveshaping distortion to add. Usually there is a value just under which most of the distortion disappears for a given sound.

default: 0.0
minValue: 0.0
maxValue: 100.0

Example

setEffect(1, WAVESHAPER, WAVESHAPER_AMOUNT, 30.0)

MIX is the percentage of the effected sound (wet) that is mixed with the original sound (dry). At its minimum value (0.0), no effect can be heard. At its maximum value (1.0), none of the original sound is heard – it is all effect.

default:  1.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, WAVESHAPER, MIX, 0.5)

BYPASS is whether the effect is “on” (1.0) or “off” (0.0). If the bypass of an effect is “on” (1.0), that means the audio going into the effect passes through, and comes out unaffected. Note that unlike other effect name/parameter pairs, the only valid values for BYPASS are 0.0 and 1.0.

default: 0.0
minValue: 0.0
maxValue: 1.0

Example

setEffect(1, WAVESHAPER, BYPASS, 1.0)



Reference: EarSketch Sound Library

$
0
0

To find sounds that work well together in your music, choose them from the same folder. For example, pick all your sounds from DUBSTEP_140_BPM or all of them from Y30_68_BPM_B_MINOR.

To see the sounds inside a folder, click its name. The list of sounds shows up on the right side of the window. Click on a sound name to hear it. To use a sound in EarSketch, just copy and paste the sound name into your Python script.

Most of the sound folders are labeled with a tempo. Tempo is the speed of music (how slow or fast). In EarSketch, you always specify the tempo of your song using the setTempo function. For example, setTempo(120) will set the tempo of your project at 120 beats per minute. We suggest you set the tempo to match the tempo for the folder you choose. For example, for Y15_125_BPM_C_MINOR you would use setTempo(125).

As you get more comfortable creating music with EarSketch, you may want to experiment some more by combining sounds from several different folders in the same song and by trying out different tempos. When experimenting, use your musical ear to help you decide what sounds good and what doesn’t, and try a bunch of different possibilities to figure out what you like best.

Some of the sound folders also list a key for the sounds in that folder. For instance, the sounds in Y57_87_BPM_G_MINOR are in the key of G minor. In music, a key indicates a scale (like major or minor) and a particular “home” note (called the tonic) from which most of the pitches are drawn. So if you want to combine sounds from two different folders (other than just drums), they are more likely to sound good together if they are in the same key.

The sounds in the EarSketch library come from several different sources.Richard Devine (a well-known sound designer and electronic musician) and Young Guru (a Grammy-nominated DJ and audio engineer best known for his work with Jay-Z) each created about 1000 sounds specifically for EarSketch. Some additional sounds in the MAKEBEAT folder contains a collection of single drum hits suitable for use with EarSketch’s makebeat function. These were created by Thom Jordan, a member of the EarSketch research team.

To add your own sounds to EarSketch, follow the instructions on our web site for recording in Reaper. Your sounds will then be displayed in the USER_SOUNDS folder here.

Creating Beats with makeBeat()

$
0
0

The 16 elements of the beat string make up the 16 sixteenth notes found in one measure of 4/4 time.  In creating beats with makeBeat() the style, instrument, and role of the beat should be taken into consideration in creating the rhythm pattern.  This guide will provide sample rhythm patterns in the style of 4/4 Time, Hip Hop, Funk, Dub Step, and African Drum Ensemble based patterns.  This will not represent a complete list of patterns, rather it will act as a guide in identifying the characteristics of percussion beats and provide string example for makeBeat().

The three elements of a percussion line

The drum set or percussion line can be divided into three elements:

  1. Bass Drum or Lowest Pitched Drum:  Usually provided the “center of beat.”  The ear will gravitate towards the lowest pitches in a drum pattern to ‘center in’ on the meter and feel for the music.  Bass Drum beats usually emphasize beats 1 and 3 in 4/4 time.
  2. Back Beat:  This is usually a snare drum, clap, snap, or other mid-pitched percussion instrument.  The Back Beats complement the Bass Drum Line, provide syncopation and ‘pull’, and emphasize beats 2 and 4 in 4/4 time.  The Bass Drum and BackBeat work together to provide the bulk of the sense of style and feel in percussion lines.
  3. Running 8th or 16th Patterns.  These running lines of 8th or 16th notes usually are played with a high pitched metallic instrument such as a Hi Hat, Ride Cymbal, Tambourine, or other non-pitched instrument.   The ‘running’ pattern provides a ‘motor’ that lays down a foundation for the Bass Drum and Back Beat lines.  The running patterns also provide the listener with a clear sense of the ‘microbeat’ and meter for the music.  Changing the timbre within the running pattern (Closed and Open Hi hat for example) can supplement the rhythmic interest of the Back Beat.

At the core level you can visualize the Bass Drum, Back Beat, and Running 8th / 16th in the following manner with makeBeat(). Note: the beat strings in the following tables have spaces in between each character in order to ensure proper display in a web browser (e.g., “– – – –”). Remove the extraneous spaces when using the strings in your own code.

Bass Drum:

Beats
String Pattern 1 2 3 4
“0 + + + – – – – 0 + + + – – – –” 0 + + + – – – – 0 + + + – – – –

Back Beat:

Beats
String Pattern 1 2 3 4
“– – – – 0 + + + – – – – 0 + + +” – – – – 0 + + + – – – – 0 + + +

Running 8th:

Beats
String Pattern 1 2 3 4
“0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +” 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +

4/4 Time General Patterns  (Typical of “Rock Beat” or straight 4/4 type music)

Bass Drum String Patterns:

bassBeat01 = “0 + + + – – – – 0 + + + – – – –”

bassBeat02 = “0 + + + – – 0 + 0 + + + – – – –”

“0 + + + – – 0 + 0 + + + – – 0 +”

“0 + + + 0 + + + 0 + + + 0 + + +”

“0 + + + 0 + + + 0 + 0 + 0 + + +”

“0 + + + 0 + + + 0 + + + 0 + 0 +”

Back Beat String Patterns:

“– – – – 0 + + + – – – – 0 + + +”

“– – – – 0 + + + – – – – 0 + 0 +”

“– – – – 0 + 0 + – – – – 0 + + +”

“– – – – 0 + + + – 0 + – 0 + + +”

8th Note Running Pattern:

“ 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +”

Code Example with Fill:

# 4/4 Time General Pattern with Fill
# Tempo Best between 110 and 132
from earsketch import *

init()

setTempo(120)

bass = OS_LOWTOM01
snare = OS_SNARE01
hiOpen = OS_OPENHAT01
hiClosed = OS_CLOSEDHAT01

bassBeat = "0+++--0+0+++----"
snareBeat = "----0+++-0+-0+++"
running = "0+0+0+0+0+0+0+0+"

fillBass = "0+++0+++0+0+0+0+"
fillSnare = "0+++0+++0+0+0000"

for measure in range(1, 9):

    if measure % 4 != 0:
        makeBeat(hiClosed, 1, measure, running)
        makeBeat(snare, 2, measure, snareBeat)
        makeBeat(bass, 3, measure, bassBeat)
    else:
        makeBeat(hiClosed, 1, measure, running)
        makeBeat(snare, 2, measure, fillSnare)
        makeBeat(bass, 3, measure, fillBass)

finish()

Some Funk and Hip Hop Beats

Hip Hop and Funk both function well at tempos between 84 and 92 beats per minute. If you use a running beat of 8ths, the style will gravitate closer to Hip Hop. A running beat of 16ths will simulate a funk style.

Bass Drum Strings:
funkbassbeat1 = ” 0 + 0 + – – – – 0 + 0 + – 0 + +”
funkbassbeat2 = “0 – 0 – – – – – – – 0 – – 0 – –”

Back Beat Strings:
funkbackbeat1 = “– – – – 0 – – 0 – 0 – 0 0 – – –”
funkbackbeat2 = “– – – – 0 – – 0 – 0 – 0 0 – – 0″

‘Amen Beat’ style strings with using a list to store snare and bass sounds.
drumList = [bass, snare]
amenbeat1 = ” 0 + 0 + 1 + + 1 – 1 0 0 1 + + 1″
amenbeat2 = “0 + 0 + 1 + + 1 – 1 0 0 – – 1 +”
amenbeat3 = “– 1 0 0 1 + + 1 – 1 0 + – – 1 +”

16th Beat Running using a List to store closed and Open Hi Hat Sounds:
Hats = [closed, open]

sixteenthHL1 = “0000100000001000″
sixteenthHL2 = “0000100101011000″
sixteenthHL3 = “0000100101011100″
sixteenthHL4 = “0000100101011101″

sixteenthHLFill = “0000100101011111″

Funk Beat Example with Fill:

# Funk Beat Example
# Best Played at 92 to 100 Beats per minute
from earsketch import *

init()

setTempo(92)

funkbassbeat1 = "0+0+----0+0+-0++"
funkbassbeat2 = "0-0-------0--0--"

funkbackbeat1 = "----0--0-0-00---"
funkbackbeat2 = "----0--0-0-00--0"
sixteenthHL2 = "0000100101011000"
sixteenthHLFill = "0000100101011111"

bass = OS_LOWTOM01
snare = OS_SNARE01
hiOpen = OS_OPENHAT01
hiClosed = OS_CLOSEDHAT01
hats = [hiClosed, hiOpen]

for measure in range(1, 9):
    if (measure % 4 != 0):
        makeBeat(hats, 1, measure, sixteenthHL2)
        makeBeat(snare, 2, measure, funkbackbeat1)
        makeBeat(bass, 3, measure, funkbassbeat1)
    else:
        makeBeat(hats, 1, measure, sixteenthHLFill)
        makeBeat(snare, 2, measure, funkbackbeat2)
        makeBeat(bass, 3, measure, funkbassbeat2)

finish()

Amen Beat Example:

# Amen Beat Example
# Best played at 82 to 92 Beats per minute
from earsketch import *

init()

setTempo(88)

bass = OS_LOWTOM01
snare = OS_SNARE01
hiOpen = OS_OPENHAT01
hiClosed = OS_CLOSEDHAT01

hats = [hiClosed, hiOpen]
bassSnare = [bass, snare]

amenbeat1 = "0+0+1++1-1001++1"
amenbeat2 = "0+0+1++1-100--1+"
amenbeat3 = "-1001++1-10+--1+"

sixteenth = "0000100000001000"
sixteenthHL2 = "0000100101011000"

for measure in range(1, 9, 4):
    makeBeat(bassSnare, 2, measure, amenbeat1)
    makeBeat(bassSnare, 2, measure+1, amenbeat2)
    makeBeat(bassSnare, 2, measure+2, amenbeat2)
    makeBeat(bassSnare, 2, measure+3, amenbeat3)

for measure in range(1, 9):
    makeBeat(hats, 1, measure, sixteenthHL2)

finish()

Dub Step Style Beats:

Dub step music usually is played faster than 136 beats per minute with a ‘halftime’ feel using triplet style rhythms in the Bass Drum and Back Beat. Beats here will simulate the triplet style with a 3-sixteenth, 3-sixteenth, 2-sixteenth pattern. Dub step music also has longer patterns, usually extending across 4 measures, so the different beats are meant to be played in succession. Dub Step music also ‘breaks’ the Bass on 1 and 3 and the Back Beat on 2 and 4 rules.

Dub Bass Patterns (Played in succession)
dubBass1 = “0 + + + + + + + – – – – – – 0 +”
dubBass2 = “0 + + 0 + + 0 + – – – 0 + + 0 +”
dubBass3 = “0 + + 0 + + 0 + – – – – – – 0 +”
dubBass4 = “0 0 + 0 0 + 0 + – – – – – – – –”

Dub Snare Patterns (This example only plays on measure 4 of the pattern)
dubSnare = “– – – – – – – – – – 0 0 0 + – –”

Dub Clap Patterns:
dubClap = “– – – – – – – – 0 + + + + + + +”
dubClap1 = “– – – – – – – – 0 + + + + + 0 +”

Dub Hat Patterns: (With [closed, open] list)
dubHats1 = “– – – – 0 0 0 + 1 + + + + + + +” # Should be a triplet on beat 2
dubHats2 = “– – 0 + + 0 + + 1 + + + + + + +”
dubHats3 = “– – – – 0 0 0 + 1 + + + + + + +”
dubhats4 = “– – 0 + + 0 + + 1 + + 0 + + 0 +”

Dub Step Example:

# Dub Step Example
# Best played faster than 136 beats per minute
from earsketch import *

init()

setTempo(140)

dubBass1 = "0+++++++------0+"
dubBass2 = "0++0++0+---0++0+"
dubBass3 = "0++0++0+------0+"
dubBass4 = "00+00+0+--------"

dubSnare = "----------000+--"  #Only Used on measure 4

dubClap = "--------0+++++++"
dubClap1 = "--------0+++++0+"

dubHats1 = "----000+1+++++++"  # Should be a triplet on beat 2
dubHats2 = "--0++0++1+++++++"
dubHats3 = "----000+1+++++++"
dubHats4 = "--0++0++1++0++0+"

bass = OS_LOWTOM01
snare = OS_SNARE01
hiOpen = OS_OPENHAT01
hiClosed = OS_CLOSEDHAT01
hats = [hiClosed, hiOpen]

for measure in range (1, 9, 4):
    makeBeat(hats, 1, measure, dubHats1)
    makeBeat(hats, 1, measure+1, dubHats2)
    makeBeat(hats, 1, measure+2, dubHats3)
    makeBeat(hats, 1, measure+3, dubHats4)

    makeBeat(snare, 2, measure, dubClap)
    makeBeat(snare, 2, measure+1, dubClap)
    makeBeat(snare, 2, measure+2, dubClap)
    makeBeat(snare, 2, measure+3, dubClap1)

    makeBeat(snare, 3, measure+3, dubSnare)

    makeBeat(bass, 4, measure, dubBass1)
    makeBeat(bass, 4, measure+1, dubBass2)
    makeBeat(bass, 4, measure+2, dubBass3)
    makeBeat(bass, 4, measure+3, dubBass4)

finish()

African Style Drumming Patterns

These patterns seek to emulate the style of drumming ensembles and multi-layered percussion music based on African music. The patterns here are adapted from the “Unifix Patterns” as presented on the Phil Tulga website: http://www.philtulga.com/unifix.html. The drum patterns are designed to ‘weave’ in out and each pattern complements the other. These patterns also demonstrate the use of lists.

Unifix Pattern Set 1:
ftBeat = “0 – – 0 1 – – 1 0 – – 0 1 – – 1″
tcBeat = “1 – 1 – 1 1 – 1 – 0 – 0 – 1 1 –”
guiroBeat = “1 – 0 0 1 – 0 0 – 0 – 0 1 – 0 0″
skakerBeat = “1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1″
tubeBeat = “1 – – – 0 – – – 1 – – – 0 – – –”
bottleBeat = “0 – 0 – 1 1 – 0 – 0 – 0 – 1 1 –”

High Life from Nigeria:
ftBeat = “0 – – 0 0 – 1 – 0 – – 0 0 – 1 1″
tcBeat = “0 – – 0 0 – 1 – 0 – – 0 0 – 1 1″
guiroBeat = “0 – – 1 0 – 1 – – 1 – 1 0 – 1 –”
shakerBeat = “1 0 0 1 1 – 0 1 – 1 0 1 1 – 1 0″
tubeBeat = “1 – – 1 1 – 0 – – 1 – 1 – 1 0 –”
bottleBeat = “– 1 – 0 – – – 1 – 0 – – – 1 – 0″

Fanga Beat from Liberia:
ftBeat = “0 – – 1 – 1 1 – 0 – 0 – 1 1 – –”
tcBeat = “0 – – 1 – 1 1 – 0 – 0 – 1 1 – –”
guiroBeat = “0 – 1 – – – – 0 – – 1 1 1 – – 1″
shakerBeat = “1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1″
tubeBeat = “0 – – 0 – – – – 1 – 1 – – – – 1″
bottleBeat = “– – – 1 – 1 1 – 0 – 0 – 1 1 – 0″

From Ghana:
ftBeat = “0 0 0 1 – 1 0 – 0 0 0 1 – 1 0 –”
tcBeat = “0 – – 1 – 1 0 – 0 – – 1 – 1 0 –”
guiroBeat = “0 – – 1 0 – 1 – – 1 – 1 0 – 1 –”
shakerBeat = “1 0 0 1 – 1 0 1 – 1 0 1 1 0 0 1″
tubeBeat = “0 – – 1 – – 0 – – 1 – – 1 – – 0″
bottleBeat = “0 – 0 – – – – – 0 0 – 1 – – – 0″
Example of Unifix Patterns

# Example of Unifix Patterns
# Best played between 92 and 110 (but can be faster)
from earsketch import *

init()

setTempo(100)

fractionTubes = [HOUSE_BREAKBEAT_020, HIPHOP_TRAPHOP_BEAT_007]
tinCanDrum = [OS_COWBELL01, OS_COWBELL02]
guiro = [ELECTRO_DRUM_MAIN_BEAT_004, ELECTRO_DRUM_MAIN_BEAT_007]
shaker = [OS_OPENHAT02, OS_OPENHAT03]
tubeDrums = [OS_CLAP01, OS_CLAP02]
waterBottles = [OS_SNARE01, OS_OPENHAT06]

uniList = [fractionTubes, tinCanDrum, guiro, shaker, tubeDrums, waterBottles]

# From Ghana

ftBeat = "0001-10-0001-10-"
tcBeat = "0--1-10-0--1-10-"
guiroBeat = "0--10-1--1-10-1-"
shakerBeat = "1001-101-1011001"
tubeBeat = "0--1--0--1--1--0"
bottleBeat = "0-0-----00-1---0"

ghanaList = [ftBeat, tcBeat, guiroBeat, shakerBeat, tubeBeat, bottleBeat]

for measure in range(1, 9):
    for i in range(len(ghanaList)):
        track = i + 1
        makeBeat(uniList[i], track, measure, ghanaList[i])

finish()

Reference: Earsketch Unit Generator API

Recording and Uploading Sounds

$
0
0

Recording your own sounds

Uploading your own sounds and clips for use in an EarSketch project is a fun way to make your music more personalized.

You can use any method  to record sounds for use in your EarSketch projects, however EarSketch only currently supports sound files in a .wav format, so make sure whatever software or device you are using to record will allow you to save your files as a .wav.

One free recording program you might want to use to create sounds for your EarSketch projects is Audacity which is available for Mac and Windows computers.

Because Audacity is an “open-source” software (meaning that the code is shared and contributed to by its community of users) there are lots of free tutorials for learning to use Audacity online. This short guide to the basics of using Audacity in the classroom should help you with installing and getting started on recording. As you learn more there are lots of other tutorials and instructions in the Audacity online wiki.

Uploading .wav files to use in Earsketch

Once, you’ve recorded or found a .wav file you want to use in an EarSketch project, you can use the “Upload New Sounds” button below the EarSketch sound file browser to upload.

Screen Shot 2014-06-21 at 4.13.23 AM

Select the .wav file you want to upload and give it a name.

Screen Shot 2014-06-21 at 4.51.02 AM

If you know the tempo (BPM) of your sound, you should specify it in the dialog box. Once EarSketch knows the tempo of your sound, it will automatically speed it up or slow it down to match whatever tempo you specify in your EarSketch script using setTempo(). Your sound will then sync up rhythmically with the rest of your tracks.

If you don’t know the tempo, leave the tempo box blank. EarSketch will not speed up or slow down your sound to match setTempo(), but this is fine if your sound is a sound effect or a drum hit or something else that doesn’t need to sync rhythmically with other tracks. It is also fine for when you are using your sound with makeBeat().

Screen Shot 2014-07-30 at 3.53.38 PM

Once your sound is uploaded, you can find it in the sound browser inside the “USERSOUNDS” folder at the bottom. Upload as many clips as you want and start personalizing your EarSketch projects with original sounds!

Screen Shot 2014-06-21 at 4.49.41 AM

Viewing all 12 articles
Browse latest View live