spessasynth_core 4.3.22 → 4.4.0
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 +27 -11
- package/dist/index.d.ts +5521 -2646
- package/dist/index.js +37323 -15089
- package/dist/index.js.map +1 -1
- package/package.json +16 -8
package/README.md
CHANGED
|
@@ -12,12 +12,13 @@ It allows you to:
|
|
|
12
12
|
- Read and write MIDI files!
|
|
13
13
|
- Read and write SF2/SF3 files!
|
|
14
14
|
- Convert DLS to SF2! (and back!)
|
|
15
|
+
- Play tracker modules (MOD, XM, S3M) as MIDI files!
|
|
15
16
|
- [and more!](#current-features)
|
|
16
17
|
|
|
17
|
-
### v4.
|
|
18
|
+
### v4.4.0 The XG Update is here!
|
|
18
19
|
|
|
19
|
-
Featuring
|
|
20
|
-
|
|
20
|
+
Featuring full Yamaha XG effects, tracker module playback,
|
|
21
|
+
a more capable MIDI editor, and a faster synthesis engine!
|
|
21
22
|
|
|
22
23
|
> **Tip:**
|
|
23
24
|
>
|
|
@@ -50,7 +51,7 @@ and reworked, more powerful API!
|
|
|
50
51
|
- **Flexible:** _It's not just a MIDI player!_
|
|
51
52
|
- **Easy to Use:** _Basic setup is
|
|
52
53
|
just [two lines of code!](https://spessasus.github.io/spessasynth_core/getting-started#minimal-setup)_
|
|
53
|
-
- **
|
|
54
|
+
- **Minimal dependencies:** _Only tiny `fflate` for XMF and `stb-vorbis` for SF3 support!_
|
|
54
55
|
- **Full TypeScript definitions:** _Autocompletion in IDEs!_
|
|
55
56
|
|
|
56
57
|
### Powerful MIDI Synthesizer
|
|
@@ -77,11 +78,12 @@ and reworked, more powerful API!
|
|
|
77
78
|
- **Sound bank manager:** Stack multiple sound banks!
|
|
78
79
|
- **Unlimited channel count:** Your CPU is the limit!
|
|
79
80
|
- **Built-in, configurable effects:**
|
|
81
|
+
- **Full Yamaha XG effects:** _Reverb, chorus, variation and insertion effects, accurately ported from S-YXG50!_
|
|
80
82
|
- **Reverb:** _Multiple characters including delay and panning delay!_
|
|
81
83
|
- **Chorus:** _Modulated delay lines with multiple presets!_
|
|
82
84
|
- **Delay:** _Three delay lines for all of your delay needs!_
|
|
83
85
|
- **Insertion Effects:** _The ultimate effects, they can give your sounds a completely different character! (limited support)_
|
|
84
|
-
- **GS Compatible:** _MIDI files can configure the effects accurately!_
|
|
86
|
+
- **GS and XG Compatible:** _MIDI files can configure the effects accurately!_
|
|
85
87
|
- **Replaceable:** _Effects not to your liking? You can replace them with your own!_
|
|
86
88
|
- **Excellent MIDI Standards Support:**
|
|
87
89
|
- **MIDI Controller Support:** Default supported
|
|
@@ -142,10 +144,19 @@ and reworked, more powerful API!
|
|
|
142
144
|
|
|
143
145
|
#### Read and play XMF files
|
|
144
146
|
|
|
145
|
-
- **Read the eXtensible Music Format files:**
|
|
146
|
-
- **MXMF support:**
|
|
147
|
-
- **Compression support:**
|
|
148
|
-
- **Seamless integration:**
|
|
147
|
+
- **Read the eXtensible Music Format files:** _With embedded DLS sound banks!_
|
|
148
|
+
- **MXMF support:** _Mobile XMF for old phone ringtones!_
|
|
149
|
+
- **Compression support:** _Zlib compressed files can still be read!_
|
|
150
|
+
- **Seamless integration:** _Read like RMIDI files!_
|
|
151
|
+
|
|
152
|
+
#### Read and play tracker modules
|
|
153
|
+
|
|
154
|
+
- **MOD, XM and S3M support:** _ProTracker, FastTracker 2 and Scream Tracker 3 modules load just like MIDI files!_
|
|
155
|
+
- **Converted to MIDI with an embedded sound bank:** Every sample becomes a preset, and the song can be saved as an RMIDI file!
|
|
156
|
+
- **Accurate playback:** _Effects, effect memory, instrument envelopes and auto-vibrato are converted to MIDI events!_
|
|
157
|
+
- **Sample offset support:** _Implemented with SoundFont modulators!_
|
|
158
|
+
- **Loop detection:** _Song loops and restart positions become loop points!_
|
|
159
|
+
- **Seamless integration:** _Read like any other MIDI file!_
|
|
149
160
|
|
|
150
161
|
#### Read and write SoundFont2 files
|
|
151
162
|
|
|
@@ -193,7 +204,7 @@ and reworked, more powerful API!
|
|
|
193
204
|
|
|
194
205
|
#### TODO
|
|
195
206
|
|
|
196
|
-
- Improve the performance of the engine
|
|
207
|
+
- Improve the performance of the engine (it's already quite good, but there's always room for improvement)
|
|
197
208
|
- Potentially port the system to Emscripten
|
|
198
209
|
|
|
199
210
|
### Special Thanks
|
|
@@ -208,6 +219,7 @@ and reworked, more powerful API!
|
|
|
208
219
|
- [foo_midi](https://github.com/stuerp/foo_midi) - for useful resources on XMF file format
|
|
209
220
|
- [Falcosoft](https://falcosoft.hu) - for help with the RMIDI format
|
|
210
221
|
- [Christian Collins](https://schristiancollins.com) - for various bug reports regarding the synthesizer
|
|
222
|
+
- [OpenMPT](https://openmpt.org/) - for useful resources on the tracker formats
|
|
211
223
|
- **And You!** - for checking out this project. I hope you like it :)
|
|
212
224
|
|
|
213
225
|
**If you like this project, consider giving it a star. It really helps out!**
|
|
@@ -248,7 +260,7 @@ const synth = new SpessaSynthProcessor(sampleRate, {
|
|
|
248
260
|
eventsEnabled: false
|
|
249
261
|
});
|
|
250
262
|
synth.soundBankManager.addSoundBank(soundBank, "main");
|
|
251
|
-
await synth.
|
|
263
|
+
await synth.ready;
|
|
252
264
|
// Enable verbose information during render
|
|
253
265
|
SpessaLog.setLogLevel(true, true, true);
|
|
254
266
|
// Enable uncapped voice count
|
|
@@ -311,6 +323,10 @@ npm run build
|
|
|
311
323
|
|
|
312
324
|
The files will be placed in the `dist` folder.
|
|
313
325
|
|
|
326
|
+
#### Test Suite
|
|
327
|
+
|
|
328
|
+
This library has a comprehensive MIDI testing suite. For more information, please read the [tests `README`](tests/README.md).
|
|
329
|
+
|
|
314
330
|
## License
|
|
315
331
|
|
|
316
332
|
Copyright © 2026 Spessasus
|