Merge remote-tracking branch 'origin/tidal-drum-machines' into some-tunes

This commit is contained in:
Felix Roos 2022-11-01 00:36:53 +01:00
commit 48fc68bfdb
6 changed files with 4889 additions and 2297 deletions

View File

@ -100,6 +100,22 @@ const generic_params = [
'attack', 'attack',
'a pattern of numbers to specify the attack time (in seconds) of an envelope applied to each sample.', '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? // TODO: find out how this works?
/* /*
* Envelope decay time = the time it takes after the attack time to reach the sustain level. * 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 { let {
freq, freq,
s, s,
bank,
sf, sf,
clip = 0, // if 1, samples will be cut off when the hap ends clip = 0, // if 1, samples will be cut off when the hap ends
n = 0, n = 0,
@ -281,6 +282,9 @@ export const webaudioOutput = async (hap, deadline, hapDuration) => {
gain *= velocity; // legacy fix for velocity gain *= velocity; // legacy fix for velocity
// the chain will hold all audio nodes that connect to each other // the chain will hold all audio nodes that connect to each other
const chain = []; const chain = [];
if (bank && s) {
s = `${bank}_${s}`;
}
if (typeof s === 'string') { if (typeof s === 'string') {
[s, n] = splitSN(s, n); [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