SynthMaker

PPQPos float (green) out in SM Pro?

Archive · 2012 10 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

graywolf2004 ·

Hello, SM people 🙂 It's my 1st post to this forum, after 1 month of playing with FL Studio version of SM, FREE SM Pro and reading this forum.

I'm trying to create MIDI arpeggiator/step sequencer, and I have a working prototype in FL Studio. The "green" timing issue is resolved with PPQPos primitive - since it has float output which is updated 24 times per quarter note. It works fine in FL and the timing seems to be fine.

But I need a regular VST plugin to share and use in any DAW. I'm considering SM Pro, since FL Studio version is practically useless for creating MIDI plugins - it cannot receive midi notes from host and cannot send them. Besides, you are limited to FL Studio.

So, when I tried to open my project in SM Pro, it was a HUGE disappointment - PPQPos in SM Pro DOESN'T have "green" float output...

Browsing this forum, I didn't find any suitable workaround. Tick100 is not an option - it will give 5ms error at best. So pity, because I think it's not that hard to implement the same thing in SM Pro.

Any ideas, please? Or maybe I'm missing something?

trogluddite ·

Hi there, Mr Wolf, and welcome to the forum.

graywolf2004 wrote: Or maybe I'm missing something?

I wish it were so - but, sadly, it is SM Pro that is missing something. You are right to be disappointed - as you have probably seen already from your research here, getting those accurate PPQ triggers is something of a "holy grail" around here. As yet, a "native SM" solution seems very unlikely unless the software is upgraded. From the little I have seen of SM's "sister" software, FlowStone, it does look as if the developers could implement a solution similar to the "Green PPQ" from FL - the Ruby component from FlowStone seems to offer just this kind of stable timing. But the developers have always kept their plans very secret, so there is no way to know if or when this might happen.

PS) Mighty fine looking plugin for someone who's only been "playing" for a month! - beautifully neat schematic too. Let's hope we see something nice from OutSim soon, to tempt you to stay with us.

Mo ·

Although it is not quite the same as generate new notes, it is possible to make accurate note changes/sequencing by using mono stream.

Dozius ·

graywolf2004 wrote: FL Studio version is practically useless for creating MIDI plugins - it cannot receive midi notes from host and cannot send them. Besides, you are limited to FL Studio.

That's not true at all. It can receive and send MIDI no problem. You just have to understand how FL handles MIDI. (hint: FL does not use MIDI in it's piano roll)

trogluddite ·

Mo wrote: Although it is not quite the same as generate new notes, it is possible to make accurate note changes/sequencing by using mono stream.

Yes, this is certainly true if the schematic has its own built-in sound generator - in combination with the stream PPQ, this can even be accurate to a single sample.

graywolf2004 wrote: I'm trying to create MIDI arpeggiator/step sequencer,

So, I'm guessing the idea is to send MIDI out that can be used to drive other VST instruments etc. (maybe I misunderstood the intention?). The green timing issue will always raise its ugly head somewhere along the signal path if MIDI output is the intended result - though maybe using stream in the right places can at least minimise the problem. FWIW, I've always though that "pure MIDI" would be preferable for step-sequencers etc. - no on-board sound generator could ever offer the sonic variety of being able to chuck MIDI data into any old VST instrument (or even hardware) that you have knocking about.

nix ·

I have a possible workaround- instead of using the ppq primitive,, you can send your arp VSTi a MIDI note at whatever speed you need, and thence clock it with the host. This message can be delivered in green via the MIDI splitter module. The drawback to this is that the user is required to input a bar of 64th notes say. hmm

graywolf2004 ·

Wow... 5 replies. Didn't expect that 🙂

trogluddite wrote: PS) Mighty fine looking plugin for someone who's only been "playing" for a month! - beautifully neat schematic too. Let's hope we see something nice from OutSim soon, to tempt you to stay with us.

Thank you. To my "excuse" I can say that I spent majority of this time with SM, also having technical background, programming skills and good knowledge of MIDI 🙂

Dozius wrote: That's not true at all. It can receive and send MIDI no problem. You just have to understand how FL handles MIDI. (hint: FL does not use MIDI in it's piano roll)

Yes, but to "external" ins ans outs. While I need to receive MIDI from piano roll, process it and send to another FL track, without using workarounds like Midi Yoke. Look at VST arpeggiator Kirnu, it works this way. In FL Synthmaker you have Voices input from piano roll, but no Voices-to-Midi convertor. If I'm missing the right way, please explain it in more details.

trogluddite wrote: So, I'm guessing the idea is to send MIDI out that can be used to drive other VST instruments etc.

Yes, absolutely. And in FL Studio timing is fine. But I have to check it with high CPU load, though, according to concerns about "green" timing here.

nix wrote: I have a possible workaround- instead of using the ppq primitive,, you can send your arp VSTi a MIDI note at whatever speed you need,

It's not a very pleasant workaround, but thanks. It's probably the only way to get it work now. I thought of capturing MIDI clock message (248h) from host or from midi in, but MIDI splitter primitive does not recognise it.

nix ·

If u end up doing that, have a look at Usine, u can export a VST with ur SM VSTi bundled, and clock it with 'master synchro'-- This way the user opens one plugin, and the timing will be sound. I'ts a pain inthe neck-green timing

Dozius ·

graywolf2004 wrote: Yes, but to "external" ins ans outs. While I need to receive MIDI from piano roll, process it and send to another FL track, without using workarounds like Midi Yoke. Look at VST arpeggiator Kirnu, it works this way. In FL Synthmaker you have Voices input from piano roll, but no Voices-to-Midi convertor. If I'm missing the right way, please explain it in more details.

There's nothing external about it. It works the same as any plugin that want's to send or receive MIDI internally in FL.

Here's a basic flp to demonstrate.

ps. it's in a zip because the forum complained about the flp file extension.

graywolf2004 ·

Dozius wrote: Here's a basic flp to demonstrate.

Thanks, but I want a regular VST Plugin anyway, not just FL plugin.

Last week I messed with Delphi + VST ASIO Pack. And I have almost the same thing, but now in Delphi. I realized that timing problem is more general, and it's related not even to VST technology, but to whole Windows platform. From VST plugin, you can check PPQ position as often as you want with gettimeinfo() call, but you can't tell a host to pass some event (callback function) 96 times per quarter (at least I didn't find it in VST 2.0 specification). You have to create your own timer and rely on it. And here we come to another problem - when you use standard Delphi's TTimer, it's precision may vary from 1 to ~30 ms, it depends on some global system setting... What a mess. Better way, as I found, i to use separate thread with high priority, can't get it work yet. But it should be possible anyway, since it somehow works in another plugins.

BTW I'm still considering SM Pro as a tool to create VST control interface for my Novation Nova synth, cause there it's not necessary to sync to host.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.