Topic: Automating Velocity on existing MIDI file

Long-time PTq user with a VPC1 controller. Currently v8 Stage. Works great for live playing and practicing.  However, I have a new use case:

I want to use PTq, or a VST version of PTq to play a midi file where existing velocities are all the same. I'd like to change PTq volume using variations in velocity of the key attack, not just raising or lowering the overall volume.  This is how PianoTeq works for live playing.  However, ideally I'd use an automation track in my DAW to adjust the velocities for various measures in the MIDI file.  I can adjust volumes directly using Controller 7, but again, I want to automate velocities, not just volume.

Actual scenario: I want to download MIDI files of accompaniments for various solo instruments. I want to use PianoTeq for playing those MIDI files while I'm singing/playing my French horn.  There are a huge number of parameters that can be controlled via MIDI mappings (Options-MIDI-Insert, or see .png image available from my Google Drive, link below), but none for modifying velocity.

Any suggestions?

https://drive.google.com/file/d/1Wd0xRXPJUmAZSjAbyMu-IwkmgTwUKnWA/view?usp=sharing
Last edited by klaberte (26-09-2025 18:53)

Re: Automating Velocity on existing MIDI file

klaberte wrote:

ideally I'd use an automation track in my DAW to adjust the velocities for various measures in the MIDI file.

Which DAW? Reaper will let you edit a MIDI track to change the velocities, and I presume most other DAWs do as well, but the details will vary from program to program.

If you specifically want an automation track as opposed to editing the MIDI, in Reaper I believe you could do that by adding the “JS: MIDI Velocity Control” effect before Pianoteq; in that effect, you would then click the “Velocity Add” slider, then click the “Param” button and choose “Show track envelope.” I couldn’t say how to do it in a different DAW.

Re: Automating Velocity on existing MIDI file

Coming back to answer my own questions. The easiest way I found was to avoid the DAW completely, Use MuseScore to import, then add dynamics and other stylistic choices, then export the final to a new midi file to open in Pianoteq. 

Steps:

Install MuseScore (free open source),

Import the original midi file into MuseScore,

MuseScore will then show you the midi file as sheet music.

Erase all of the files attack velocities (select all notes, set note velocity to zero)--this does not make the note not sound, it just removes the input velocity from having the final word on the exported MIDI velocities.  This step took me the most time to figure out.

Use MuseScore to add dynamics, phrasing, etc. 

[Optional, change the default playback instrument inside of MuseScore to your Pianoteq VST.  This should send all of your midi events to Pianoteq for playing.]

After you are happy, export to a new midi file and open it in Pianoteq.  You should see varying attack velocities and other changes made in Musescore

Re: Automating Velocity on existing MIDI file

FWIW Cakewalk Sonar allows automating Velocity Offset to add/subtract to/from existing note velocities, and many tools to record and edit automation that would facilitate the process.