Logic Pro X Tutorial: Introducing MIDI FX: The Arpeggiator : – Discussion
View up to 5 free videos from ANY course each day. Logic Pro X Core Training: MIDI Recording and Editing. Logic Pro X Core Training: Mixing and Automation. Logic Pro X MIDI FX: The Arpeggiator. Logic Pro X The EXS Sampling Explored. Logic Pro X . Feb 16, · Logic Pro X has an arpeggiator built in that can be used on any midi track, even a drum track! And while many soft synths have an arpeggiator built in, not all do, and typically a piano/electric piano emulator won’t. Let’s get started playing! First create a new session, select Software Instrument, and pick an instrument of your ted Reading Time: 5 mins. Jul 16, · Arpeggiating in Logic 9 used to be tricky. Logic Pro X changes that with easy to use yet incredibly powerful new MIDI FX plug-ins! Steve H show how to use the new Arpeggiator and download free patches. For a lot of users, building a complex arpeggiator in previous versions of Logic seemed to require a computer science ted Reading Time: 5 mins.
Arp to MIDI – Logic Pro X – ADSR – Download Latest Version
I did it at first, it’s possible but might be suboptimal. You can use an extra mini breadboard or two. You can use an extra full breadboard. So just use whatever gear you have and choose your preferred setup layout. I use more than a single breadboard because connecting a lot of buttons, potentiometers, and an LCD results in a pretty cluttered breadboard. Alternative schemas are available on GitHub. Don’t worry if you don’t have all this hardware.
All the new components we will be adding are probably not available to everyone. First of all, I’d recommend you to order those parts so you could eventually build your full Arpeggino.
In the meantime, you can skip this step of the tutorial entirely and continue to the next steps without an LCD for now. If you have an LCD but you don’t have a multiplexer, you can get rid of some of the keys to free up some pins for the LCD. If you now have all the needed hardware components an LCD and a multiplexer , we can continue with this step of the tutorial.
Adding the LCD to our project requires many changes, both in hardware and software. To ease the tutorial, and decrease the amount of changes needed to be done before seeing some feedback, this step is split to three sub-steps. You can follow them one by one to get some feedback from the Arduino that you are headed in the right direction. You can also just go ahead and follow the last one part 3 if you are feeling in control. First, we will add the channel multiplexer to our setup. The multiplexer itself takes some space on the breadboard, so I’m using an extra mini breadboard for it to have a place for itself.
Again, this is not mandatory and just go on with the hardware you have here’s a schema I used when I did not have an extra mini breadboard. In addition, we will reorganize the buttons and the potentiometer a bit. This is for the laying the groundwork for the next steps.
Now to the software side. We will create a controlino::Multiplexer object for the usage of the multiplexer. Upon creation, we will pass a controlino::Selector object to it as an argument that encapsulates the selection pins of a multiplexer. Now, all configuration buttons are behind the multiplexer. We will pass io::Multiplexer to the creation of each controlino::Key , and use the channel number as the pin number. In addition, all keys were moved to behind the multiplexer as well.
Therefore, we will pass io::Multiplexer upon their creation as well, and will use the channel numbers as pin numbers. Now it’s time for the real thing. I’m using a second extra mini breadboard for this, but again, this is not mandatory here’s a schema I used when I did not have a second extra mini breadboard. And again to coding. We will be extending the LiquidCrystal to fit better to our needs have a look at io::LCD to see the implementation and will create io::lcd using the pins shown in the schema.
Our LCD layout consists of a component for every configuration parameter. Every component will be printed in a specific position in the LCD, and is responsible for printing its configuration parameter. Some of the components have a prefix or suffix as well.
We call this prefix or suffix the title, and the configuration parameter value is the data. We want to print the titles once at the beginning, and to reprint the data every time the configuration parameter changes. We will have a viewer::Viewer method that will be responsible for printing both the title and data of a single configuration parameter. We will replace our array of Configurer s with a new structure to which we call Component that holds both a configurer::Configurer and a viewer::Viewer.
To support reprinting the configuration parameter data when changes, we will have all Configurer s returning a boolean value that will indicate whether the parameter has changed.
If so, we will call its viewer to reprint the data. The last thing we have to do is to initialize our LCD at startup and print all titles and initial configuration values. This is done in setup. After spending some time with the current setup, you might feel like we are not utilizing the LCD properly. Meaning, it’s only full of short summarization of the configuration parameters, but in a not really informative way. For example, the rhythm and style are presented as numbers that could tell us pretty much nothing, the scale mode is not in its full name, and more.
This step will improve what the LCD has to offer in Arpeggino. This step requires no hardware changes from the previous part “basic LCD” , so just follow its schema if you skipped it. In case you implemented the previous step, there’s nothing more for you to do now with the hardware. We are introducing a new “focus” mode for viewers to use the entire LCD for printing a longer description of the parameter while being configured. This is not used by all viewers. In addition, the previous summary view is kept and is the one being used when not currently configuring parameters.
To support this, we also introduce a helper class utils::Timer to allow us to easily check for how much time elapsed and if we should go back to summary view. We will not have a look at some specific code samples but I encourage you to go ahead and explore the code by yourself. In this step we will add the support for that.
The only hardware addition that is really needed is a single button. We will add two more LEDs, a green one and a red one, to improve the user experience. The red one will indicate whether Arpeggino is recording, and the green one will blink when entering a new bar in the sequence.
If you skipped the previous step and did not add a multiplexer and an LCD to your setup, or diverged a bit from the schemas we are using, just add a single button to your setup and you are good to go. Upon each event we will call a method of our Midier Sequencer. On click, we will toggle the recording mode using record. This is fully documented here on Midier repository. On long click press , we will revoke the last recorded layer. On click and press, we will stop the recording entirely.
We also want to print the bar index within the current loop. We will use the return value of sequencer. It returns the bar index if just entered a new bar in a loop, Bar::Same if there’s no change, and Bar::None if the loop was just stopped.
In case a bar index is returned, we will blink the green LED, and print it using a new method control::view::bar. In case the loop was stopped, Bar::None will be returned and we will clear this part of the screen.
The sketch of this step adds some more code, but we will not cover it here as it is pretty straightforward. In the previous step we added the support to record sequences in Arpeggino. In this step we will add the support to iterate recorded layers and control them individually. While recording, every key press creates a new layer in the sequence with the respective scale degree. Along with its scale degree, each layer has its configuration.
By default, all layers point to the common configuration also called the global configuration – the one that is shown on the LCD. This means that even after recording, you can change the common configuration, and all recorded layers will follow along your changes. This allows us to play around different styles and rhythms even after recording a sequence. A layer can also detach from the common configuration and have its own private configuration.
After detaching from the common configuration, any changes to the common configuration will not affect the layer. When a layer points to the common configuration it is called “dynamic”, and when it’s detached from it and has its own private configuration, it is called “static”. These two possibilities together significantly expand the boundaries of our recorded sequences.
We can combine both static and dynamic layers in our sequence. For example, we can have some static layers to play the role of a bass, configured to a certain octave, note, style, or rhythm. At the same time, we can have some dynamic layers with the melody itself, and playing around with their configuration post recording. In this step of the tutorial, we will add the support to iterate recorded layers, and convert dynamic layers to be static layers and vice versa. While iterating layers, the layer number will be printed on the LCD, and its configuration – whether it’s the common one or a private one – will be the one shown on the LCD.
Also, while iterating layers, we will decrease the volume of all the other layers, so we could use our ears and easily understand which layer is selected at the moment. When a layer is selected, changing the configuration will cause the layer to detach from the common configuration, and the shown configuration will be set to its private configuration. Any changes while a layer is selected will affect only the selected layer. Layers can be either finite or infinite.
A finite layer is a layer that starts some time within the sequence and stops at another time, before the sequence has fully looped. An infinite layer is a layer that is played all along the sequence. For example, if we have a sequence of 4 bars, and we pressed a certain key for 2 bars, then its layer is finite. In contrast, if we pressed the key and did not release it until all 4 bars played entirely, and the sequence started to loop itself, then the layer is infinite.
Infinite layers will always be continuous, regardless of the number of bars in the sequence, the number of steps of the arpeggio, and the rhythm. Finite layers are not continuous, they stop when the key was released, and start again when it was pressed in the next loop of the sequence. Let’s take an extreme example, and say that we have a sequence of a single bar.
Let’s also say that we are playing in the rhythm of triplets, meaning that we have three notes in a bar. What happens if we played an arpeggio with more than three steps? The answer is that it depends. If the key was pressed all along the sequence, then the layer is infinite, and the entire arpeggio will be played, with the correct number of steps. If, for example, we use six steps, then it will be played across two bars, even that our sequence is a single bar long. This might seem odd when you think about it, but your ears and feeling would suggest that it is clearly necessary, and it’s the native and expected behavior if you continuously pressed a key along your sequence.
In contrast, if we released the key sometime before the loop was fully completed, then the layer would stop and start again in the next loop, meaning that not all steps would be heard. This is again the expected behavior if you released the key within the loop. This truly makes the Arpeggiator a live performance, manic machine great for DJs, EDM producers and sound designers alike.
Here’s a look at the Remote control options:. Remote control? You read that right! This is big-time stuff. Imagine the possibilities. Actually, you don’t have to because I created a very quick couple of Track Stacks for you! The first one is called Subotnick Dreams. The second one, Pacific Fantasy, puts a world ensemble into a Track Stack, stocked-up with Delays and Arpeggiator plug-ins so that with one quick tap of a finger on G2 Logic will play a pseudo ethnic track all night long!
If only I had more time! More articles by this author. His career encompasses a wide spectrum of the music universe. His TV scoring credits include more than episodes, encompassing such award-winning productions including PBS’s acclaimed, Reading Rainbow for which he composed the iconic “Butterfly in the Sky” theme s Read More.
Create an account or login to get started! Audio is your ultimate daily resource covering the latest news, reviews, tutorials and interviews for digital music makers, by digital music makers. Log In Create Account.
A NonLinear Educating Company. Arpeggiating in Logic 9 used to be tricky. Steve H show how to use the new Arpeggiator and download free patches. Arpeggiator Arpeggiator logic pro create arpeggiated patterns how to logic pro logic how to logic pro how to logic pro X. Steve Horelick More articles by this author. Related Videos. The Future of Podcasting is Spatial.
Discussion Rounik. Nice job Steve!! The Arpeggiator really is my favourite addition to Logic Pro X so far Want to join the discussion? Featured Articles. Related Articles. Logic Pro Will it revolutionize the way we record and mix?
– Logic pro x record arpeggiator midi free download
Editor’s Pick. Max For Live Instrument. Vocal Processing.