Yes, this are also my way. I atached wave ring from GENKI on my AKAI EWI USB. Now I waiting for new WIDI Uhub and WIDI Bud Pro for wireless conection. So it is time for editing sf2 files… thanks for your example.
Hi @zynthianers!
I just implemented a mechanism that allows to define “custom zynthian controllers” for SF2 soudnfonts that support it. It uses a YML file with the same format is currently used for defining zynthian controller for PureData patches.
I’ve created an example for the ModSynth_R1.sf2:
sf2_file: "ModSynth_R1.sf2"
midi_controllers:
filter_resonance:
midi_cc: 71
value: 64
filter_cutoff:
midi_cc: 74
value: 64
amp_attack:
midi_cc: 73
value: 16
amp_decay:
midi_cc: 75
value: 16
amp_decay:
midi_cc: 75
value: 16
amp_sustain:
midi_cc: 76
value: 64
amp_release:
midi_cc: 72
value: 16
mod_delay:
midi_cc: 77
value: 16
mod_attack:
midi_cc: 78
value: 16
mod_decay:
midi_cc: 79
value: 16
mod_sustain:
midi_cc: 80
value: 16
mod_release:
midi_cc: 81
value: 16
mod_env_filter:
midi_cc: 82
value: 0
mod_LFO_freq:
midi_cc: 83
value: 16
mod_LFO_pitch:
midi_cc: 85
value: 0
mod_LFO_amp:
midi_cc: 86
value: 0
mod_LFO_filter:
midi_cc: 87
value: 0
vib_LFO_delay:
midi_cc: 88
value: 0
vib_LFO_freq:
midi_cc: 89
value: 0
vib_LFO_pitch:
midi_cc: 90
value: 0
The YML file must have the same filename that the soudnfont, but with “yml” extension instead of “sf2”. (ModSynth_R1.yml in this case) The file must be located in the same directory that the soundfont file is.
I wonder if it could be useful to extend the mechanism to the sfizz/linuxsampler engines. Do you have some SFZ that supports custom modulators/controllers?
Ahh! For testing this you have to point your repositories like that:
- zynthian-ui: sfizz
- zynthian-sys: sfizz
- zynthian-webconf: testing
- zynthian-data: testing
- zyncoder: testing
Update your zynthian and reboot.
Enjoy!
Sorry to say, I hunted around for some time without finding other sf2 examples with multiple modulation inputs. (besides the experimental ModSynth_R1.sf2) supporting more variations of SFZ might be useful, An lv2 plugin for ModUI that displayed the GUI embedded in some sforzando files might be the ultimate.
Some triviaI encountered:
Coincidentally the ModSynth_R1.sf2 author has lesson1.yaml - lesson3.yaml files that go with his Fluidpatcher bank file creation youtube lessons.
I saw a sf3 standard proposal that better matched sfz format capabilities while retaining the embedded samples, and a linked modulator suggestion.
It seems that the compressed soundfont format by musescore is the closest thing to an sf3 standard (Comments suggest their software responsiveness requirements are lower than DAWs).
A paper: SoundFont 2.1 Application Note from 1998, lists these as the available Modulators for sf2.1
Key On Velocity MIDI CC 7
Key Number MIDI CC 9
Pitch Wheel MIDI CC 10
Channel Pressure MIDI CC 11
Pitch Wheel Sensitivity MIDI CC 21
Modulation Wheel MIDI CC 22
Breath Control (CC 2?) MIDI CC 23
MIDI CC 24
MIDI CC 91
This a dated collection of 1232 sound fonts, the newest 145 are from 2016, 85% are over 10 years old, 50 are over 20 years old… You might find some gems you have not seen before. (2.97 gig uncompressed)
These appear to be the only tuned instrument soundfonts on soundpacks.com, (they have a few drum soundfont packs) They have quite a few files, mainly raw .wav file collections, I saw a number of captured notes from instruments, which might be a good start for your own custom soundfont.
Here’s a sample of the first 45 titles:
+String Combo.sf2 143-Brass Section.sf2 554-Flobakks Choir Aahs (736KB).sf2
+Synths & Keys.sf2 198_Legato_strings.sf2 702-BuenaStrat_Marshall.SF2
000_Florestan_Piano.sf2 198_Stratocaster_VS.sf2 1115_Bell_Melody_MI_(899KB).sf2
1-FantasyPiano.sf2 198-Hollywood ST.SF2 1115_Fylz_Classic_Metal.sf2
1Pluck_YC.sf2 198-Prophet Piano VS.sf2 1115_Xilofono.sf2
4OPFM.SF2 198-TekPiano.sf2 1115-Bass Jam.SF2
5-strings.SF2 198-U20 ST choir.SF2 1115-Bell Melody MI (899KB).sf2
014 Tubular Bells.sf2 198-VS jzz Organ.SF2 1115-Filter Bass 1.SF2
014_Florestan_Tubular_Bells_and_glide.sf2 241-Solina.SF2 1115-FLUTE__Large.SF2
23violinens_mrt_stacc.sf2 241-Bassguitars.SF2 1115-JazzMelodic.sf2
040_Florestan_String_Quartet.sf2 242_Gibson_Les_Paul.sf2 A053 FS Musicbox.sf2
045_Florestan_Pizzicato.sf2 336_Massive_strings.sf2 A055 Kalimbells.sf2
052_Florestan_Ahh_Choir.sf2 361-Organ B3.SF2 A074 Toy Box.sf2
142-Brass Section.sf2 459-!27Sintes!!!!.sf2 AAAHs.sf2
142-Pizzstr.sf2 459-GuitarSetPasisHeavyAndClean.sf2 AbasYamaha.sf2
I forgot the on my last comment:
Simply making some noize with the “ModSynth_R1.sf2” and the custom modulators. I must say i’m really impressed about the modulation capabilities of the SF2 standard.
Enjoy!
Some articulated SFZ files from Japanese maker Unreal Instruments. Made for the Sforzando player, they might make an interesting translation, conversion exercise. I could not find any licensing terms, they include nice professional grade English and Japanese. user manuals. (Originally found in this Plogue list of paid and free instruments.)
Anyone with a Keytar would definitely want to check out the guitar sounds, there is a Standard and Metal version. Works fine with the free Sforzando player. These instruments may require more hardware than a Pi can supply, perhaps a multi gig Pi 4 could do.
Standard Guitar Sample (more tricky to play than guitar hero) uses some 2400 flac samples
Standard_Guitar.rar (716M) . . . _METAL-GTX.rar (1.3G) . . . (and 10 other instruments)
Here is the control panel you get (instead of a GUI) on the free player, note the 13 CC channel assignments to panel controls, that looks easy to adapt to a headless translation scheme for some future Sfizz ?, the other 7 controls might be more tricky to manage.
.
Brief descriptions of the different Standard Guitar modes, articulation is done with designated non playing keyboard keys, except two modes where velocity changes the play style.
The manual describes the 25 different articulation keyboard keys (KSOP), VSOP represents velocity articulation, tables indicate 15 different styles are mapped to velocity.
Samples of all the Unreal Instruments titles (with some duplicates).
Wow good job playing the ModSynth_R1.sf2, it must be like reliving your first synthesizer knob twiddling experience. I imagine one could drop in more complex waveforms into that framework (if you can live with bloating the current 9.18k file size)
Incredible and unexpected from sfz ! Wow !
Now that has to be an interesting cross fertilization !
I found these instruments on:
https://sfzinstruments.github.io/
They seem to be “public domain”, so i supose we could include them on zynthian SD images.
Thanks!
Hi @jofemodo,
I think that GitHub - sfzinstruments/mappings: A repository for SFZ mappings for various samples hosted elsewhere a good starting point. Mappings are made for Sforzando. I’m going to edit Sasje’s The Trumpet sfz mapping for sfizz. So that such a mechanism would be beneficial.
For example: Mapping of Sasje’s The Trumpet using this cc:
//midi cc
#define $ATTACK 80
#define $HOLD 81
#define $DECAY 82
#define $SUSTAIN 83
#define $RELEASE 84
#define $VIB_RATE 76
#define $VIBRATO 1
#define $LEGATO 64
#define $EXP 11
#define $VELTRACK 99
DecentSampler has about 16 free SFZ files, mostly novelty and toy instruments.
As seen in sforzando player:
Interestingly the Box harp has only Volume and Pan Controls.
While the Korg littleBits Synth Kit has 6 additional controls for Filter and Amp EG envelope. (makes the simple Square or Sawtooth a bit more interesting)
(Mandolin_Guitarophone_SFZ is the fattest of the ones I looked at: 730Mb compressed)
The Sound of a Blind Soccer Ball
Perhaps for a custom percussion set addition.
I got curious watching the paralympics.
The ball has 6 vented metal disks distributed inside of the cover, each contain 8 ball bearings.
2 different recordings:
The goalie is sighted and yells directions to his team, the referee bangs on the left and right goal supports for location. (I trust you can right-click save the .wav files)
Haven’t tried them in Zynth yet but there’s some nice looking piano sfz files posted on linuxmusicians.com https://luciphercode.wixsite.com/sofia-mz
According to the author they need to be loaded into sfizz not linuxsampler.
Ha! That’s a problem. Maybe there is an option/ opportunity to configure memory management.
I tried enabling zram ZRAM swap alternative and it lasted a little longer, but still oomed after a few minutes of playing. And It certainly wasn’t happy if my foot was on the sustain.
If you have insufficient memory then it will fail. What may be desirable is a way to limit the memory requirements, e.g. limit sample size based on available memory.
Sometimes buffering resolves temporary shortage of resource but if the system is persistently starved of resource it will fail. (Think of audio buffers in jack / alsa.)
I would expect swap to be rather detrimental to performance and defo bad for flash storage!