С поÑвлением Logic Pro X, многие логики пользователÑм долгожданную молитвы были уÑлышаны: арпеджиаторами, MIDI задержки, аккорд memorizers и других MIDI-Ñффектов, оÑнованных больше не нужно кропотливо Ñозданных в Ñреде и буквально подключил вручную . Они уже были Ñффективно заменить новой Ñерии MIDI FX плагинов, которые вÑтавлÑÑŽÑ‚ÑÑ Ð¿Ñ€Ñмо в инÑтрумент Channel Strip до 8 на полоÑу!

Logic Pro Xs нового инÑтрумента Channel Strip, показанный здеÑÑŒ Ñ Ñ‡ÐµÑ‚Ñ‹Ñ€ÑŒÐ¼Ñ MIDI FX.
Яблоки Логика Ñ€Ð°Ð·Ð²Ð¸Ñ‚Ð¸Ñ ÐšÐ¾Ð¼Ð°Ð½Ð´Ð° проделала превоÑходную работу, Ñоздающую очень полезный набор MIDI FX Ñ Ñовременный вид GUI.
Ðовых арпеджиатор и аккордов Trigger плагинов.
Гвоздь в гроб уÑловиÑÑ…?
Включено в фонд FX Ñто новый плагин, который Ñффективно уÑтранÑет 95% потребноÑти иÑпользовать окружающую Ñреду Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ MIDI. Ð”Ð»Ñ Ð¼ÐµÐ½Ñ, его Ñамых захватывающих плагина в коллекции, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет нам запиÑать нашу ÑобÑтвенную MIDI плагинов! Ее называли Scripter.
РиÑунок 1: пользовательÑкий внешний вид GUI Ð´Ð»Ñ Ñвободного Ñценарий ÑвÑзан в Ñтой Ñтатье!
Scripter Плагин
СÑылаетÑÑ Ñценарий JavaScript, Ñзык, иÑпользуемый Ð´Ð»Ñ Ð¿Ð¾Ñ€ÑƒÑ‡Ð¸Ñ‚ÑŒ Ñтот плагин, как обрабатывать MIDI, а также какие виды интерактивных меню, Ñлайдеры и флажков вы можете добавить в Scripters GUI (как показано выше).
Плагин имеет вÑтроенный редактор текÑта Javascript / ЛИÐТЕР(Ñм. РиÑунок 2). Ð’Ñе очень автономные и довольно удобный маленькой операции!
Javascript Ñамо по Ñебе не очень трудно учитьÑÑ. Как и в изучении любого Ñзыка программированиÑ, она имеет оÑобенноÑти, которые, может быть, будет немного трудно понÑть, на первый взглÑд. Ðо как только вы получите на горб, не THERES почти нет предела тому, что вы можете Ñделать, чтобы манипулировать данными MIDI к вашей музыкальной конечных целей. Кроме того, вÑтроенный в СУБД ЛИÐТЕРделает хорошую работу по указанию на ошибки кодированиÑ. Ðе то чтобы Ñ ÐºÐ¾Ð³Ð´Ð°-нибудь Ñделать любое [гм].
Лучше вÑего, процеÑÑÑ‹, которые были бы очень много времени, еÑли не невероÑтно трудно Ñоздать в окружающей Ñреде, теперь могут быть Ñозданы в ÑлучаÑÑ… может Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ вÑего лишь неÑкольких Ñтрок Javascript.
РиÑунок 2: некоторые из моих пользовательÑкий код Ð´Ð»Ñ EXS 24 Сценарий Сплит PolyArticulation.
БеÑконечные возможноÑти
Хотите Ñоздать процеÑÑ, в котором MIDI задержкой выводит каждого повтора на другом MIDI-каналом Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¼Ð½Ð¾Ð³Ð¾Ñ‚ÐµÐ¼Ð±Ñ€Ð¾Ð²Ñ‹Ðµ задержки? Или как наÑчет уÑтановки Ð´Ð»Ñ keyswitching колебание звучит дабÑтеп, где выбран диапазон ключей управлÑет ÑкороÑтью LFO? Более продвинутые идеи, такие как инÑтрументы Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¹ алгоритмичеÑкого, аккорд strummers и легато процеÑÑоры отноÑÑÑ‚ÑÑ Ðº чиÑлу тех предложил в предиÑловии к Ñценарию в логике X РуководÑтво Ñффекты, загружаемые по Ñтой ÑÑылке.
Ð’Ñ‹ также можете Ñоздавать подключаемые модули, ориентированные на ÑовершенÑтвование и раÑширение возможноÑтей конкретных плагинов, и по Ñтой Ñтатье Ive Ñделал именно Ñто.
О Полный Строки
При нормальных обÑтоÑтельÑтвах, полный инÑтрументов Струны только производит звук легато Ñтроку. Ðо Ñкрыто внутри Ñтого инÑтрумента ÑвлÑетÑÑ Ð¿Ð¾Ð»Ð½Ñ‹Ð¼ набором Ñтрок ÑуÑтавов, в том чиÑле легато, пиццикато, Ñтаккато, тремоло и два типа трели! Ð”Ð»Ñ Ð´Ð¾Ñтупа к Ñтим звукам, Ñ Ñделал крошечный модификации EXSS передней панели наÑтройки, которые позволили MIDI ÑообщениÑ, генерируемые мой Ñценарий, чтобы развÑзать Ñти Ñкрытые ÑуÑтавов.

