Constructor
new Instrument()
    Create an instrument. It will import audio context and prepare its internal state.
- Source:
Methods
get()
    Loads instrument from the web and stores it as a resolvable promise
    Parameters:
| Name | Type | Description | 
|---|---|---|
| instrumentName. | List of all instrument names in src/constants/INSTRUMENTS | 
- Source:
Returns:
    Promise
 
    
        
            
    
    play(notes, meta, note)
    play array of notes
    Parameters:
| Name | Type | Description | 
|---|---|---|
| notes | ||
| meta | ||
| note | settings | 
- Source:
Returns:
    Promise
 
    
        
            
    
    startPlayingChordByChordName(firstNoteName, chordName, note)
    startPlayingChordByChordName
    Parameters:
| Name | Type | Description | 
|---|---|---|
| firstNoteName | ||
| chordName | ||
| note | settings | 
- Source:
Returns:
    Promise
 
    
    Example
const instrument = new Instrument();
instrument.startPlayingChordByChordName('A3', 'maj', {instrumentName: 'acoustic_grand_piano', startTimeInMS: 0, durationInMS: 1000, endTimeInMS: 1000})startPlayingChordByNoteNames(noteNames, note)
    Start playing chord by note names
    Parameters:
| Name | Type | Description | 
|---|---|---|
| noteNames | ||
| note | settings | 
- Source:
Returns:
    Promise
 
    
    Example
const instrument = new Instrument();
instrument.startPlayingChordByNoteNames(['A3','C3','E3'], {instrumentName: 'acoustic_grand_piano', startTimeInMS: 0, durationInMS: 1000, endTimeInMS: 1000})startPlayingNote(note)
    Start playing note, if note.payload.durationInMS is -1 it will keep playing infinitely until it is explicitly stopped.
{ payload: { id, instrumentName, startTimeInMS, instrumentName, name, gain, duration }}
    Parameters:
| Name | Type | Description | 
|---|---|---|
| note | 
- Source:
Returns:
    Promise
 
    
        
            
    
    stop(notes, meta, note)
    stop playing array of notes
    Parameters:
| Name | Type | Description | 
|---|---|---|
| notes | ||
| meta | ||
| note | settings | 
- Source:
Returns:
    Promise
 
    
        
            
    
    stopPlayingChordByChordName(firstNoteName, chordName, note)
    stopPlayingChordByChordName
    Parameters:
| Name | Type | Description | 
|---|---|---|
| firstNoteName | ||
| chordName | ||
| note | settings | 
- Source:
Returns:
    Promise
 
    
    Example
const instrument = new Instrument();
instrument.stopPlayingChordByChordName('A3', 'maj', {instrumentName: 'acoustic_grand_piano', startTimeInMS: 0, durationInMS: 1000, endTimeInMS: 1000})stopPlayingChordByNoteNames(noteNames, note)
    Stop playing chord by note names
    Parameters:
| Name | Type | Description | 
|---|---|---|
| noteNames | ||
| note | settings | 
- Source:
Returns:
    Promise
 
    
    Example
const instrument = new Instrument();
instrument.stopPlayingChordByNoteNames(['A3','C3','E3'], {instrumentName: 'acoustic_grand_piano', startTimeInMS: 0, durationInMS: 1000, endTimeInMS: 1000})stopPlayingNote(note)
    Stop playing note
{ payload: { id, instrumentName, startTimeInMS, instrumentName, name, gain, duration }}
    Parameters:
| Name | Type | Description | 
|---|---|---|
| note | 
- Source:
Returns:
    Promise