Vincent Rateau www.superdirt.net www.sonejo.net CC-BY-NC-SA Hydrogen for Live usage 2 - Electronic music Three years ago I was looking for an audio software on linux to make live electronic music with my new project Superdirt². I tried a lot around with different software but finally I choosed Hydrogen because it could do mostly all live operations I wanted. I'm performing now for 3 years and it NEVER crashed on the stage. :) For live performing with hydrogen I figured out a nice workaround that I want to explain in this tutorial. Furthermore I want to show more workarounds and enhancements I figured out for live usage with electronic music. This article is largely inspired from Thijs' excellent article about Hydrogen for Live usage: http://www.hydrogen-music.org/hcms/node/29 The Concept : The Superdirt² Set Superdirt²'s music is based between drum'n'bass, house and dub music, the whole accompanied by a virtuous cello player playing with an hardware loop machine. For that I needed to play loops for the drums, bass and synthies in order to create the background for the cello. The whole controlled by a midi controller to play musically without to worry about the keyboard and the mouse. 1. Creating the set For the set I used the following instruments: 1. 2. 3. 4. 5. 6. 7. 8. 9. kick drum hihat1 hihat2 snare/clap bass percussion sample / loop 1 sample / loop 2 reverse cymbal - only triggered (not playing in the sequence) 2. Hydrogen Configuration I use Hydrogen in song mode (looped) 3. The Workaround / Midi Binding For now the mute button of an instrument is not midi-controllable, so I used the volume of each instrument to play/mute the tracks a play around with them. (I figured out after a while it is much better that muting the instruments because it is possible to SEE on the midi controller which instrument are on or off – no need for midi feedback to the controller) 1. For that shift-left click on a fader in H2 and move a fader of the midi controller to bind it. When all the faders a done, check the Tool/Preferences/Midi System. It should look like: → Don't forget the first instrument (param.) is 0, the second 1, the third 2 etc... → If you have less instruments in a different song you need to put dummy instruments (with no sounds) in order to keep the midi-binding track order. 2. Set all instrument faders to the max level. If you play the song right now it would sound horrible because all the instruments are too loud! 3. So decrease the master volume in the mixer until the master signal is under 0.99 and don't clip anymore. 4. Go to each instrument and decrease the instrument gain until it sounds right: I know its a dirty workaround but it works for me :) Now start the song and you can play around with the faders of the midi controller and arrange the song live by enabling/disabling the instruments. 4. The reverse Cymbal As shown before I put on instrument nr. 9 a reverse cymbal for triggering to get a nice transition between the parts. I moved the starting point of the sample in H2's Sample Editor so I only have to start triggering on the last bar before the end of the loop (so the highest peak on the reverse cymbal will be on the beginning of the first bar). For triggering I had to change the midi CC of one button of the midi controller to the right midi NOTE in the settings of the midi controller (because midi-binding to trigger a instrument is not implemented yet), but this works fine as well (workaround 2 :) ). In my case it was NOTE 44. How to do that really depends on your midi controller so I won't explain that here. Make sure in Tools/Preferences/Midi System the Ignore note-off is enabled to trigger the cymbal without holding the key. 5. Midi Clock To synchronize the the hardware loop machine to hydrogen I needed a midi-clock. H2 can't sent midi clock but that doesn't matter because there is the package jack_midi_clock that send a midi clock according to the jack transport. Install the package and start it. It will display a jack_midi_clock in the Jack Midi window: Simply set up Hydrogen with J.TRANS and J.MASTER As soon as you hit play in H2 jack will start the transport and send a midi clock. 6. More live stuff Futhermore I use ZynAddSubFX routed to Sooperlooper (with jack transport sync). So I can play synths on the Keyboard and loop them with Sooperlooper (4 tracks and 1 delay track). Also I use H2's Playlist Editor (very nice feature) to navigate between the songs during the gig. I used as well the GNOME2/MATE window behavior “Always on top” for the mixer and the Playlist Editor (very useful feature). And finally I built a Bash script to start all the softwares in the right order and a Patchbay in Qjackctl to save all the routing connections. And on the stage it's amazing! YOUTUBE : https://www.youtube.com/watch?v=5YAFu7hgbE0 Going further with live electronic music Playing different parts in a song Now I want to explain new ideas and enhancements for the live set I'm looking for (be careful, workaround party!) What I really need now is the ability of changing different sequences for each instrument in order to build songs with more than one groove (for example for a chorus/verse arrangement). It is possible to use different patterns for that and control them with the buttons of the midi controller. 1. Go in Tools/Preferences/Midi System and create midi bindings for the buttons you want to connect with your different patterns. Select the Action SELECT_NEXT_PATTERN with the pattern number as parameter (remember 0 = pattern 1, 1= pattern 2 etc). 2. Setup the song in pattern mode 1. In single pattern mode In single pattern mode you need to put all instruments sequences in each pattern because H2 will play only one pattern at once. You can switch between the patterns. → In the single pattern mode this works straight away and it is nice to do fast switches between the parts, but you can't change the sequence of only one instrument (in order to change the instruments step by step). 2. In stacked mode In stacked mode you can play several patterns at the same time and you can trigger them with the buttons of the midi controller with the Action SELECT_NEXT_PATTERN (as before). You need to put only one instrument on each pattern (because you want to switch between them). → This time the changes happen on the first next bar, not immediately. (what is really good as well) I built a song with 3 patterns for each instrument: For instance it is possible to play k1, hha1, hhb1 and bass to get the first song part playing and change each instrument during the song. This is nice because you can enable/disable each song part on each instrument, but it is also possible to enable 2 bass patterns at the same time and that really bad. 1. The best would be to introduce a kind of behavior to say “this 3 patterns are linked, play only one of them” (maybe via the virtual pattern mode?) 2 . Or an other idea-workaround would be to create a DESELECT_NEXT_PATTERN Midi Action so it would be possible to create bindings like: Button A : Select P1, Deselect P2, Deselect P3 Button B : Deselect P1, Select P2, Deselect P3 Button C : Deselect P1, Deselect P2, Select P3 3. Or much nicer a kind of matrix view like in other live software. I made a mockup :) Could look like: (the blue patterns are playing) Mixing the instruments with live effects In H2 it is possible to do some basic mixing with the 4 sends but there is now way to put an effect on an instrument only. For that I created a new project in ardour with 9 busses. In H2, enable Tools/Preferences/Audio System “create per-instrument output” and route each instrument track to each bus in ardour. So it is possible to mix the tracks properly, including different effects (LV2, LADSPA) on the tracks, create busses, and even to control the effects via your midi controller (very useful with filters and delay :) ). This is very experimental (especially with the routing between the different songs) and I definitely have to do more tests on that (and try Qtractor as well).
© Copyright 2024 Paperzz