ÐаÑтройки Ð´Ð»Ñ EXS, который дал мой Ñценарий крюк, чтобы получить доÑтуп к Ñкрытой артикулÑции в Полный Строки
Ð¥ÐЛЯВÐ: EXS24 PolyArticulation ÑценариÑ
Ðтот Ñкрипт позволÑет Ñоздать разделение клавиатуры и играть различные артикулÑции по обе Ñтороны раÑкола. Или, вы можете уÑтановить точку Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð° очень выÑокой или низкой ноте играть какой-либо одной (и обычно Ñкрытые) артикулÑции по клавиатуре!
Ðачните Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ проекта и воÑпроизводить пример, который Ñ Ð·Ð°Ð¿Ð¸Ñал живой. ПоÑлушайте, как баÑовые ноты звук Legato в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº Ð¿Ñ€Ð°Ð²Ð°Ñ Ñ€ÑƒÐºÐ° ноты звучат Ñтаккато, Ð¸Ð¼ÐµÑ Ð² виду, что и звуки идут из одного ÑкземплÑра EXS!
Теперь попробуйте Ñто: изменить Ðиже Ñплит звука от Legato, чтобы тремоло и воÑпроизводить примере уÑлышать больше напрÑженноÑти заполненные верÑии. (Ð’Ñ‹ будете видеть то, что Ñ Ð¸Ð¼ÐµÑŽ в виду!) Или выберите ниже пиццикато и тремоло раÑкол выше.
Сценарии, как и вÑе другие MIDI FX, ÑвлÑÑŽÑ‚ÑÑ Ð½ÐµÑ€Ð°Ð·Ñ€ÑƒÑˆÐ°ÑŽÑ‰Ð¸Ð¼Ð¸ Insert FX: они вÑегда живут и перехвата MIDI данных поÑле того, как входит в инÑтрументальный канал, но до Ð¿Ñ€Ð¸Ð±Ñ‹Ñ‚Ð¸Ñ Ð¸Ð½Ñтрументальный плагин Ñам по Ñебе. ПоÑтому, когда вы запиÑываете чаÑть, трек будет Ñодержать только ваши оригинальные ноты и контроллеры, как и в примере запиÑи. Ð’ Ñамом деле, еÑли вы поÑмотрите на ÑпиÑок Ñобытий в примере проекта вы будете видеть, что он Ñодержит только ноты. Во Ð²Ñ€ÐµÐ¼Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ воÑпроизведениÑ, однако, Ñценарий Ñоздает дополнительный MIDI-данных, который говорит EXS которых ÑуÑтавы, чтобы вызвать Ð´Ð»Ñ Ð·Ð°Ð¼ÐµÑ‚Ð¾Ðº выше и ниже раÑкол.
ÐадеюÑÑŒ, вы найдете Ñту уÑтановку полезно Ð´Ð»Ñ Ñ‡ÐµÑ€Ñ‡ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñти Ñтроки, а также, чтобы подогреть аппетит за влаÑть Ñценариев!
Discussion
Best regards,
Leonard
Amazing!
This was one of my favorite updates off of the bat on Logic Pro X
I was looking to access Meta data to handle score accidents
Did you find the trick ?
Best
Cyril
Even if it was possible, you can't use Scripts to process data before it enters Logic (at the Sequencer Input object in the Environment), and that is the ONLY place where Meta events can be passed into Logic for the purpose of recording them on a track. Since you can't insert a Script in any object in the Environment, and since Scripts can't generate Meta events anyway, it's just not possible.
Now, you can still attempt to use Environment objects to generate Meta events (for score symbols or whatever) and feed them into the Sequencer Input. However, it will be an exercise in futility. Or, I should say, in Logic 9 and prior it was futile, because something in the code prevented that from working. I haven't tried it in Logic X tho. If I get a chance I will and post back here if I get a positive result.
Thanks for your answer.
I do not want to generate meta, but read Meta that are in the score to send changes of articulation in Vienna Symphonic Library first, I may also extend it to Play and .......
It will look like this :
If Meta = "Legato" then send "C0"
If Meta = "Staccato" then send "C#0
if Meta = "pppp" then send "ctrl 7 with value 20"
if Meta = "ppp" then send "ctrl 7 with value 30"
if Meta = "pp" then send "ctrl 7 with value 40"
if Meta = "p" then send "ctrl 7 with value 50"
if Meta = "f" then send "ctrl 7 with value "64"
.......
So how can you read Meta ?
Do you have the list of the Meta with there code ?
Thanks in advance
Best
Cyril
I believe it's possible to do this directly in the environment. However, I'd like to suggest that the idea of associating dynamic markings with specific values sounds good in theory but isn't a practical approach. First, just adjusting the volume (CC#7) won't give your parts a natural sound. Second, if you had a sudden (subito) jump from "p" to "f" and any of the "p" notes overlapped even slightly into the "f" part, the transition is going to sound unnatural.
While riding volume alone won't give you an very natural sound, it's better than nothing, and in that case I'd suggest riding automation on your parts to match the dynamics you want.
If you want natural dynamics from Vienna stuff, you have to use a combination of riding the values of velocity xfade, the filter, and volume. But that's a whole other subject. :)
Thanks for your mail
> Scripts cannot read Meta Events, so you're out of luck there.
So this Scripter IS A PIECE OF S.....
I AM SO DISAPPOINTED, IF I HAVE KNOW THAT I WILL NOT HAVE BUY LOGIC X
I AM FEDUP OF LOGIC DEVELOPMENT TEAM THAT DOES NOT DEVELOP WHAT USERS NEED AND DEVELOPING THINGS WE DONT NEED
WE ARE Thousands USERS USING VSL, QLSO ... and that are needing to drive articulation changes from score
Cubase has the VST Expression Map since more than a year !
Logic is behind ! shame !!!!!!!!!
I am still downloading Logic X on a very slow connection so as of yet I cannot tell for myself but I have a question:
Can I, for example, make a script that SOMETIMES plays one chord and sometimes another given a single note AND actually 'use' that data?
From the article:
Scripts, like all other MIDI FX, are non-destructive insert FX: they are always “live†and intercept MIDI data after it enters the instrument channel but before it arrives the instrument plug-in itself. So when you record a part, the track will contain only your original notes and controllers, just as in the example recording. In fact, if you examine the Event List in the example project you’ll see that it only contains notes. During performance or playback, however, the Script generates additional MIDI data that tells EXS which articulations to trigger for notes above and below the split.
My question is: Can I record or save somehow the additional MIDI data for later use? eg editing?
I hope this makes sense
Recording the output of the process (i.e., the output of the Script) is proving problematic. In fact, I've been working hard trying to find a foolproof way to record the output of a Script without any kind of "gotchas". I think I'm making progress, so "please stand by". :)
You can add "transformers" that will select different "chord memorizer " depending of either a CC change or a specific note range
Have one in Minor, another one in Major, another in Major 7 ........
If you want to record the result you send the end of the chain to another midi instrument and record it
Thanks for the awesome little script, however for some reason I cannot get it to work properly.
I am literally copying and pasting the script from the file in your article into the scripter in a new project in Logic Pro x (I have even saved it as a preset in the script window).
Basically when I run the script, the GUI/front end loads up the two boxes to select the play methods (legato, pizzicato etc) and the Split note (e.g. C3) but it doesnt seem to actually split the keyboard - or change the sound according to the play methods I select. When I looked in the script, it says the following
Pluginparemeter[0] missing unit
Pluginparemeter[3] missing unit
Which I assume is the above split and below split paremeters not working properly.
I am a bit of a code newb so not sure how, in the process of my copy and paste, I am getting this wrong haha
Any info appreciated.
Thanks in advance
Chris
P.S do you know of anywhere we can get more scripts like this - been looking around and not much available.
I'm going to post a new message after this one with the new code. You can copy and paste it into the Scripter. Then, hit "Run Script". It should work 100% fine. If not, post back.
Regarding other Scripts, it's early days yet. Presently there are problems associated with having too many scripts in a project which apparently Apple is aware of. But I'm pressing on all the same, and have a variety of plugins that I'm developing to do all kinds of neat stuff.
function HandleMIDI(e) {
var sus = new ControlChange;
if (e instanceof NoteOn > 0) {
if (e.pitch < GetParameter("Split Point")) {
sus.number = 1;
sus.value = (GetParameter("Below Split")*25);
sus.send();
} else {
sus.number = 1;
sus.value = (GetParameter("Above Split")*25);
sus.send();
}}
e.send();
e.trace();
}
var PluginParameters = [
{name:"MacProVideo", type:"menu",unit:"blobs",minValue:0,maxValue:1,numberOfSteps:2,defaultValue:1,
valueStrings:["Off","On"]},
{name:"Above Split", type:"menu", unit:"blobs",minValue:0,maxValue:5,numberOfSteps:6,defaultValue:1 ,
valueStrings:["Legato","Staccato", "Pizzicato","Tremolo","H.Trill","W.Trill"]},
{name:"Split Point", type:"menu", unit:"blobs",minValue:0,maxValue:127,numberOfSteps:128,defaultValue:60,
valueStrings:MIDI._noteNames},
{name:"Below Split", type:"menu",unit:"blobs", minValue:0, maxValue:5, numberOfSteps:6, defaultValue:0,
valueStrings:["Legato","Staccato", "Pizzicato","Tremolo","H.Trill","W.Trill"]}];
Perhaps its something to do with the setup of my instrumentation - I am going into EXS24 > Orchestral > Strings > FullStings+ right?
I have tried Stereo and Multi output versions - but still get the same result.
Basically, the scripter says it works (so no more missing plugins) but seems to be sticking to the default sound that loads up when the sampleter starts (i.e. doesnt change when I change the selections in the scripter)
not sure how the flipping flip I am going wrong with this...
Cheers for your help
Chris
Note that the script won't work unless Full Strings+ is modified as shown in the picture above, so the easiest move would be to save this as a Channel Strip Setting. No need to copy and paste code to make it work.
Also, just for the record (wink) there weren't any missing plugins. The original code worked fine. I just didn't specify a few non-critical parameters that resulted in what appeared to be error messages but had no bearing on how well the script worked.
Is this script limited to just FullStrings+ in EXS or are there other ways it can be tweaked?
Awesome job though, sounds great with the two 'multis' at the same time.
Chris
Glad it's working for you.
Yes, this script can be used with any EXS-24 instrument that has multiple samples (articulations) where each one is programmed within the EXS instrument itself to have a unique Articulation ID. Critical to the operation is setting the EXS's modulation matrix as shown above.
Full Strings+ has 6 articulations, and the value of 25 you see in the code specifically addresses having six Articulation ID's. If an instrument had a greater or lesser number of articulations, that value would have to be adjusted (and so would the labels in the menus).
Thanks all
Trying to write a script to filter the channel strip incoming midi channel (like environment's channel splitter.any ideas?
thanks again
Want to join the discussion?
Create an account or login to get started!