New feature: Release Start
-
Hi everybody,
it has been quite some time since I last touched anything regarding the streaming engine, but for a current project I might need a feature so here we go: Release Start mode. This basically allows you to use a single sample as sustain and release sample:
- just set the ReleaseStart property to the position where you would cut the release sample.
- when you release the note, the sample playback will jump to the position and play the sample until the end.
Obviously this can be achieved with a separate sampler and a release trigger script, but this is much more convenient and faster, plus the native C++ implementation allows me to add a few nice features like automatic volume adjustment to reduce the bumps & set the fade time & gamma curve to match the sample material.
Docs:
https://docs.hise.dev/hise-modules/sound-generators/list/streamingsampler.html#release-start
Have fun and let me know if you hit some glitches, I tried to cover as much cases as possible but there are many different configurations (eg. HLAC with multimic and short loops) that might have slipped through.
-
@Christoph-Hart oooo nice, I can drop a sampler from my project and a bunch of sample maps - I tried using redirect monolith but it always seems to give me trouble.
-
@d-healey What is the use case for the Release-Start? For realistic legatos?
-
@orange no for easier / better sounding release samples.
-
I've seen 'release sample' option in a few other samplers too. Never needed it but always curious.
What are some real-world examples of using release samples? For what instruments?
-
@dannytaurus Almost all acoustic instruments.
Take a trumpet for example. When the musician stops blowing there is a distinct sound as the note is cut off and the resonance of the room dies down.
So you trigger a release sample containing this audio when the user lifts the key (or a MIDI note off is received). But you don't do this if the sample has already reached the release portion - with sustain samples you'll usually loop them so you'll never reach the release anyway.
-
@Christoph-Hart Should the playhead in the sample editor visibly jump to the release start point when the key is released? If so I'm not seeing it.
-
@d-healey yes but only after the fade. Have you cranked up the release of the envelope?
-
@Christoph-Hart Here I'm just quickly tapping and releasing the key. I have the AHDSR release set to 20000 (I also tried it at minimum), the fade time for the release is set to the default 4096.
-
@d-healey Have you set one shot to true?
-
@Christoph-Hart No, playback is set to Normal
-
@d-healey snippet time.
-
@Christoph-Hart Does this work?
HiseSnippet 1404.3ocyX8rTaaDFeElMM3lloISNzC8fNR5jRsv1XxjoSLXrCzfAOVjL4lmEoU3cPZWMqVQhalL8ZdK5qPeD56PeD5wdIuAseqj.IY7jXbojxAPe+S6O88+kARgCMJRHQFUOZRHEYbGr8DtZbmwDFGs2NHi6h6ShTToYJqsmDRhhntHCiJOSyvXkkQI+7gmtMwmvcn4rPnWJXNz8YALUN2AseNy2uGwkdDKnf1MZumif2Q3KhA7TAWCERbNkbB8.hVskvncIQiQFeG9wMaZQb8Z4YU25wG654Pq2p1FMZsNo4lddspY0ntaKuF.HuUWWlRHsUDEMBdoaKbmXOV7Zd5A7RVD6XeplvBYCmbJaTmwLe2Am6bhPHC7fbWUkTW0Cv8YtrK3m6x95DAl4VTzoYrzGCRVWAHYT.RKmBo6gscjrPUtDMd9R7dbHB5QfXSQnjpKx3OwcDfBb0ZAjSo8j.wEFr5F0p8HS3WO7IUq1i4Ssm.YCAq4KHtceCIHzmtE79TQqpUvKl6nXBtofefPQOju5Cq91pqT8cUMmVjm2LkoQhT36SkyTrNiQ9wLbUdbvwT4iLOi3GSuPQvCU1seq4ys6j5XJnnfuGmoNLjlQ2S36pcm5mubPBk4Ygmdwd6PTDcbKiGnWHUpXZ3XrC8LnRIMJtBdGZzoJQHTqboPLjbIbi8IpxYb5ZwLAf+nTXVGK4QL0jh0pWgzvZezzv4Eh2COfobFOaLtzLvH3o9u.iYEueEtqmG0QkCvkw8d0hVoV6JWoVMqRENS8gemLRyduxZl0nuGmmrGJogDI8Hw.exjUiRJBGBX7QlG6KbN0l8yzKWgDlBgs0ZrpyXBmS8iVjBI70T+KzPQrhwOoOQIYuAduGDGXCs9cncxPGvyXIcMTJcMMsNuvlxcSH9a3mLgVZZiLgVmK7Zr76aSEdersRRIA.vsSb7osXgvYJk00wDxv4dB4.IU2IVGxyU62aucLjbKKy82ZmbTaEHh4kNqLjOjFRIJn9rfM2t8vgOSJhCm1pO7zjp4ijvDZvUTTvgbJjNnJ9M1QJhh7fOmj2UTQQChkmn8U4bFROiJiJyCRMJlTniyuHhpSAYNmm+jqcxoT6HRRZHr1PBs0TzqOEc8onaLEcyon2XJ5V4zSWhLmyZ5SBGPfOwBZtMKKKCjkxobe9BpNi1N25yvNKWOCK9LNOqTy5UNGi1LcTnK+LnbC3nw38g1DdjXe04bKW52WvEgiEblS4jaHY8jSnxhXelePaoTPsUNmGzdH0mRhxqNe+ezdeFmRjkqYuR9hq9JlyLd8M3T3Zp6WY9uIts77E29DacccrSRk4Zmjqc79YX+j40cc2rgblvIJU+ObGy6fSZEapmbdSBuahMYNekMcUY1yIKzXTgx0SdRVi1Glc5WLcMBVDPCIXpDJcQw.8jDr1asBNfHYAGSPSMjW+w2m4LP.dLnnP6ZvOAYSNil1ooBd8BizIAAjRtUizCBJuFJz6ArLdiln8EOmNI64cYYO2xB3+RMhScG6xxH9EsSMETY2xBt4Y5+FfeD+1ACO7m514nQ8Nb+c5N7c8S+J9gr+NZLSM5v3r9ri5UeT.0cTMq0dM4LzNwg9LGHdqyJ1W7ZpDNQgCjY7pjjljH7ABY.wGVdJqf8EggyTO6K17FY7E3FMrpACwg199L0X39svsh0N45MpuQyFMtPx9T9IpwHiaiWud8FsVG1.zOV+ksL962rvYOfRNUe28lMVqUyVVVahxF.jV8Ado+5Wugx8BHNRwHmzKFny.ucBGvKvShIqf6qoMsPIWVnXBX.rUwHGmxupKY35Kpg0WTCarnF1bQMbiE0vVKpga9oMTuz2VwJQP53ODp+ftosUL5dQakJn+A.7DcGl
Note that you need the example assets from the snippet browser (Tip of the day: this is a neat way of checking things with a generic samplemap).
EDIT: You have to load it twice. The first time the samplemap cannot be found because it's loaded before the asset manager is initialised from the script. UX powerhouse!
-
@Christoph-Hart It tells me it can't find the monolith. I have downloaded the assets - well I think I have, where are they downloaded to? I notice the downloader seems to glitch out at the extraction phase so maybe something went wrong.
-
Ah I just reminded myself of the snippet browser docs, seems the assets are in my snippets folder. But the snippet you posted is failing to find the monolith.
Seems like it's looking in a "My first project" path which isn't where my snippets are stored.
I've copied the files over manually and now the snippet loads, and the release trigger works as expected. Do I have to compress my samples to a monolith in order for the release start to work?
-
@d-healey no, it should work in all configurations (I haven‘t explicitely tested multimics but there shouldn‘t be a problem).
-
@Christoph-Hart I'm using multi-mics, I'll do some more tests and see what I can find
-
@Christoph-Hart It works with a single mic, but multi-mic seems to break it.
-
This post is deleted! -
Bump bump