Altitude — Advanced Hybrid Synthesis Workstation

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Post Reply New Topic
RELATED
PRODUCTS
Altitude

Post

nakst wrote: Thu Apr 06, 2023 6:51 pm It is certainly possible! But if I do add support, it will only be a basic implementation. A lot of the SFZ features (e.g. baked in envelopes and LFOs) only make much sense in the context of a dedicated sampler, not a fully-featured synth like Altitude.
Alchemy is a fully featured synth yet allows .sfz import. People who don't own the now abandoned Windows version of Alchemy might like that feature back. It would make Altitude even more fully featured. :D

But I don't think you'd need all the bells and whistles of the .sfz format just enough to allow loading multi-samples which of course sound much better than a single sample stretched across the full range.

If you scroll down a little and look to the right there are some free instruments in .sfz format:

https://www.zampler.de/

These are Matrix 1000 samples from the Black Venom download:

Black Mamba.png

I'm going to try taking the samples in C and load one octave in each of Altitude's SMP Oscs then set Octave ranges to see how that sounds. Should be interesting. :)
You do not have the required permissions to view the files attached to this post.
None are so hopelessly enslaved as those who falsely believe they are free. Johann Wolfgang von Goethe

Post

nakst wrote: Thu Apr 06, 2023 6:51 pm
Teksonik wrote: Thu Apr 06, 2023 4:28 pm I don't suppose .sfz import would be possible for the Sample Oscs sometime in the future?

That would allow four sets of multi-samples and really open up a whole new world of sounds. There is a ton of content out there in .sfz format, both free and paid. :)
It is certainly possible! But if I do add support, it will only be a basic implementation. A lot of the SFZ features (e.g. baked in envelopes and LFOs) only make much sense in the context of a dedicated sampler, not a fully-featured synth like Altitude.
What about SF2? I have plenty of old soundfonts from hardware romplers and samplers that would sound killer with a touch of Altitude.

Post

Teksonik wrote: Thu Apr 06, 2023 7:33 pm
Alchemy is a fully featured synth yet allows .sfz import. People who don't own the now abandoned Windows version of Alchemy might like that feature back. It would make Altitude even more fully featured. :D

But I don't think you'd need all the bells and whistles of the .sfz format just enough to allow loading multi-samples which of course sound much better than a single sample stretched across the full range.

If you scroll down a little and look to the right there are some free instruments in .sfz format:

https://www.zampler.de/

I've taken a look at these .sfz files, and it should be possible to import these sorts of files.
They only use the keyboard and velocity mapping zones, which is what would be supported (if I add it!)

Post

fdigl wrote: Thu Apr 06, 2023 8:16 pm What about SF2? I have plenty of old soundfonts from hardware romplers and samplers that would sound killer with a touch of Altitude.
I think there are SF2 to SFZ converters out there, so I probably only need to support one or the other.

Post

nakst wrote: Fri Apr 07, 2023 6:41 am
fdigl wrote: Thu Apr 06, 2023 8:16 pm What about SF2? I have plenty of old soundfonts from hardware romplers and samplers that would sound killer with a touch of Altitude.
I think there are SF2 to SFZ converters out there, so I probably only need to support one or the other.
sforzando is traditionally used to load SF2 files, however it unfortunately isn't very accurate. This also goes with loading SF2 files via DirectWave, it seems only dedicated SF2 players are accurate from what I've tested so far :/

Post

fdigl wrote: Thu Apr 06, 2023 8:16 pm What about SF2? I have plenty of old soundfonts from hardware romplers and samplers that would sound killer with a touch of Altitude.
The thing is .sf2 is or was a proprietary format while .sfz is open source. Samples are contained in a .sf2 file while samples are exposed in the .szf format and I think it's easier to work with. I don't know if anyone is releasing new soundfonts but there are new .sfz releases.

Another issue would be how to deal with .sf2 files that are collections like the various GM sfs out there.

I think you can convert .sf2 to .sfz with "Convert with Moss" but the reverse is not true:

https://mossgrabers.de/Software/Convert ... hMoss.html
None are so hopelessly enslaved as those who falsely believe they are free. Johann Wolfgang von Goethe

Post

nakst wrote: Fri Apr 07, 2023 6:39 am I've taken a look at these .sfz files, and it should be possible to import these sorts of files.
They only use the keyboard and velocity mapping zones, which is what would be supported (if I add it!)
I think that was brought up with Zampler as well that it doesn't use the whole .sfz spec but then it doesn't need to. Like you said sample,range, and velocity should be enough. The synth has it's own envelopes etc.

If you're good with sampling and looping then it would be possible to create sample content for Altitude (or any .sfz based synth) and sell it as well.

Here's a bunch of .sfz content for sale and there is more:

https://www.pluginboutique.com/search?q ... ses%5B%5D=

I've been bugging Synapse Audio for years to make a commercial version of a "Super Zampler" that has the layers and FX etc of DUNE 3 but so far no luck. Richard said maybe some time in the future they may do something .sfz based but we're looking at years down the road if ever.

I'm just a huge fan of layering sample based synthesis with traditional VA synthesis as it expands the range of sounds well beyond Saw, Square, etc waves.

Of course Altitude already allows us to do this but imagine how much better multi-samples would sound. :)
None are so hopelessly enslaved as those who falsely believe they are free. Johann Wolfgang von Goethe

Post

Only a small subset of Opcodes would be needed out of the whole spec for parsing most SFZ files. For example:

group, region, key, pitch_keycenter, lowkey, highkey, volume, sample, loop_start, loop_end, offset, end, lowvel, highvel, loopmode, pitch_keytrack

Just importing these opcodes to your internal synth patch format would cover about 95% of everything anyone would ever need for basic SFZ parsing and playing.

I too am a huge fan of layering samples with synths. Can you imagine 4 synth layers and 4 true multi-sample layers per voice in one synth?! It would be so cool! So powerful! So flexible! And very easy to use!

EDIT: And even the most code illiterate sample maker can use a text editor and just these opcodes to make sampled instruments. I've got some templates listed on sfzformat.com that anyone can use to just fill in the blanks (the sample names). It's way easier than people realize for basic multi-samples.

EDIT2: Here is a fill in the blank template I made a while ago. This shows how easy it can be to manually fill in the blanks with your sample names for most basic SFZ instruments:

//=======================================================================
// This is a generic sfz pitched instrument template
// designed for 20 samples per velocity layer
// (The intention is to sample 4 notes per octave
// for 5 octaves).
// The purpose is to make an easy "fill in the blank"
// template .SFZ file for easily creating pitched
// instruments in the SFZ format.
//=======================================================================
// Intended target SFZ players (opcode compatibility): Linuxsampler,
// Sfizz, liquidsfz, SFZero, and Sforzando
//=======================================================================

//=======================================================================
//
// Instrument Name:
//
//=======================================================================
//
// Description:
//
//=======================================================================
//
// Credits:
//
//=======================================================================


<control>
// Default_path is the relative default path under which the samples
// should be found. Example: For an instrument named violin_sustain,
// use: default_path=./violin_sustain/ In this example, the sfz
// instrument will look for the samples in a folder named
// a that should be located in the same folder where the
// violin_sustain.sfz is located.

default_path=

//=======================================================================

<global>
// Trigger Range: attack, release, first, legato, release_key
// Default: attack -- Region plays on note-on

trigger=

// Loop_mode Range: no_loop, one_shot, loop_continuous, loop_sustain
// Defaults: no_loop -- For samples without a loop defined
// and loop_continuous -- For samples with defined loops
// The loops start and end data is usually pulled from the sample
// metadata built into the sample, but can also be manually assigned
// with the loop_start= and loop_end= opcodes, measured in how many
// samples to the loop point.

loop_mode=

// ADSR Envelope settings. Type: Floating point. Range: 0 to 100 Seconds
// Example: ampeg_attack=0.5 Assigns a .5 second attack to the samples
// in this instrument.

ampeg_attack= ampeg_decay= ampeg_sustain= ampeg_release=

//========================================================================

<group>
// lovel= and hivel= sets the velocity range for this group of samples
// If a note with velocity value equal to or higher than lovel AND equal
// to or lower than hivel is played, the region will play. Velocity
// Range is 1 to 127
// Example: lovel=60 hivel=127

lovel= hivel=

//========================================================================

// Sampling C#, E, G, A# per octave for 5 octaves
//
<region> // 1
sample= pitch_keycenter= lokey= hikey=
<region> // 2
sample= pitch_keycenter= lokey= hikey=
<region> // 3
sample= pitch_keycenter= lokey= hikey=
<region> // 4
sample= pitch_keycenter= lokey= hikey=
<region> // 5
sample= pitch_keycenter= lokey= hikey=
<region> // 6
sample= pitch_keycenter= lokey= hikey=
<region> // 7
sample= pitch_keycenter= lokey= hikey=
<region> // 8
sample= pitch_keycenter= lokey= hikey=
<region> // 9
sample= pitch_keycenter= lokey= hikey=
<region> // 10
sample= pitch_keycenter= lokey= hikey=
<region> // 11
sample= pitch_keycenter= lokey= hikey=
<region> // 12
sample= pitch_keycenter= lokey= hikey=
<region> // 13
sample= pitch_keycenter= lokey= hikey=
<region> // 14
sample= pitch_keycenter= lokey= hikey=
<region> // 15
sample= pitch_keycenter= lokey= hikey=
<region> // 16
sample= pitch_keycenter= lokey= hikey=
<region> // 17
sample= pitch_keycenter= lokey= hikey=
<region> // 18
sample= pitch_keycenter= lokey= hikey=
<region> // 19
sample= pitch_keycenter= lokey= hikey=
<region> // 20
sample= pitch_keycenter= lokey= hikey=

