Need a method of controlling piano sustain

Started by carbonthief, December 02, 2012, 20:08:52

Previous topic - Next topic

carbonthief

First of all, Hello!  Totally new here, totally new to OpenMPT, totally new to trackers in general.  After a long hiatus I got the itch to get back to my old hobby of writing bad music and forcing my friends to listen to it, but I have a completely new computer this time and I'm starting from scratch with a budget, and have long wanted to make chiptunes.  That's when I discovered Famitracker, which led to my discovery of trackers in general, which led to my discovery of THIS tracker that holy crap supports vst.

So then!  Here's my snag.  I can't get sustain to work on piano sounds.  Let me explain.

What I have first tried is a steinway piano housed in kontakt 5 (which I purchased as part of the Garritan Personal Orchestra some years ago).  This is the piano instrument I would prefer to use, but at this point I'm so frustrated that I will use any VSTi that I can get sustain to work in.  I have a sustain pedal, and when I press it down it causes \7F to appear in the effects column, and when I depress it causes \00 to appear in the effects column, as well as successfully sustaining the note I'm playing.  It does not however sustain these notes when I play them back, only when I'm recording them.

I have tried using Z macro's by setting SF1 to Midi CC generating CC64, (which by the way pops a message that says I have chosen not to embed midi macros, would I like to embed them now, to which I say yes, but how can I choose ahead of time to embed them?) and then in the effects column using Z01, but still no sustain upon playback.

I have tried "learning" a macro for sustain within the VSTi window but there's no sustain knob or switch to click on within.

I have tried these methods with Piano One, a free piano VSTi, but I get no sound of this plugin for some reason.  Just, no sound at all, and I can't begin to understand why.  But it has a sustain slider that I could have set a macro too, but alas, no sound.

I have tried CVPiano, another free piano, but it's buggy as hell and crashes upon load every time.

I have tried mda Piano with all the methods listed above, and no sustain upon playback.  There is no sustain slider or knob with which to set a macro to.

So I come now to you for assistance: I need any method or plugin/method combination you have give me to be able to control sustain on a piano sound.  Or if my methods of attempts or flawed or incomplete, perhaps you can help me out with that.

Thanks,
Jon

LPChip

Hi Jon,

You're on the right track.

By default, SF0 is selected (Midi macro slot 0), which is the top midi macro slot. So what you want to do, is first place an SF1 effect before your midi macro's. Then it should work with the \7F and \00 (or if you want an instant change, Z7F and Z00. Z01 just sets the midi macro value instantly to 1, it doesn't select the SF1 slot. Thats where you use SF1, obviously. :)

As for your other question, in the Zxx dialog, where you configure your midimacro's, on the bottom, there's a checkbox called "Embed midi macros"
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

Saga Musix

Or if you don't want to place an SF1 effect on every pattern channel you are going to use, simply assign the CC to SF0 instead of SF1, as that's the default macro, as LPChip noted. If you only work with VSTis, the default SF0 macro (filter cutoff) won't do anything anyway. If you want to use this macro configuration for all future songs you are going to write, you can click the "Set as Default" button, which will then use this configuration for all newly created files, and it will also automatically enable the "embed midi macros" setting for such newly created files of course.

I know that the manual on using MIDI macros is far from complete, but you have found your way to the MIDI macro configuration dialog, which is great. Did you consult the manual for that? If yes, what would you think could be improved in the manual so that you would have found the information on switching between macros more easily?
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

carbonthief

#3
Thankyou for the replies!  I still haven't gotten it to work, so I'm going to post some screenshots:

http://imgur.com/Af6TA

That's what I originally had setup, but I now have it on SF0 instead per Saga Musix's suggestion.

http://imgur.com/z8yxI

This is what I'm trying in the pattern editor.  Also tried with Z7F and Z00 instead.

As for how I got to MIDI macro config, I think I found it by just rummaging through the program looking for a way to get sustain to work.  I originally went to view and midi mapping, and thought maybe I can set a parameter to control in the pattern editor, and somehow trying to set this up the pattern editor led me to the Z effects, which led me to see the Zxx button to click on.  I did search the wiki for information on how to use it, but I have not actually looked in the manual.  Now that I look it looks the same as the wiki.  As for how it could be improved, it seems pretty detailed, it's just a little confusing if you're not familiar with the subject, so I guess maybe an example of workflow of a common use would help.

edit: I think I got it, sounds like it's working on the Steinway piano I wanted it to work on.  Thanks for the help!

LPChip

Looking at your 2nd screenshot, you don't actually need to place SF0 at the top, because SF0 is the default. Only if you have placed SF1 earlier in the song on that channel, you need to place the SF0.
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

carbonthief

#5
While I'm here, may as well ask this, to make sure I'm understanding how this works correctly.  What I'm trying to do now is apply an effect from a VST to a pattern made with a VSTi, more specifically I want to put a light distortion on the piano.  Now the way I understood it, is that each channel corresponds to each column in the pattern editor, so to do this you would go to general, set a channel to the VST effect you want, and it would apply that effect to everything in that column.  However it doesn't seem to work, and I'm unsure if I'm doing something wrong or if it's just a problem with the plugins I have tried thus far.  The one I am trying now is CamelCrusher.

http://imgur.com/BfKbW

There is no noticeable difference in the sound.  What am I missing, or did I just completely misunderstand how this works?

edit:

I saved and reopened, and for some reason the sustain no longer sounds on playback... any ideas on that?

Saga Musix

Quote from: carbonthief on December 02, 2012, 23:01:28
There is no noticeable difference in the sound.  What am I missing, or did I just completely misunderstand how this works?
You have to create a plugin chain, by putting CamelCrusher after the piano in the plugin list and then selecting CamelCruser from the piano plugins's "Output to" list.

Quote from: carbonthief on December 02, 2012, 23:01:28
I saved and reopened, and for some reason the sustain no longer sounds on playback... any ideas on that?
Is the macro configuration still correct? Is the correct macro selected (through SF1 or whatever) in the pattern?
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

carbonthief

#7
It is still set on SF0:
http://imgur.com/GmlI6

As for setting up a plugin chain, in what window am I looking to do this?  I'm not seeing the "output to."

edit: I swear to god I left it open, didn't change anything, left the house for an hour and came back, and it has sustain now.

edit 2: I found the output to, I got it now.  Thanks!

Saga Musix

Well, that sounds really weird, but it sounds more like a plugin issue than a OpenMPT issue...
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

carbonthief

Yeah, I'm certain it is.  It does some weird things in openmpt.  Sometimes there's no sound until I record several notes onto the pattern editor, and then it plays all the notes really fast, and then it works after that.  But I haven't had that problem with other VSTi's I've tried.

Saga Musix

I'd love to help there but I don't have this plugin, so I can't really do much. But it kind of sounds like the plugin is loading big sound files from disk and thus audio output is blocked for a while.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Harbinger

Myself i use MDA's piano VSTi as it suits me just fine. It's simple, and except for the fact that the release of the piano strings is not perfect, i still use it to produce all my piano suites.

I'm going to guess that MDA's piano does not recognize Sustain midi messages (if so, i would have been using it a long time ago), so what i do is, i set up one note per channel, so that the note sounds until struck again. For example, channel 1 is C-4, channel 2 is C#-4, etc. The few times i lift the sustain pedal i just enter a note stop == in all the channels).

Now this is VERY time consuming, but since almost all my piano suites are already noted, all i do is enter the notes into their channels. I always start with a template file, which has all the notes from C-2 to B-6, and when i start entering a suite, i eliminate the channels of all the notes that i won't be using.

An odd alternative to your request, but there it is... 8)