Merge pull request #237 from tidalcycles/tidal-drum-machines

Tidal drum machines
This commit is contained in:
Felix Roos 2022-11-01 00:36:14 +01:00 committed by GitHub
commit 3741ffbb59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 4889 additions and 2297 deletions

View File

@ -100,6 +100,22 @@ const generic_params = [
'attack',
'a pattern of numbers to specify the attack time (in seconds) of an envelope applied to each sample.',
],
/**
* Select the sound bank to use. To be used together with `s`. The bank name (+ "_") will be prepended to the value of `s`.
*
* @name bank
* @param {string | Pattern} bank the name of the bank
* @example
* s("bd sd").bank('RolandTR909') // = s("RolandTR909_bd RolandTR909_sd")
*
*/
[
'f',
'bank',
'selects sound bank to use',
],
// TODO: find out how this works?
/*
* Envelope decay time = the time it takes after the attack time to reach the sustain level.

View File

@ -246,6 +246,7 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => {
let {
freq,
s,
bank,
sf,
clip = 0, // if 1, samples will be cut off when the hap ends
n = 0,
@ -281,6 +282,9 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => {
gain *= velocity; // legacy fix for velocity
// the chain will hold all audio nodes that connect to each other
const chain = [];
if (bank && s) {
s = `${bank}_${s}`;
}
if (typeof s === 'string') {
[s, n] = splitSN(s, n);
}

33
repl/public/piano.json Normal file
View File

@ -0,0 +1,33 @@
{
"piano": {
"A0": "A0v8.mp3",
"C1": "C1v8.mp3",
"Ds1": "Ds1v8.mp3",
"Fs1": "Fs1v8.mp3",
"A1": "A1v8.mp3",
"C2": "C2v8.mp3",
"Ds2": "Ds2v8.mp3",
"Fs2": "Fs2v8.mp3",
"A2": "A2v8.mp3",
"C3": "C3v8.mp3",
"Ds3": "Ds3v8.mp3",
"Fs3": "Fs3v8.mp3",
"A3": "A3v8.mp3",
"C4": "C4v8.mp3",
"Ds4": "Ds4v8.mp3",
"Fs4": "Fs4v8.mp3",
"A4": "A4v8.mp3",
"C5": "C5v8.mp3",
"Fs5": "Fs5v8.mp3",
"A5": "A5v8.mp3",
"C6": "C6v8.mp3",
"Ds6": "Ds6v8.mp3",
"Fs6": "Fs6v8.mp3",
"A6": "A6v8.mp3",
"C7": "C7v8.mp3",
"Ds7": "Ds7v8.mp3",
"Fs7": "Fs7v8.mp3",
"A7": "A7v8.mp3",
"C8": "C8v8.mp3"
}
}

File diff suppressed because it is too large Load Diff

2164
repl/public/vcsl.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff