Тёмный
No video :(

Lua Protoplug Tutorial #2 : A Simple MIDI Arpeggiator 

synaesmedia
Подписаться 474
Просмотров 536
50% 1

Finally, the second Protoplug tutorial.
In this one we'll look at processing MIDI data in Protoplug, by writing an arpeggiator which takes individual notes from a keyboard or the DAW's Piano Roll and multiplies them into a whole sequence of notes, spread out in time.
Code : gist.github.com/interstar/c0c...
Get Protoplug (it's free software) : www.osar.fr/protoplug/
Get the Sonatina Harp plugin I use here : plugins4free.com/plugin/2313/

Опубликовано:

 

1 авг 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 4   
@thka7344
@thka7344 Год назад
Wonderfully explained, thank you !
@octaviop.4870
@octaviop.4870 11 месяцев назад
Hello! I've been working for years on an idea for a multitrack midi sequencer that came up with. It's sort of like ableton live but with my own ideas twist. Now... i created a prototype using javascript... and it works ok in terms of functionality. It uses a novation launch pad as its input device and gui. but the timing is horrible. I honestly had never heard about protoplug. So this seems very interesting. I would like to ask you a few questions: - Is the timing precise? - Is this robust enough to run a multi track midi sequencer? - Is there any problem with running multiple instances of protoplug (i want to sequence 8 different synths with this) - can i store the tables of notes with the product so when i save the ableton file and reload it next time all my notes and sequences are still there? Thank you very much for taking the time to make this video. Appreciaate it a lot.
@synaesmedia
@synaesmedia 10 месяцев назад
1) The timing is "OK". It's obviously not like writing C where you are compiling to machine code and have to manage your own memory. It's a scripting language running on a virtual machine that does its own garbage collection. Which adds a certain overhead. And perhaps there are delays from the garbage collection. But it's fast enough to do some basic sound synthesis (which means running a loop to calculate audio samples 44,100 times a second. And I'd say it's probably OK for generating MIDI data in real time, if that's your main interest. If you want to generate a LOT of MIDI data it might choke. But computers are fast these days. ALSO, being a VST plugin, I *think* it gets its clock from the DAW. So keeping it in sync with the DAW should be OK. I've not tried anything like that, though. 2) The real issue with running a "sequencer" as a VST plugin, is that the VST standard doesn't, AFAICT, specify anything about routing MIDI. What that means is that in each DAW you'll have to figure out if and how you can do it. You'll see me explain this in the context of FL Studio at about 3 - 5 minutes into the video. It will probably be different in Ableton. I don't know if it's possible to send MIDI data out of the plugin on multiple MIDI channels and have them routed to different instruments within the DAW. But even if it is possible, what I'm certain of is that the plugin won't be able to set this up for the user. Every user is going to have to figure out how to configure that routing by themselves; before they can use the plugin. Which is a pain. In terms of robustness. It's probably robust enough that if you write code that doesn't crash, the plugin itself won't crash. 3) I've run 2 or 3 copies of Protoplug at once, and didn't seem to have any problems. I think the VST standard does encapsulate plugins OK. I'm not sure if there is a way multiple copies of the same VST leak into or interfere with each other. I'd guess not, normally. And haven't seen anything like that in Protoplug. 4) There are some calls in the API for saving and loading data. I guess to files somewhere. See www.osar.fr/protoplug/api/modules/script.html#saveData I've not experimented with this myself. VSTs obviously do save their state in some way when the track that holds them is saved. By default in Protoplug the current script is saved. If you wanted to save actual sequence data, my hunch is that it's probably possible, using the API. But I've not looked into it. In general, depending on what you are doing, Protoplug MIGHT be the solution for you. If it's some kind of algorithmic generation, and you are happy setting up MIDI routing yourself, then it might be a very good solution. OTOH, if you are trying to write an alternative sequencer and just want to use the DAW to host VST instruments, my hunch is that it's not necessarily right for you. One alternative is to run a program completely outside the DAW, and just send MIDI from it as though it were a MIDI controller. That's what I do from Gbloink! (See ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Q7PD00jvCy0.html and ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-PG3UhG_PWT8.html ) I found a Midi Mapper for Windows, and used it to route 3 channels of MIDI into FL Studio. I also route MIDI From Sonic Pi to FL Studio by the same mechanism. The irony with FL Studio, is that it seems easier to route multiple MIDI channels coming from *outside* the DAW, to different instruments, than it is to route multiple MIDI channels generated by a plugin *inside* the DAW. But Ableton might be different. Of course, an external program won't get a MIDI clock or be able to sync. Unless you use Ableton Link which I've not tried, but I believe Sonic Pi uses it and can sync to Ableton via it. A final option if you're not scared of C++ / JUCE is that I believe JUCE now supports JS scripts. So it might well be possible / or soon be possible, to write your own sequencer / DAW, largely in Javascript, sitting on a small core of JUCE C++. This is something I'm meaning to try out. Perhaps later this year, when I get some time. If I do, I'll certainly be making videos about it.
@octaviop.4870
@octaviop.4870 10 месяцев назад
Thank you very much@@synaesmedia for such a lengthy response. I have subscribed to your channel. Please continue to make videos. You're great at explaining things. Please consider making a video about a simple midi sequencer. Thanks in adv.
Далее
80 Year Olds Share Advice for Younger Self
12:22
Просмотров 1,7 млн
The lightweights ended Round One with a BANG 💪
00:10
Stop, Intel’s Already Dead!
13:47
Просмотров 278 тыс.
MIDI Polyphonic Expression (MPE)
16:54
Просмотров 4,5 тыс.
Go 1.22 - Fixes For Loops | Prime News
7:41
Просмотров 69 тыс.
The Dual Arpeggio Player: Music in Motion
12:38
Просмотров 206 тыс.
JPEG is Dying - And that's a bad thing
8:09
Просмотров 132 тыс.
Everything Starts with a Note-taking System
21:23
Просмотров 226 тыс.