Realtime Strumming { SynthEdit, FlowStone, Plogue Bidule, C++ }

Discussion in 'Education' started by Jasmine, Jun 4, 2016.

?

...doable?

  1. That's easy.

    5 vote(s)
    35.7%
  2. Can't help, but good idea.

    4 vote(s)
    28.6%
  3. Yes, in Plogue Bidule

    0 vote(s)
    0.0%
  4. Yes, in Reaktor

    2 vote(s)
    14.3%
  5. Yes, in SynthEdit

    0 vote(s)
    0.0%
  6. Yes, in FlowStone

    2 vote(s)
    14.3%
  7. I do this in C++, every day - just for fun. :-)

    1 vote(s)
    7.1%
  8. Yes, in Pure Data

    0 vote(s)
    0.0%
  9. Artificial strumming never convinced me... maybe your chance.

    3 vote(s)
    21.4%
  10. Don

    1 vote(s)
    7.1%
Multiple votes are allowed.
  1. Pinkman

    Pinkman Audiosexual

    Joined:
    Apr 22, 2016
    Messages:
    2,090
    Likes Received:
    1,949
    Same here.
     
  2. Zentropy

    Zentropy Kapellmeister

    Joined:
    Dec 22, 2015
    Messages:
    53
    Likes Received:
    47
    OK good news! I have a version that seems to be working mostly properly finally. Now I need 2 or 3 people to test a debug version for me and send the results. It collects various telemetry as you're using it and dumps the results into a base64 file I need you to send back to me. Anybody willing? It's not secret malware or anything, no network connection, it just writes to a file and you'd send me that file back. You can run the result through a base64 converter if you're paranoid adn want to see what you're sending -- it's just input/processing/output stuff that'll help me fix the last little bugs
     
  3. Jasmine

    Jasmine Producer

    Joined:
    Jan 19, 2016
    Messages:
    199
    Likes Received:
    87
    Location:
    Nassau, Bahamas
    Send you a PM.
     
    Last edited: Jun 30, 2016
  4. Jasmine

    Jasmine Producer

    Joined:
    Jan 19, 2016
    Messages:
    199
    Likes Received:
    87
    Location:
    Nassau, Bahamas
    Msg. From Zentropy:

    OK guys, thanks for helping! It'll be almost no work at all. Grab the plugin from [PM] and extract the DLL to your plugin folder. It'll show up in whatever host just like any other VST. Put it on a track receiving MIDI and open the GUI. Type a number into the one text field and hit enter, doesn't matter what you type. Now play a few chords via MIDI, then pause a second and play single notes in sequence (10 or so), then pause a second and play purposely-awful chords by hitting the notes out of sync. Delete the plugin entirely. You should then see a small file on your root C drive called ZenDebug.b64 (a few kilobytes). Repeat the whole process a few times (add plugin, open, change that text field, play notes, close, delete plugin). Once you've done it 3 or 4 (or more!) times, just send that ZenDebug file back to me and done!

    If you aren't seeing the ZenDebug file being created at all, it's probably because of the DAW you use. Some of them don't actually fully purge a deleted plugin until the DAW itself closes and my plugin hooks that deletion process to create the file. You can force it to work by closing the DAW each time or just using another DAW.

    If you notice the plugin mangles your MIDI/has no sound at all/does something else weird, that's to be expected since this version's specifically for debug data collection and isn't really supposed to work! Thanks again for all the help!
     
    Last edited: Jul 4, 2016
  5. Qrchack

    Qrchack Rock Star

    Joined:
    Dec 15, 2015
    Messages:
    797
    Likes Received:
    338
    Location:
    Poland
    But the regular Reaktor instruments are polyphonic no problem. You just need to add as many inputs as you need so you handle each note separately - and you're forced to do this in any environment as you need to shift each note separately, so this is not an issue.

    If you're here to develop VST, screw both C# and Python and learn C++ so you're not screwed when somebody doesn't update your stuff. A good starting point instead of JUCE (which requires you to pay a license fee or publish your code under GPL) is WDL-OL, a community for of WDL library by Cockos (creators of Reaper). It's REALLY easy to get into, especially thanks to this guy with his "hello world" blog. But that "hello world" VST is from gain knob through distortion to a full featured polyphonic synthesizer with filters and 2 oscillators. Check it out
     
    Last edited: Jul 3, 2016
  6. Jasmine

    Jasmine Producer

    Joined:
    Jan 19, 2016
    Messages:
    199
    Likes Received:
    87
    Location:
    Nassau, Bahamas
    Read the whole thread, then comment! Otherwise you are counterproductive here and telling unreflected BS.

    This thread has an evolving character of awareness- produced by case studies and testings!

    This thread was not meant to be as starting point to build any kind of VST in C#.

    To provide best performance- we now have a beta of a C++ solution for beta-testings (see thread #64).

    It's a bug fixing and improved fork of pizMidi midiStrum (best approach after weeks of discussions and testings).
     
    Last edited: Jul 3, 2016
  7. Jasmine

    Jasmine Producer

    Joined:
    Jan 19, 2016
    Messages:
    199
    Likes Received:
    87
    Location:
    Nassau, Bahamas
    OK I'm extremely busy this week, so I will need the most time of us. But I will do my best.

    Meanwhile, there are other forks of pizMidi (complete list of products), I found during my investigations.
    So everyone interested in up to date-stuff and able to compile C++ source...
    https://bitbucket.org/agraef/pizmidi/downloads
    The original code is in parts deprecated and unmaintained.

    Notice:
    Compiling 'agraef-stuff' could become very tricky in VS (unresolved external symbols).
     
    Last edited: Jul 3, 2016
  8. Zentropy

    Zentropy Kapellmeister

    Joined:
    Dec 22, 2015
    Messages:
    53
    Likes Received:
    47
    Hey had a busy weekend and just saw this. My beta plugin posted above was not meant for public release and is technically quite illegal even though it doesn't function as a working plugin because it incorporates things I'm not allowed to release unless I pay. Those thigns are removed from my public plugins but are present in debug builds, therefore I've removed the zip from my site. I could still use another one or two people to complete the beta data gathering so please send me a msg if you want to help and I'll get you a test copy.

    More on-topic technical stuff re: my plugin - I got enough data from a couple of people (thanks!) so far to find the major flaw. The problem is variable PPQ resolution in some DAWs. Simple explanation is that PPQ is like a MIDI version of sampling rate, it's how many subdivisions a single quarter note can have in a MIDI file wrt timing. Ex Ableton has 96ppq, so you can specify a MIDI note on's time at a resolution of 1/96 of a quarter note. You have to take this into account in order to send the MIDI events at proper time. For most hosts its easy because the PPQ doesn't change, but apparently some let you change the PPQ whenever you want. I wasn't handling that so the MIDI events sometimes flipped the fuck out and sometimes didn't :facepalm:I hope to get enough more data from beta testers while I'm fixing this to find whatever else problems are there, but I think this was the big issue really

    Re: WDL-OL - I really really agree if you're wanting to sell your plugin. If you're releasing it free though, no reason not to use JUCE and get the benefits of the huge amount of features it has that WDL doesn't! It's really easy to port from JUCE to WDL aside from the GUI stuff, so can always do that, too, to sell without paying for JUCE licensing. I'm pretty bitter about the Roli/JUCE merger still after it resulted in massive licensing price hikes and future JUCE work focusing on "flashy" paid-only junk like the real time build engine that's effectively useless and drains time and dev effort from useful JUCE additions. Real cranky that they're making trash like that while I still have to write and maintain my own debug tools and drag functionality out of pimpls all over the place just so I can override basic functions :suicide:

    Re: agraef's BitBucket version of Piz - if you're using VS, just stick with the normal one. That bitbucket repo is just a clone of the regular Piz altered to build on Linux. Probably whatever he changed to make building work on Linux affected the VS project in bad ways
     
  9. tulamide

    tulamide Audiosexual

    Joined:
    Feb 13, 2016
    Messages:
    847
    Likes Received:
    761
    A hard month lies behind me. Let's just say that having no feel anymore on the left side of my thigh (anybody remembering Alien 4?^^) is a small price for removing a malicious tumor weighing more than one pound without bad consequences! Yep, no cancer. It really was a tough month.
    [​IMG]

    But now that I'm back I will work on the strummer in Flowstone. Will be interesting to see where the limits are, compared to a C++ build.
     
  10. Jasmine

    Jasmine Producer

    Joined:
    Jan 19, 2016
    Messages:
    199
    Likes Received:
    87
    Location:
    Nassau, Bahamas
    Hello tulamide, I m glad you are back and wish you all the best and healthiness!

    Las week I accidentally deleted win system files in a tool called folder size. It has no dialog for deletions.
    The result was- I can't boot into the system anymore.

    Such an event did not happened to me since more then 10 years, so I forgot the concept of restore points vs. win system images.
    I restored a 2 years old win system image which has overwritten my complete drive C.

    I have no raid, but some 7zip document-backups (unfortunately 6 month old).

    I' m still totally shocked and wish I could cry (knowing there are people out there, with some more serious problems).

    So my dream machine is lost. Further more the rest is unstable and produces blue screens (NETIO.sys) and some win 7 updates can't be installed- still on fixing it.

    Facing the 2 years work I have invested in this system and the time line I have to full-fill for business, I had to make a tough decision.

    I decided to quit music making at least for 6-12 month and focusing on coding and low level multimedia.

    @Zentropy: So these days I can't test your dll.

    I wish you all good luck and will return insha'Allah one day.

    http://en.musicplayon.com/play?v=165794 <-> [Sometimes I wish I could cry...by Yello!]
     
    Last edited: Jul 12, 2016
  11. tulamide

    tulamide Audiosexual

    Joined:
    Feb 13, 2016
    Messages:
    847
    Likes Received:
    761
    Oh, that's bad news. Short before the surgery I bought an external drive, so that for the first time in over 6 years I could do a complete backup of all my creativity. I took care not to do a system image. I can always replace an OS, but never my creations. It's sad to hear you lost 2 years of your progression. Hopefully you will recover from this setback.

    @Jasmine if you decide to not visit here at all for the next year, could you please change the title of the thread, so that "Realtime strumming" is in front? I'm sure there are a few people interested in it, but won't even start reading when the title begins with SynthEdit, Flowstone or any programming language.

    Here's an early, a very, very early proof of concept. No gui, nothing to tweak. The only thing it does is buffering all notes that come in during 50 ms, then plays them down-stroked, delayed by 0.2 s from each other.

    It would be nice to have some feedback regarding the above. Does it work for you as described? Does it refuse to work. Any issues? No issues?

    https://db.tt/p9RbU7aw
     
  12. Jasmine

    Jasmine Producer

    Joined:
    Jan 19, 2016
    Messages:
    199
    Likes Received:
    87
    Location:
    Nassau, Bahamas
    Any progress here?
     
  13. tulamide

    tulamide Audiosexual

    Joined:
    Feb 13, 2016
    Messages:
    847
    Likes Received:
    761
    Unfortunately nobody seems to be interested at all. Got no feedback, so I put it aside.
     
  14. Jasmine

    Jasmine Producer

    Joined:
    Jan 19, 2016
    Messages:
    199
    Likes Received:
    87
    Location:
    Nassau, Bahamas
    @Zentropy and @tulamide

    You could consider to put your examples on GitHub (no matter which state), so later generations of developers could build on it.
    I'm sure there are more interested people out there.
    I'm interested too (although currently no DAW installed...not enough space) and could help with GitHub.
     
  15. thethirdperson

    thethirdperson Producer

    Joined:
    Aug 13, 2015
    Messages:
    300
    Likes Received:
    87
    I was just thinking about how the realguitar/lpc/strat/etc might already be able to do this kinda thing using a touchscreen. I haven't ever tried it on a touch screen but I remember being super fascinated by it with a mouse and click on the strings you can just use the midi outs from it. So I'd imagine you could strum the strings with use of a touch screen or a touchpad while holding chords down from a midi keyboard. Either way I'm always interested in trying out new gadgets and helping out where I can . Feel free to hit me up =)
     
  16. thethirdperson

    thethirdperson Producer

    Joined:
    Aug 13, 2015
    Messages:
    300
    Likes Received:
    87
    I'm also fairly certain that you can also use it standalone so it's not connected to any DAW.
     
Loading...
Similar Threads - Realtime Strumming SynthEdit Forum Date
Audio to MIDI in realtime!? Software Feb 16, 2022
Looking for non-realtime analyzer Mixing and Mastering Aug 14, 2021
What's your opinion on KARMA? (Kay Algorithmic Realtime Music Architecture) Software Jul 18, 2021
Windows 10 - Anyone setting their interface process as "realtime"? Software Dec 9, 2020
Plugins for realtime polyphonic sample transposition Working with Sound Nov 18, 2020
Loading...