46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
export interface PianoSampleDefinition {
|
|
midi: number;
|
|
url: string;
|
|
}
|
|
|
|
const sampleBaseUrl = `${import.meta.env.BASE_URL}audio/piano/`;
|
|
|
|
const sampleFiles: Array<[fileName: string, midi: number]> = [
|
|
['A0v12.m4a', 21],
|
|
['C1v12.m4a', 24],
|
|
['Dsharp1v12.m4a', 27],
|
|
['Fsharp1v12.m4a', 30],
|
|
['A1v12.m4a', 33],
|
|
['C2v12.m4a', 36],
|
|
['Dsharp2v12.m4a', 39],
|
|
['Fsharp2v12.m4a', 42],
|
|
['A2v12.m4a', 45],
|
|
['C3v12.m4a', 48],
|
|
['Dsharp3v12.m4a', 51],
|
|
['Fsharp3v12.m4a', 54],
|
|
['A3v12.m4a', 57],
|
|
['C4v12.m4a', 60],
|
|
['Dsharp4v12.m4a', 63],
|
|
['Fsharp4v12.m4a', 66],
|
|
['A4v12.m4a', 69],
|
|
['C5v12.m4a', 72],
|
|
['Dsharp5v12.m4a', 75],
|
|
['Fsharp5v12.m4a', 78],
|
|
['A5v12.m4a', 81],
|
|
['C6v12.m4a', 84],
|
|
['Dsharp6v12.m4a', 87],
|
|
['Fsharp6v12.m4a', 90],
|
|
['A6v12.m4a', 93],
|
|
['C7v12.m4a', 96],
|
|
['Dsharp7v12.m4a', 99],
|
|
['Fsharp7v12.m4a', 102],
|
|
['A7v12.m4a', 105],
|
|
['C8v12.m4a', 108],
|
|
];
|
|
|
|
export const pianoSampleDefinitions: Array<PianoSampleDefinition> = sampleFiles
|
|
.map(([fileName, midi]) => ({
|
|
midi,
|
|
url: `${sampleBaseUrl}${fileName}`,
|
|
}))
|
|
.sort((a, b) => a.midi - b.midi);
|