spessasynth_lib 3.27.8 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -47
- package/dist/index.d.ts +1328 -0
- package/dist/index.js +3212 -0
- package/dist/index.js.map +1 -0
- package/dist/spessasynth_processor.min.js +21 -0
- package/dist/spessasynth_processor.min.js.map +7 -0
- package/package.json +26 -14
- package/index.js +0 -29
- package/src/external_midi/README.md +0 -4
- package/src/external_midi/midi_handler.js +0 -130
- package/src/external_midi/web_midi_link.js +0 -43
- package/src/sequencer/README.md +0 -30
- package/src/sequencer/default_sequencer_options.js +0 -9
- package/src/sequencer/midi_data.js +0 -67
- package/src/sequencer/sequencer.js +0 -813
- package/src/sequencer/sequencer_message.js +0 -53
- package/src/synthetizer/README.md +0 -30
- package/src/synthetizer/audio_effects/effects_config.js +0 -25
- package/src/synthetizer/audio_effects/fancy_chorus.js +0 -166
- package/src/synthetizer/audio_effects/rb_compressed.min.js +0 -1
- package/src/synthetizer/audio_effects/reverb.js +0 -35
- package/src/synthetizer/audio_effects/reverb_as_binary.js +0 -18
- package/src/synthetizer/key_modifier_manager.js +0 -113
- package/src/synthetizer/sfman_message.js +0 -9
- package/src/synthetizer/synth_event_handler.js +0 -217
- package/src/synthetizer/synth_soundfont_manager.js +0 -115
- package/src/synthetizer/synthetizer.js +0 -1033
- package/src/synthetizer/worklet_message.js +0 -121
- package/src/synthetizer/worklet_processor.js +0 -654
- package/src/synthetizer/worklet_url.js +0 -18
- package/src/utils/buffer_to_wav.js +0 -40
- package/src/utils/fill_with_defaults.js +0 -21
- package/src/utils/other.js +0 -11
- package/synthetizer/worklet_processor.min.js +0 -22
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { SynthesizerSnapshot } from "spessasynth_core";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @enum {number}
|
|
5
|
-
* // NOTE: Every message needs a channel number (if not relevant or all, set to -1)
|
|
6
|
-
* @property {number} midiMessage - 0 -> [messageData<Uint8Array>, channelOffset<number>, force<boolean>, options<SynthMethodOptions>]
|
|
7
|
-
* @property {number} ccReset - 7 -> (no data) note: if channel is -1 then reset all channels
|
|
8
|
-
* @property {number} setChannelVibrato - 8 -> {frequencyHz: number, depthCents: number, delaySeconds: number} note: if channel is -1 then stop all channels note 2: if rate is -1, it means locking
|
|
9
|
-
* @property {number} soundFontManager - 9 -> [messageType<WorkletSoundfontManagerMessageType> messageData<any>] note: refer to sfman_message.js
|
|
10
|
-
* @property {number} stopAll - 10 -> force<number> (0 false, 1 true) note: if channel is -1 then stop all channels
|
|
11
|
-
* @property {number} killNotes - 11 -> amount<number>
|
|
12
|
-
* @property {number} muteChannel - 12 -> isMuted<boolean>
|
|
13
|
-
* @property {number} addNewChannel - 13 -> (no data)
|
|
14
|
-
* @property {number} customCcChange - 14 -> [ccNumber<number>, ccValue<number>]
|
|
15
|
-
* @property {number} debugMessage - 15 -> (no data)
|
|
16
|
-
* @property {number} setMasterParameter - 17 -> [parameter<masterParameterType>, value<number>]
|
|
17
|
-
* @property {number} setDrums - 18 -> isDrums<boolean>
|
|
18
|
-
* @property {number} transpose - 19 -> [semitones<number>, force<boolean>] note: if channel is -1 then transpose all channels
|
|
19
|
-
* @property {number} highPerformanceMode - 20 -> isOn<boolean>
|
|
20
|
-
* @property {number} lockController - 21 -> [controllerNumber<number>, isLocked<boolean>]
|
|
21
|
-
* @property {number} sequencerSpecific - 22 -> [messageType<SpessaSynthSequencerMessageType> messageData<any>] note: refer to sequencer_message.js
|
|
22
|
-
* @property {number} requestSynthesizerSnapshot - 23 -> (no data)
|
|
23
|
-
* @property {number} setLogLevel - 24 -> [enableInfo<boolean>, enableWarning<boolean>, enableGroup<boolean>, enableTable<boolean>]
|
|
24
|
-
* @property {number} keyModifier - 25 -> [messageType<workletKeyModifierMessageType> messageData<any>]
|
|
25
|
-
* @property {number} setEffectsGain - 26 -> [reverbGain<number>, chorusGain<number>]
|
|
26
|
-
* @property {number} destroyWorklet - 27 -> (no data)
|
|
27
|
-
*/
|
|
28
|
-
export const workletMessageType = {
|
|
29
|
-
midiMessage: 0,
|
|
30
|
-
// free 6 slots here, use when needed instead of adding new ones
|
|
31
|
-
ccReset: 7,
|
|
32
|
-
setChannelVibrato: 8,
|
|
33
|
-
soundFontManager: 9,
|
|
34
|
-
stopAll: 10,
|
|
35
|
-
killNotes: 11,
|
|
36
|
-
muteChannel: 12,
|
|
37
|
-
addNewChannel: 13,
|
|
38
|
-
customCcChange: 14,
|
|
39
|
-
debugMessage: 15,
|
|
40
|
-
// free slot here
|
|
41
|
-
setMasterParameter: 17,
|
|
42
|
-
setDrums: 18,
|
|
43
|
-
transpose: 19,
|
|
44
|
-
highPerformanceMode: 20,
|
|
45
|
-
lockController: 21,
|
|
46
|
-
sequencerSpecific: 22,
|
|
47
|
-
requestSynthesizerSnapshot: 23,
|
|
48
|
-
setLogLevel: 24,
|
|
49
|
-
keyModifierManager: 25,
|
|
50
|
-
setEffectsGain: 26,
|
|
51
|
-
destroyWorklet: 27
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* @typedef {{
|
|
57
|
-
* channelNumber: number
|
|
58
|
-
* messageType: (workletMessageType|number),
|
|
59
|
-
* messageData: (
|
|
60
|
-
* boolean|
|
|
61
|
-
* (number|Uint8Array|object)[]
|
|
62
|
-
* |undefined
|
|
63
|
-
* |boolean[]
|
|
64
|
-
* |boolean
|
|
65
|
-
* |Voice[]
|
|
66
|
-
* |number
|
|
67
|
-
* |{rate: number, depth: number, delay: number}
|
|
68
|
-
* |ArrayBuffer
|
|
69
|
-
* |{messageType: SpessaSynthSequencerMessageType, messageData: any}
|
|
70
|
-
* |{messageType: workletKeyModifierMessageType, messageData: any}
|
|
71
|
-
* |Uint8Array
|
|
72
|
-
* )
|
|
73
|
-
* }} WorkletMessage
|
|
74
|
-
*/
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* @typedef {Object} ChannelProperty
|
|
78
|
-
* @property {number} voicesAmount - the channel's current voice amount
|
|
79
|
-
* @property {number} pitchBend - the channel's current pitch bend from -8192 do 8192
|
|
80
|
-
* @property {number} pitchBendRangeSemitones - the pitch bend's range, in semitones
|
|
81
|
-
* @property {boolean} isMuted - indicates whether the channel is muted
|
|
82
|
-
* @property {boolean} isDrum - indicates whether the channel is a drum channel
|
|
83
|
-
* @property {number} transposition - the channel's transposition, in semitones
|
|
84
|
-
* @property {number} bank - the bank number of the current preset
|
|
85
|
-
* @property {number} program - the MIDI program number of the current preset
|
|
86
|
-
*/
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* @typedef {Object} WorkletReturnMessage
|
|
90
|
-
* @property {returnMessageType} messageType - the message's type
|
|
91
|
-
* @property {{
|
|
92
|
-
* eventName: string,
|
|
93
|
-
* eventData: any
|
|
94
|
-
* }|ChannelProperty
|
|
95
|
-
* |{presetName: string, bank: number, program: number}[]
|
|
96
|
-
* |string
|
|
97
|
-
* |{messageType: SpessaSynthSequencerReturnMessageType, messageData: any}
|
|
98
|
-
* |SynthesizerSnapshot
|
|
99
|
-
* |[WorkletSoundfontManagerMessageType, any]} messageData - the message's data
|
|
100
|
-
*
|
|
101
|
-
* 0 - channel property change -> [channel<number>, property<ChannelProperty>] see message_sending.js line 29
|
|
102
|
-
* 1 - event call -> {eventName<string>, eventData:<the event's data>}
|
|
103
|
-
* 2 - master parameter change -> [parameter<masterParameterType>, value<string|number>]
|
|
104
|
-
* 3 - sequencer specific -> [messageType<SpessaSynthSequencerReturnMessageType> messageData<any>] note: refer to sequencer_message.js
|
|
105
|
-
* 4 - synthesizer snapshot -> snapshot<SynthesizerSnapshot> note: refer to synthesizer_snapshot.js
|
|
106
|
-
* 5 - isFullyInitialized -> (no data)
|
|
107
|
-
* 6 - soundfontError -> errorMessage<string>
|
|
108
|
-
*/
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* @enum {number}
|
|
112
|
-
*/
|
|
113
|
-
export const returnMessageType = {
|
|
114
|
-
channelPropertyChange: 0,
|
|
115
|
-
eventCall: 1,
|
|
116
|
-
masterParameterChange: 2,
|
|
117
|
-
sequencerSpecific: 3,
|
|
118
|
-
synthesizerSnapshot: 4,
|
|
119
|
-
isFullyInitialized: 5,
|
|
120
|
-
soundfontError: 6
|
|
121
|
-
};
|