spessasynth_core 4.4.5 → 4.4.6
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 +19 -16
- package/dist/index.d.ts +383 -125
- package/dist/index.js +795 -299
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -50,7 +50,7 @@ a more capable MIDI editor, and a faster synthesis engine!
|
|
|
50
50
|
- **Modular design:** _Easy integration into other projects (only load what you need)_
|
|
51
51
|
- **Flexible:** _It's not just a MIDI player!_
|
|
52
52
|
- **Easy to Use:** _Basic setup is
|
|
53
|
-
just [
|
|
53
|
+
just [a few lines of code!](https://spessasus.github.io/spessasynth_core/getting-started#minimal-setup)_
|
|
54
54
|
- **Minimal dependencies:** _Only tiny `fflate` for XMF and `stb-vorbis` for SF3 support!_
|
|
55
55
|
- **Full TypeScript definitions:** _Autocompletion in IDEs!_
|
|
56
56
|
|
|
@@ -82,7 +82,7 @@ a more capable MIDI editor, and a faster synthesis engine!
|
|
|
82
82
|
- **Reverb:** _Multiple characters including delay and panning delay!_
|
|
83
83
|
- **Chorus:** _Modulated delay lines with multiple presets!_
|
|
84
84
|
- **Delay:** _Three delay lines for all of your delay needs!_
|
|
85
|
-
- **Insertion Effects:** _The ultimate effects, they can give your sounds a completely different character! (
|
|
85
|
+
- **Insertion Effects:** _The ultimate effects, they can give your sounds a completely different character! (all 64 SC-88Pro EFX types)_
|
|
86
86
|
- **GS and XG Compatible:** _MIDI files can configure the effects accurately!_
|
|
87
87
|
- **Replaceable:** _Effects not to your liking? You can replace them with your own!_
|
|
88
88
|
- **Excellent MIDI Standards Support:**
|
|
@@ -98,7 +98,7 @@ a more capable MIDI editor, and a faster synthesis engine!
|
|
|
98
98
|
- [**AWE32**
|
|
99
99
|
NRPN Compatibility Layer](https://spessasus.github.io/spessasynth_core/extra/midi-implementation#awe32-nrpn-compatibility-layer)
|
|
100
100
|
- [**Roland GS** and **Yamaha XG**
|
|
101
|
-
support!](https://spessasus.github.io/spessasynth_core/extra/midi-implementation#
|
|
101
|
+
support!](https://spessasus.github.io/spessasynth_core/extra/midi-implementation#system-exclusives)
|
|
102
102
|
|
|
103
103
|
### Powerful and Fast MIDI Sequencer
|
|
104
104
|
|
|
@@ -121,14 +121,14 @@ a more capable MIDI editor, and a faster synthesis engine!
|
|
|
121
121
|
- **Used channels on track:** _Quickly determine which channels are used!_
|
|
122
122
|
- **Key range detection:** _Detect the key range of the MIDI!_
|
|
123
123
|
- **Easy MIDI editing:**
|
|
124
|
-
Use [helper functions](https://spessasus.github.io/spessasynth_core/
|
|
124
|
+
Use [helper functions](https://spessasus.github.io/spessasynth_core/classes/BasicMIDI/#modify) to modify the
|
|
125
125
|
song to your needs!
|
|
126
126
|
- **Loop detection:** _Automatically detects loops in MIDIs (e.g., from **Touhou Project**)_
|
|
127
127
|
- **First note detection:** _Skip unnecessary silence at the start by jumping to the first note!_
|
|
128
128
|
- **Lyrics support:** _Both regular MIDI and .kar files!_
|
|
129
|
-
- **[Write MIDI files from scratch](https://spessasus.github.io/spessasynth_core/
|
|
129
|
+
- **[Write MIDI files from scratch](https://spessasus.github.io/spessasynth_core/classes/MIDIBuilder/)**
|
|
130
130
|
- **Easy saving:** _Save with
|
|
131
|
-
just [one function!](https://spessasus.github.io/spessasynth_core/
|
|
131
|
+
just [one function!](https://spessasus.github.io/spessasynth_core/classes/BasicMIDI/#writemidi)_
|
|
132
132
|
|
|
133
133
|
#### Read and write [RMID files with embedded sound banks](https://github.com/spessasus/sf2-rmidi-specification#readme)
|
|
134
134
|
|
|
@@ -140,7 +140,7 @@ a more capable MIDI editor, and a faster synthesis engine!
|
|
|
140
140
|
encoding!)_
|
|
141
141
|
- **Compatible with [Falcosoft MIDI Player 6!](https://falcosoft.hu/softwares.html#midiplayer)**
|
|
142
142
|
- **Easy saving:**
|
|
143
|
-
_[As simple as saving a MIDI file!](https://spessasus.github.io/spessasynth_core/
|
|
143
|
+
_[As simple as saving a MIDI file!](https://spessasus.github.io/spessasynth_core/classes/BasicMIDI/#writermidi)_
|
|
144
144
|
|
|
145
145
|
#### Read and play XMF files
|
|
146
146
|
|
|
@@ -161,25 +161,28 @@ a more capable MIDI editor, and a faster synthesis engine!
|
|
|
161
161
|
#### Read and write SoundFont2 files
|
|
162
162
|
|
|
163
163
|
- **Easy info access:** _Just
|
|
164
|
-
an [object of strings!](https://spessasus.github.io/spessasynth_core/
|
|
164
|
+
an [object of strings!](https://spessasus.github.io/spessasynth_core/classes/BasicSoundBank/#soundbankinfo)_
|
|
165
165
|
- **Smart trimming:** Trim the sound bank to only include samples used in the MIDI _(down to key and velocity!)_
|
|
166
|
-
- **SF3 conversion:** _Compress SoundFont2 files to SoundFont3 with
|
|
167
|
-
|
|
166
|
+
- **SF3 conversion:** _Compress SoundFont2 files to SoundFont3 with an encoder of your choice
|
|
167
|
+
([see the example](https://github.com/spessasus/spessasynth_core/blob/master/examples/compress_to_sf3.ts))!_
|
|
168
|
+
- **Easy saving:** _Also just [one function!](https://spessasus.github.io/spessasynth_core/classes/BasicSoundBank/#writesf2)_
|
|
169
|
+
- **SFE support:** _Experimental reading and writing of [SF-Enhanced](https://sfe-team-was-taken.github.io/SFE/) banks!_
|
|
168
170
|
|
|
169
171
|
#### Read and write SoundFont3 files
|
|
170
172
|
|
|
171
|
-
- Same features as SoundFont2 but
|
|
173
|
+
- Same features as SoundFont2 but now with **Ogg Vorbis compression!**
|
|
172
174
|
- **Variable compression quality:** _You choose between file size and quality!_
|
|
173
175
|
- **Compression preserving:** _Avoid decompressing and recompressing uncompressed samples for minimal quality loss!_
|
|
174
|
-
- **Custom compression function:**
|
|
176
|
+
- **Custom compression function:** _You supply the encoder, so other formats than Vorbis can be written too
|
|
177
|
+
(SpessaSynth only plays Ogg Vorbis back)._
|
|
175
178
|
|
|
176
179
|
#### Read and write DLS Level One or Two files
|
|
177
180
|
|
|
178
181
|
- Read DLS (DownLoadable Sounds) files like SF2 files!
|
|
179
182
|
- **Native support:** _Saving it as sf2 is
|
|
180
|
-
still [just one function!](https://spessasus.github.io/spessasynth_core/
|
|
183
|
+
still [just one function!](https://spessasus.github.io/spessasynth_core/classes/BasicSoundBank/#writesf2)_
|
|
181
184
|
- _That's right, saving as DLS is
|
|
182
|
-
also [just one function!](https://spessasus.github.io/spessasynth_core/
|
|
185
|
+
also [just one function!](https://spessasus.github.io/spessasynth_core/classes/BasicSoundBank/#writedls)_
|
|
183
186
|
- Converts articulators to both **modulators** and **generators**!
|
|
184
187
|
- Works with both unsigned 8-bit samples and signed 16-bit samples!
|
|
185
188
|
- **A-Law encoding support:** _Sure, why not?_
|
|
@@ -195,7 +198,7 @@ a more capable MIDI editor, and a faster synthesis engine!
|
|
|
195
198
|
- **Cue points:** _Write MIDI loop points as cue points!_
|
|
196
199
|
- **Loop multiple times:** _Render two (or more) loops into the file for seamless transitions!_
|
|
197
200
|
- _That's right, saving as WAV is
|
|
198
|
-
also [just one function!](https://spessasus.github.io/spessasynth_core/
|
|
201
|
+
also [just one function!](https://spessasus.github.io/spessasynth_core/functions/audioToWav/)_
|
|
199
202
|
|
|
200
203
|
### Limitations
|
|
201
204
|
|
|
@@ -215,7 +218,7 @@ a more capable MIDI editor, and a faster synthesis engine!
|
|
|
215
218
|
- [Meltysynth](https://github.com/sinshu/meltysynth) - for the initial low-pass filter implementation
|
|
216
219
|
- [RecordingBlogs](https://www.recordingblogs.com/) - for detailed explanations on MIDI messages
|
|
217
220
|
- [fflate](https://github.com/101arrowz/fflate) - for the MIT DEFLATE implementation
|
|
218
|
-
- [
|
|
221
|
+
- [tsdown](https://github.com/rolldown/tsdown) - for the TypeScript bundler
|
|
219
222
|
- [foo_midi](https://github.com/stuerp/foo_midi) - for useful resources on XMF file format
|
|
220
223
|
- [Falcosoft](https://falcosoft.hu) - for help with the RMIDI format
|
|
221
224
|
- [Christian Collins](https://schristiancollins.com) - for various bug reports regarding the synthesizer
|