//=======================================================================
// If more velocity groups are needed, repeat the group and regions
// sections as needed adding in the new information for the new velocity
// group.
//=======================================================================
Last edited by audiojunkie on Fri Apr 07, 2023 3:42 pm, edited 8 times in total.
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.:mad:
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
:roll:

Post

I like the look and sound of this, but was wondering how to use it with cubase or Ableton? I'm not familiar with the clap format.

Post

There is a CLAP to VST wrapper that is being (has been already?) created. Once available, you would simply load the CLAP to VST wrapper plugin into your VST slot, and then load your CLAP plugin into the CLAP to VST wrapper. It won't matter if Cubase chooses to never support CLAP. It will still be available for everyone to use. :)

EDIT: Here's the link:

https://github.com/free-audio/clap-wrapper
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.:mad:
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
:roll:

Post

Teksonik wrote: Fri Apr 07, 2023 2:41 pm
fdigl wrote: Thu Apr 06, 2023 8:16 pm What about SF2? I have plenty of old soundfonts from hardware romplers and samplers that would sound killer with a touch of Altitude.
The thing is .sf2 is or was a proprietary format while .sfz is open source. Samples are contained in a .sf2 file while samples are exposed in the .szf format and I think it's easier to work with. I don't know if anyone is releasing new soundfonts but there are new .sfz releases.

Another issue would be how to deal with .sf2 files that are collections like the various GM sfs out there.

I think you can convert .sf2 to .sfz with "Convert with Moss" but the reverse is not true:

https://mossgrabers.de/Software/Convert ... hMoss.html
As a member of the Black MIDI community, I can assure you that the community surrounding the SF2 format is alive, well, and churning out new constant today :)

I have yet to try that converter, but I'll give it a shot.

Post

audiojunkie wrote: Fri Apr 07, 2023 3:17 pm Only a small subset of Opcodes would be needed out of the whole spec for parsing most SFZ files. For example:

group, region, key, pitch_keycenter, lowkey, highkey, volume, sample, loop_start, loop_end, offset, end, lowvel, highvel, loopmode, pitch_keytrack

Just importing these opcodes to your internal synth patch format would cover about 95% of everything anyone would ever need for basic SFZ parsing and playing.

I too am a huge fan of layering samples with synths. Can you imagine 4 synth layers and 4 true multi-sample layers per voice in one synth?! It would be so cool! So powerful! So flexible! And very easy to use!
Thanks for the example file, I'll be looking into this!

Post

audiojunkie wrote: Fri Apr 07, 2023 3:17 pm I too am a huge fan of layering samples with synths. Can you imagine 4 synth layers and 4 true multi-sample layers per voice in one synth?! It would be so cool! So powerful! So flexible! And very easy to use!
And here I thought I was all alone....... :tu:
fdigl wrote: Sat Apr 08, 2023 2:44 am As a member of the Black MIDI community, I can assure you that the community surrounding the SF2 format is alive, well, and churning out new constant today :)
Do you have any examples to share? I haven't seen any new .sf2 content in quite a while. Doesn't mean there isn't any just that I haven't seen any. :)
None are so hopelessly enslaved as those who falsely believe they are free. Johann Wolfgang von Goethe

Post

nakst wrote: Sat Apr 08, 2023 12:38 pm
audiojunkie wrote: Fri Apr 07, 2023 3:17 pm Only a small subset of Opcodes would be needed out of the whole spec for parsing most SFZ files. For example:

group, region, key, pitch_keycenter, lowkey, highkey, volume, sample, loop_start, loop_end, offset, end, lowvel, highvel, loopmode, pitch_keytrack

Just importing these opcodes to your internal synth patch format would cover about 95% of everything anyone would ever need for basic SFZ parsing and playing.

I too am a huge fan of layering samples with synths. Can you imagine 4 synth layers and 4 true multi-sample layers per voice in one synth?! It would be so cool! So powerful! So flexible! And very easy to use!
Thanks for the example file, I'll be looking into this!
You are very welcome! 🙂
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.:mad:
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
:roll:

Post

After making some patches, I think the reverb is buggy. It produces high pitched noises after some time.

Post Reply

Return to “Instruments”