Mods / EternalS: Spivohrai
- Tags:
- Author:
- Lumvik
- Side:
- Both
- Created:
- May 12th at 10:13 AM
- Last modified:
- Jun 10th at 3:23 PM
- Downloads:
- 376
-
Recommended download (for Vintage Story 1.22.0 - 1.22.3):
EternalS-Spivohrai-0.8.0.zip 1-click install
Bundled SoundFont
Spivohrai automatically installs the bundled GeneralUser GS SoundFont when needed:
ModConfig/Spivohrai/SoundFonts/GeneralUser-GS.sf2
Players do not need to manually download or configure a SoundFont.
You may still override the default SoundFont through:
ModConfig/Spivohrai/Config.json
using:
"soundFontPath"
If the configured path points to the SoundFonts folder:
-
GeneralUser-GS.sf2will be preferred automatically -
or a single
.sf2file will be used if exactly one exists
Currently only .sf2 SoundFonts are supported.
Basic Usage
-
Place MIDI files into:
ModConfig/Spivohrai/Songs/
-
Hold a supported instrument.
-
Press
F. -
Select a song.
-
Choose a MIDI part with
</>. -
Press
Play.
Right-clicking with a supported instrument will:
-
start playback
-
pause the current song
-
or resume playback
depending on the current state.
Instrument System
Normal instruments can only play a single MIDI channel/part at a time.
The creative-only item named Spivohrai acts as the orchestra controller and is the only instrument capable of playing:
All
which enables full multi-instrument MIDI playback.
This helps multiplayer performances feel more grounded and prevents every handheld instrument from behaving like a full orchestra.
Creative Instruments
Current creative-only instruments include:
-
Spivohrai
-
Lyre, Bandura, Kobza, Tsymbaly
-
Sopilka, Floyara, Recorder, Gemshorn
-
Bayan, Hurdy-Gurdy, Portative Organ
-
Drymba, Duda, Surma, Trembita, Horn, Natural Horn
-
Saxophone, Clarinet
-
Lute, Gusli, Psaltery, Citole
-
Rebec, Vielle, Viol
-
Shawm, Crumhorn, Rauschpfeife, Zurna
Many voice and wind instruments currently reuse temporary vanilla-style models.
The Spivohrai controller currently uses the vanilla large music box model.
Custom instrument models and animations are planned for future versions.
How the Audio Works
MIDI files do not contain recorded sound.
Instead, they contain musical instructions such as:
-
note on/off events
-
instrument changes
-
sustain
-
pitch bend
-
tempo
-
controller automation
-
drum mapping
Spivohrai feeds this MIDI data into MeltySynth using the active SoundFont, generating real audio playback instead of simple note triggers.
This allows:
-
proper drums
-
layered instruments
-
pitch bends
-
sustain pedals
-
expressive playback
-
accurate General MIDI instrumentation
Different SoundFonts can dramatically change how songs sound.
If a MIDI sounds incorrect, test it with the same SoundFont in another MIDI player before assuming the issue comes from Spivohrai itself.
Audio Cache
Rendered audio is cached here:
ModConfig/Spivohrai/Cache/
Delete cache files to force MIDI re-rendering.
By default Spivohrai renders audio as:
mono OGG
using:
"midiOutputChannels": 1
This avoids OpenAL stereo source limitations present on some Vintage Story clients.
Volume Control
Spivohrai has its own dedicated client-side volume slider:
Settings -> Sound -> Spivohrai
Spivohrai playback intentionally ignores vanilla:
-
Sound volume
-
Music volume
-
Entity volume
This allows every player to control their own listening volume independently without affecting other listeners.
Multiplayer
When a player starts a MIDI track:
-
Their client synthesizes the MIDI into OGG audio locally.
-
The generated audio is uploaded to the server in small chunks.
-
The server validates playback ownership and relays the audio to nearby players.
-
Nearby clients reconstruct and play the streamed OGG track.
Other players:
-
need the Spivohrai mod installed
-
do NOT need the MIDI file
-
do NOT need the SoundFont
A SoundFont is only required for players who want to render and start their own MIDI playback locally.
Current Limitations
-
Large OGG transfers may cause listeners to join songs slightly late.
-
.sf3support is not implemented yet. -
Single-part playback currently filters by MIDI channel, which may not perfectly split unusual MIDI files.
-
Many instrument models are still temporary placeholders.
-
Instrument-specific sound behavior is still future work.
Future Plans
Planned improvements include:
-
real custom instrument models
-
instrument animations
-
spatial ensemble playback
-
improved MIDI part separation
-
streaming optimization
-
.sf3support -
optional positional acoustics
-
instrument-specific sound coloration
- cooperative music playback
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 0.8.0 | spivohrai | 102 | Jun 10th at 3:19 PM | EternalS-Spivohrai-0.8.0.zip | 1-click install | ||
| |||||||
| 0.7.7 | spivohrai | 84 | May 18th at 12:58 PM | spivohrai-0.7.7.zip | 1-click install | ||
|
Added Improved Fixed | |||||||
| 0.6.6 | spivohrai | 34 | May 16th at 1:53 PM | Empty | spivohrai-0.6.6.zip | 1-click install | |
| 0.4.3 | spivohrai | 32 | May 14th at 5:15 PM | Empty | spivohrai-0.4.3.zip | 1-click install | |
| 0.1.22 | spivohrai | 11 | May 13th at 3:49 PM | Empty | spivohrai-0.1.22.zip | 1-click install | |
| 0.1.21 | spivohrai | 26 | May 13th at 3:28 PM | Empty | spivohrai-0.1.21.zip | 1-click install | |
| 0.1.4 | spivohrai | 22 | May 13th at 5:23 AM | Empty | Spivohrai014test.zip | 1-click install | |
| 0.1.2 | spivohrai | 13 | May 12th at 7:01 PM | Empty | Spivohrai012test.zip | 1-click install | |
| 0.1.1 | spivohrai | 26 | May 12th at 1:36 PM | Empty | Spivohrai011.zip | 1-click install | |
| 0.1.0 | spivohrai | 25 | May 12th at 10:14 AM | Empty | spivohrai.zip | 1-click install | |

Does the intended long term scope of this include input from midi controllers or directly playing instruments, or only reading files?