Skip to main content

Set Instrument

Version 6.4.x

Version 6.4.0 brings built-in support for midi instruments (all 128 except percussives).

Set Default Instrument

// Set default intrument to "Acoustic Grand Piano".
Audio.setDefaultInstrument("Acoustic Grand Piano");

// Set default intrument to "Acoustic Grand Piano" (midi program 0).
Audio.setDefaultInstrument(0);

// Get default instrument name.
Audio.getDefaultInstrument();

Set Instruments for Document Voices

// Set "Acoustic Grand Piano" for voiceId 0.
builder.setInstrument(0, "Acoustic Grand Piano");

// Set "Bright Acoustic Piano" (midi program 1) for voiceIds 0, 1, 2 and 3.
builder.setInstrument([0, 1, 2, 3], 1);

Default instrument is used for voices if instrument has not been set (or is set to undefined).

Manage Instruments

// Get instrument name by midi program (returns undefined for invalid program).
Audio.getMidiInstrumentName(5); // "Electric Piano 2"

// Get list of all instruments.
Audio.getInstrumentList();
// Load all instruments required by document.
const doc = builder.getDocument();
doc.loadInstruments()
.then(() => { console.log("Instruments loaded."); });
.catch(err => console.error("Failed to load instruments:", err));

// Load singe instrument.
Audio.loadInstrument("Electric Piano 1")
.then(() => { console.log("Instrument loaded."); });
.catch(err => console.error("Failed to load instrument:", err));

Version 6.3.x and Earlier

Version 6.3.x has only two instruments: ClassicalGuitar and Synthesizer.

Synthesizer is installed by default.

ClassicalGuitar can be added manually.

Add Classical Guitar

// Import
import { ClassicalGuitar } from "web-music-score/audio-cg";

// Or require
const { ClassicalGuitar } = require("web-music-score/audio-cg");
<!-- Or load script via unpkg or jsDelivr CDM -->
<script src="https://unpkg.com/web-music-score@6.3.9/dist/iife/audio-cg.js"></script>
<script src="https://cdn.jsdelivr.net/npm/web-music-score@6.3.9/dist/iife/audio-cg.js"></script>
<script>
const { ClassicalGuitar } = window.AudioCG;
</script>
// Add instrument
Audio.addInstrument(ClassicalGuitar);

Manage Instruments

// Set instrument for playback.
Audio.useInstrument("Synthesizer");
Audio.useInstrument("Classical Guitar");

// Get current instrument name.
Audio.getCurrentInstrument();

// Get list of instrument names.
Audio.getInstrumentList();

Muting

You can mute and unmute all audio.

Audio.mute();
Audio.unmute();
Audio.isMuted();

Live Example