Forum
    • Categories
    • Register
    • Login
    1. Home
    2. omerdal
    O
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 11
    • Groups 0

    omerdal

    @omerdal

    7
    Reputation
    1
    Profile views
    11
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    omerdal Unfollow Follow

    Best posts made by omerdal

    • Devlog #2 - Smart Pedal & Key Release Mechanics

      Hey everyone!

      Time for another update on my Grand Piano VST project. After getting the core samples mapped, I realized the piano felt a bit too clinical. It was time to get my hands dirty with the mechanical noises and body resonances that make a virtual instrument truly breathe.

      Demo VIDEO

      a971e6a3-d647-4ef7-bedb-ac27e0d4ec21-image.png

      1. Note Off Mechanic: 5 RR - 2 VELOCITY

      -I created a separate sampler for pure mechanical Key Up (wood/felt) sounds. Since many MIDI keyboards send a Note On with a velocity of 0 instead of a true Note Off, I scripted a memory array (const var onVels = [];) to store the strike velocity.

      -Inside the onNoteOff, the script recalls the exact velocity of the initial strike and triggers the Note Off sample accordingly. This ensures the mechanical clack dynamically matches the intensity of the performance.

      • I set a natural AHDSR fade-out (500ms) for the main piano samples upon Note-Off. Simultaneously, a dedicated mechanical sampler set to One-Shot triggers the pure wood/felt release sounds.
      1. Building a 3-Pedal Engine (CC 64, 66, 67) - 5 RR

      I didn't want to stop at just the Sustain pedal. I wanted Sostenuto and Una Corda to physically behave differently.

      -Sustain (CC 64): Triggers the massive resonance and damper lift noise, followed by a heavy "thump" upon release.

      -Soft / Sostenuto (CC 67, 66): These pedals don't lift all the dampers. For these, I mapped dry mechanical action samples to dummy keys.

      1. Integrating the Sympathetic Resonance Engine

      To simulate the true sympathetic string resonance, I built an algorithmic engine rather than relying on heavy samples. When you hold a chord and strike a new note, the undamped strings should naturally vibrate. To replicate this massive web of possibilities, the engine generates pure Sine Waves tuned to the appropriate harmonic frequencies of the active notes. I then run these sine waves through custom saturation and EQ to turn them from digital beeps into warm, vibrating steel strings but it feels like WUU sound xd. It perfectly masks the fadeouts and makes the instrument feel incredibly alive

      f9a452b3-efe5-4bf6-ada2-aac680d1ef79-image.png

      2afc0eb0-a4e1-402e-ac5f-dd733bd99600-image.png

      Triggers: If the new note has a harmonic relationship with any of the un-damped strings (specifically the 1st Octave, 5th, 2nd Octave, and Major 3rd defined in the Triggers array), it excites a targeted sine wave at that exact frequency.

      1. UI & Acoustic Masking

      Added Key Noise and Pedal Noise knobs to the UI. The biggest mixing challenge was finding the default dB values. I applied the Acoustic Masking rule: when you play a pianissimo chord, you should clearly hear the mechanics. When you smash a fortissimo chord, the string resonance should completely swallow the mechanical clicks. I locked these sweet spots in as the defaultValue properties in the UI.

      The piano is finally starting to feel like a massive, 500kg wooden beast living inside the DAW.

      posted in Newbie League
      O
      omerdal
    • Development Diary: My First Sample-Based Piano

      b1861d17-d045-4d49-9d45-0a82aea16c7c-image.png

      Hi everyone!

      I’ve been silently reading and learning a lot from this amazing community for a while. Now, I’ve finally gathered the courage to start my first serious commercial project: Petrof Piano (I haven't come up with a name yet :/).

      I wanted to share my development journey with you all, rather than just waiting until the finish line.

      Instead of going the physical modeling route, I am building a heavily sample based, grand piano based on a Petrof. For close mic recording, I use 2X Neumann KM184 Cardioid Condenser. For preamp I use SSL AWS 900+

      Current Progress:

      • Main Audio Engine: Ready and fully functional.
      • Close Microphone: Fully mapped and completed with 6 Velocity Layers (from delicate pp to aggressive ff) to capture the true dynamic range and timbre shift of the wood. (Room and Far mics are in the works).

      Systems Already Implemented (as seen in the WIP GUI):

      • Tone Shaping (Dark/Bright & Tonal Shift)
      • Perspective & Space (Lid Position & Player/Audience controls)
      • Envelope & Dynamics (Attack, Release, Dynamic response)
      • Resonance Engine
      • Dedicated Reverb Module (Scoring Stage, etc. with Dry/Wet)
      • Pitch Control (Transpose)
      • Full Pedal Support (UnaCorda, Sostenuto, Sustain)
        -Chord analyzer (extra)

      What's Next:
      The only major thing left to implement is the Mechanical Sounds layer (key release, pedal action, wood creaks) to make the instrument feel 100% organic.

      b2fc93ee-7c8c-4ca6-93fc-fc39d07969f1-image.png

      If you'd like to hear how it sounds, I'm leaving an unlisted YouTube link below. It's just a quick
      https://youtu.be/VHhs1g4Cwcs

      Since this is my first time handling such a massive sample pool (6 velocity layers across 88 keys with 3 mics + upcoming mechanical layers), I have a question for the veterans here:

      Do you have any golden rules or specific settings in HISE for RAM optimization and voice management when dealing with very large, multi-mic sample maps? I want to make sure my foundation is absolutely bulletproof before I map the remaining microphones.

      I will keep updating this thread as the beast comes alive. Cheers!

      posted in Newbie League
      O
      omerdal
    • RE: Development Diary: My First Sample-Based Piano

      4375aef7-38e1-49d3-8aa2-67876313b26a-image.png

      I've finally finished the UI design for the VST.

      Instead of going with a traditional interface, I decided to aim for a highly stylized fantasy aesthetic.

      The layout is mostly set, featuring the Main, Atmosphere, Tuning and Mix tabs at the top. I've tried to keep the essential performance controls (like Tonal Shift, Lid Position and mechanical noises) easily accessible without cluttering the artwork.

      Would love to hear your thoughts on the design and layout.

      posted in Newbie League
      O
      omerdal
    • RE: Devlog #2 - Smart Pedal & Key Release Mechanics

      @David-Healey I’m changing the array right away. Thanks a lot and Yeah :D I finally got all the mechanical recordings done in the studio. Since I had already finished the grueling dynamic velocity layers a while ago capturing the mechanical sounds this time around was an absolute breeze in comparison.

      By the way, I watched your Ardour video and built my own workflow for sample editing based on it. It is incredibly helpful, thank you so much for putting that out there.

      posted in Newbie League
      O
      omerdal
    • RE: Development Diary: My First Sample-Based Piano

      @David-Healey I was really over complicating it in my head by trying to manage separate sampler modules 😥 I’m heading over to your channel right now to find those multi-mic tutorials. Thanks a ton for pointing me in the right direction.

      posted in Newbie League
      O
      omerdal

    Latest posts made by omerdal

    • RE: Development Diary: My First Sample-Based Piano

      4375aef7-38e1-49d3-8aa2-67876313b26a-image.png

      I've finally finished the UI design for the VST.

      Instead of going with a traditional interface, I decided to aim for a highly stylized fantasy aesthetic.

      The layout is mostly set, featuring the Main, Atmosphere, Tuning and Mix tabs at the top. I've tried to keep the essential performance controls (like Tonal Shift, Lid Position and mechanical noises) easily accessible without cluttering the artwork.

      Would love to hear your thoughts on the design and layout.

      posted in Newbie League
      O
      omerdal
    • RE: Devlog #2 - Smart Pedal & Key Release Mechanics

      @David-Healey I’m changing the array right away. Thanks a lot and Yeah :D I finally got all the mechanical recordings done in the studio. Since I had already finished the grueling dynamic velocity layers a while ago capturing the mechanical sounds this time around was an absolute breeze in comparison.

      By the way, I watched your Ardour video and built my own workflow for sample editing based on it. It is incredibly helpful, thank you so much for putting that out there.

      posted in Newbie League
      O
      omerdal
    • RE: Devlog #2 - Smart Pedal & Key Release Mechanics

      I'll keep the future updates in my main topic to keep things organized. I accidentally created a new topic 😥

      posted in Newbie League
      O
      omerdal
    • Devlog #2 - Smart Pedal & Key Release Mechanics

      Hey everyone!

      Time for another update on my Grand Piano VST project. After getting the core samples mapped, I realized the piano felt a bit too clinical. It was time to get my hands dirty with the mechanical noises and body resonances that make a virtual instrument truly breathe.

      Demo VIDEO

      a971e6a3-d647-4ef7-bedb-ac27e0d4ec21-image.png

      1. Note Off Mechanic: 5 RR - 2 VELOCITY

      -I created a separate sampler for pure mechanical Key Up (wood/felt) sounds. Since many MIDI keyboards send a Note On with a velocity of 0 instead of a true Note Off, I scripted a memory array (const var onVels = [];) to store the strike velocity.

      -Inside the onNoteOff, the script recalls the exact velocity of the initial strike and triggers the Note Off sample accordingly. This ensures the mechanical clack dynamically matches the intensity of the performance.

      • I set a natural AHDSR fade-out (500ms) for the main piano samples upon Note-Off. Simultaneously, a dedicated mechanical sampler set to One-Shot triggers the pure wood/felt release sounds.
      1. Building a 3-Pedal Engine (CC 64, 66, 67) - 5 RR

      I didn't want to stop at just the Sustain pedal. I wanted Sostenuto and Una Corda to physically behave differently.

      -Sustain (CC 64): Triggers the massive resonance and damper lift noise, followed by a heavy "thump" upon release.

      -Soft / Sostenuto (CC 67, 66): These pedals don't lift all the dampers. For these, I mapped dry mechanical action samples to dummy keys.

      1. Integrating the Sympathetic Resonance Engine

      To simulate the true sympathetic string resonance, I built an algorithmic engine rather than relying on heavy samples. When you hold a chord and strike a new note, the undamped strings should naturally vibrate. To replicate this massive web of possibilities, the engine generates pure Sine Waves tuned to the appropriate harmonic frequencies of the active notes. I then run these sine waves through custom saturation and EQ to turn them from digital beeps into warm, vibrating steel strings but it feels like WUU sound xd. It perfectly masks the fadeouts and makes the instrument feel incredibly alive

      f9a452b3-efe5-4bf6-ada2-aac680d1ef79-image.png

      2afc0eb0-a4e1-402e-ac5f-dd733bd99600-image.png

      Triggers: If the new note has a harmonic relationship with any of the un-damped strings (specifically the 1st Octave, 5th, 2nd Octave, and Major 3rd defined in the Triggers array), it excites a targeted sine wave at that exact frequency.

      1. UI & Acoustic Masking

      Added Key Noise and Pedal Noise knobs to the UI. The biggest mixing challenge was finding the default dB values. I applied the Acoustic Masking rule: when you play a pianissimo chord, you should clearly hear the mechanics. When you smash a fortissimo chord, the string resonance should completely swallow the mechanical clicks. I locked these sweet spots in as the defaultValue properties in the UI.

      The piano is finally starting to feel like a massive, 500kg wooden beast living inside the DAW.

      posted in Newbie League
      O
      omerdal
    • RE: Development Diary: My First Sample-Based Piano

      @l8prod Thanks a lot. Really appreciate the support. Hearing this keeps the motivation high :)

      posted in Newbie League
      O
      omerdal
    • RE: Development Diary: My First Sample-Based Piano

      @David-Healey Thanks again for all the guidance and the resources.

      posted in Newbie League
      O
      omerdal
    • RE: Development Diary: My First Sample-Based Piano

      @David-Healey Thanks for the video, checking it out today. It’s actually a huge relief to hear that even you are still tweaking your workflow after all this time. Gives me hope that I won’t be stuck in this mapping hell forever. 😂 Even if your process has changed since then, I’m sure there are some solid tricks in there for me. Thank you so much :)

      posted in Newbie League
      O
      omerdal
    • RE: Development Diary: My First Sample-Based Piano

      @David-Healey I was really over complicating it in my head by trying to manage separate sampler modules 😥 I’m heading over to your channel right now to find those multi-mic tutorials. Thanks a ton for pointing me in the right direction.

      posted in Newbie League
      O
      omerdal
    • RE: Development Diary: My First Sample-Based Piano

      @David-Healey exactly. Babysitting those delicate pp decays and transients takes forever... I actually watched your all videos in bootcamp and tried to apply those techniques here but the sheer volume of 88 keys makes it a different beast.

      To be honest, I haven’t tried the multi-mic feature yet. My current plan was just opening separate Sampler modules for Room and Far mics which is exactly why I was so worried about the RAM and voice count!.😂

      If HISE can handle all 3 mics inside a single Sampler, that would be a total lifesaver. Do I need to combine my mics into multi-channel files in my DAW first or can HISE link the separate stereo files internally?

      posted in Newbie League
      O
      omerdal
    • RE: Development Diary: My First Sample-Based Piano

      @David-Healey Thank you so much, Haha, exactly. Definitely losing some hair over here😅

      Regarding the mics, they were recorded at the exact same time (I wouldn't risk phase issues). It’s just that manually editing, denoising and mapping thousands of individual notes takes forever... maybe months and months... :(

      I just wanted to map the Close mic first to ensure the core engine and UI are working perfectly before I dive into slicing the rest of the audio files.

      posted in Newbie League
      O
      omerdal