Free samples

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!

2 Likes

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 

Ultimate SoundFont Pack

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                  
2 Likes

I forgot the :face_with_monocle: 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!

4 Likes

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.
Standard_Guitar

.

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).

2 Likes

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 !

2 Likes

Now that has to be an interesting cross fertilization ! :smiley:

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!

1 Like

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)

1 Like

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.

Here is a small 12 second clip of the Bosendorfer before my 1Gig Pi OOMS under the strain.

1 Like

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!

zram is Pretty nifty and enabled by default in most modern distros these days though.