music21j
Version:
A toolkit for computer-aided musicology, Javascript version
65 lines • 2.25 kB
TypeScript
/**
* music21j -- Javascript reimplementation of Core music21p features.
* music21/instrument -- instrument objects
*
* Copyright (c) 2013-24, Michael Scott Asato Cuthbert
* Based on music21 (=music21p), Copyright (c) 2006-24, Michael Scott Asato Cuthbert
*/
import * as base from './base';
import type * as interval from './interval';
export declare const global_usedChannels: number[];
export declare const maxMidi: number;
interface InstrumentFileInfo {
fn: string;
name: string;
midiNumber: number;
}
export declare const info: InstrumentFileInfo[];
/**
* Represents an instrument. instrumentNames are found in the ext/soundfonts directory
*
* Note that unlike music21p -- for now there is only one instrument object: Instrument
* there are no Piano, Flute, etc. objects
*
* See music21.miditools and esp. `loadSoundfont` for a way of loading soundfonts into
* instruments.
*/
export declare class Instrument extends base.Music21Object {
static get className(): string;
partId: string;
partName: string;
partAbbreviation: string;
instrumentId: string;
instrumentName: string;
instrumentAbbreviation: string;
midiProgram: number | undefined;
_midiChannel: number | undefined;
lowestNote: number;
highestNote: number;
transposition: interval.Interval;
inGMPercMap: boolean;
soundfontFn: string;
constructor(instrumentName?: string);
/**
* Assign an instrument to an unused midi channel.
*
* Will use the global list of used channels (`music21.instrument.Instrument.usedChannels`)
* if not given. Assigns up to `music21.instrument.maxMidi` channels (16)
* Skips 10 unless this.inGMPercMap is true
*/
autoAssignMidiChannel(usedChannels?: number[]): number;
get oggSoundfont(): string;
get mp3Soundfont(): string;
get midiChannel(): number;
set midiChannel(ch: number);
}
/**
* Find information for a given instrument (by filename or name)
* and load it into an instrument object.
*
* fn - name or filename of instrument
* [inst] - instrument object to load into
*/
export declare function find(fn: string, inst?: Instrument): Instrument | undefined;
export {};
//# sourceMappingURL=instrument.d.ts.map