13,420
edits
Changes
no edit summary
= Background =
[[Image:netbookperformance.pngjpg|thumb|right|300px]]There are many postings on the Internet that "struggle" with how to performing a live keyboard in the Linux environment.'''370px| <b>The Lucky Bleeders</b> Performing @ <i>The answer is that it can be done'''Cameron House</i><br />Toronto, it just takes some knowledge of commands to launch and start Jack audio serverON, as well as launching keyboard emulators and making the appropriate connections (patches) via the Jack audio server.Canada]]
I have used MS Windows OS with '''Native Instruments Hammond B4, and other Native Instruments applications''',recently kept my performance set-up to a <u>minimum:<br /u>so I have some experience when comparing open-source software against proprietary software (i.e. pros vs cons).
* '''Midi Keyboard''' / '''usb cable'''* '''Netbook Computer''' (running ''Ubuntu Studio''), '''power-chord''', '''Audio Adaptor''' cable<br />(from netbook to Amplifier).* '''Folding chairs''' (one chair to seat myself while the keyboard sits on my lap, and another chair to hold my netbook computer)''<u>That's it</u>!'' This method has worked for me for years (except I am now using a net-book computer, and will be bypassing the ''Tascam US122 USB/MIDI'' device since I now have a USB musical keyboard)... ... '''Here is a picture of myself (and keyboard setup)''' along with our band called ''"The Lucky Bleeders"'' performing at the ''Cameron House'' in Toronto, ON, Canada a few years back... I have viewed many Internet posts indicating the "struggles" or "frustration" of finding a way to perform live in the Linux environment.'''The answer is that it can be done''', it just takes some knowledge of some Linux commands to launch and start Jack audio server, as well as launching some keyboard emulators, and finally making the appropriate connections (patches) to the keyboard and amplifier via the Jack audio server.<br /><br /><br />[[Image:bristol.png|thumb|right|350px|A <u>Wide</u> and <u>Free</u> Selection of <b>Bristol</b> Keyboard Emulators]]I will discuss in this WIKI how to use Linux Ubuntu Studio for live performances. Contrary to other Internet postings, you don't have to use an application such as '''Reaper''' ''(although that approach would make it more user-friendly for non-Linux users or "Newbies")''. Instead, a well-written Bash shell script can be used to launch Jack and necessary keyboard applications such as '''Qsynth''' '''(Piano, and other sound-font voices)''', as well as '''Bristol Organ Emulator''' '''(Hammond B3, Vox, Rhodes Piano, Phophet5, Juno, Moog, etc)'''.<br /><br />Therefore, you can switch to different voices by switching to different transmitting <u>MIDI channels</u>, which may be more convenient than pointing and clicking on an instrument icon via the '''Reaper''' or '''Cubase''' applications. Also, applications such as '''Bristol Organ allows a user to sync midi controller buttons or sliders (on the keyboard) to change control settings on the emulated organ''' by middle-clicking the mouse on the emulated keyboard's control knob and moving or activating the midi controller on the keyboard. Also, why pay for applications like Reaper or Cubase when you can accomplish the same task for free?!?<br /><br />I have used MS Windows OS with '''Native Instruments Hammond B4, and other Native Instruments applications''', so I have some experience when comparing open-source software against proprietary software (i.e. pros vs cons).<br /><br /> = Setting up the My Netbook =
Here is a step-by-step guide to installing and configuring my netbook computer to run Ubuntu Studio:
=== Hardware / Software Setup Information ===[[Image:netbook.jpg|thumb|right|550px|My Current Keyboard Setup Using <b>My Aspireone h715 Netbook Computer</b><br />(Ubuntu Netbook Remix with Ubuntu Studio Installed)]]
I'm "pulling-out all the stops". I have decided to test the power of the '''Acer Aspireone netbook for live performances'''.
It would have the advantage of small size and weight.
Here is my Hardware/Software Information:
'''Hardware (Acer Aspireone AspireOne netbook) and Peripherals:'''
:* '''Model 715h Wireless''' (ZA3)
:* '''11.6 inch screen'''
:* '''160 GB Hard Drive''' (80 GB dedicated to Linux Ubuntu Studio - Dual boot Linux,MS Windows XP)<br /><br />
:* '''MAudio 61 Keystation''' (USB interface)
:* '''Tascam US122 USB''' interface '''(Optional, and can be replaced with 1/8 " stereo jack to 1/4 " mono jack into the AUX input of Amplifier)'''
'''Software (Ubuntu 10.10 Netbook Remix) Ubuntu Studio applications include:'''
:* '''Swamy''' Sound Font Editor
FYI, the '''Maudio Fasttrack Pro''' is a greatd usb interface and "works out of the box" (after a couple of Jack server settings)... There is also a cheaper version for approx $87 CDN, but lacks MIDI connection (which may not be a problem since newer MIDI musical keyboards are USB anyways...)
Since I want to keep things simple, I have decided <u>'''not to use any USB peripherals'''</u> (other than the USB midi musical keyboard) for my band practices and live performances by connecting the netbook audio output directly to the amplifier. This allows me one less thing to carry around, and I can leave my Tascam US122 USB device at home in my basement studio. This "direct plugin method" can be achieved with an inexpensive '''1/8 " stereo (male) to RCA "Y-adapter (female)"''' and an '''RCA (male) to 1/4 " (male) mono Jack cable''' (again, this is relatively inexpensive)! '''Here are links for reference:'''* '''1/8 " stereo (male) to RCA "Y-adapter (female) - plugs into netbook headphone output:''' [ [http://www.ramelectronics.net/audio-video/adapters/rca-to-1-8-3-5mm-adapters/35-586g/prod35586G.html y-adaptor] ]* '''RCA (male) to 1/4 " (male) mono Jack cable - connects to Y-adapter and amplifier input:''' [ [http://www.zzounds.com/item--HOSCPR20 RCA to 1/4 inch Jack Cable] ] ... And by the way... as long as you keep net-book volume to acceptable output level, you shouldn't damage the amplifier. I posed this connection question to a veteran "sound-guy" that has setup audio equipment for '''Moe Koffman''' and '''The Good Brothers''' back in his "younger days". He states, '''''"this shouldn't be a problem what-so-ever, just keep volume down in net-book end and adjust volume via the amplifier"'''''... === Setup Setting up / Installing / Configuration Configuring Network, Ubuntu Studio, and Jack System ===
I obtained the Ubuntu Netbook version for Ubuntu: [ [http://www.ubuntu.com/netbook/get-ubuntu/download http://www.ubuntu.com/netbook/get-ubuntu/download] ]<br />I didn't worry about Ubuntu Studio or loading updates - I would recommend to follow "MY SEQUENCE" (listed below):
:* After reboot, then '''installed updates''' (ie. Ran "update manager" from Admin).
:* '''Rebooted''' the computer.
:* Ran '''Synaptic Package Manager''' (from Admin), and installed '''Ubuntu Studio Desktop''' (I pretty well selected ALL packages associated with Ubuntu Studio).
:* Followed '''instructions to make my Tascam US122 device work''' with my netbook: [ [https://help.ubuntu.com/community/TASCAM_US-122 https://help.ubuntu.com/community/TASCAM_US-122] ]<br /><br />
* I "Tweaked" the appearance of my Gnome Desktop like running the '''Avant Window Navigator (docking panel appearance like Mac OSX)''', and '''removed the "old-style" gnome-panels'''. Here is a resource that I created to help: [ [[Replacing Panels with Docking Station (awn)]] ][[Image:awn-pic.png|thumb|right|550px|<b>Avant Window Navigator</b> gives a Mac OSX '''docking station''' appearance<br />(A welcome change from traditional panels). ]]<br /><br />*'''NOTE:''' I had trouble when displaying my net-book on the data display in class. '''Every time I pressed a key, the screen would go blue and return display to my net-book.''' I thought it was attributed to Ubuntu, but all I needed to do was update (flash) my '''BIOS from v3010 to v3012'''. Refer to the section below labelled:<br />'''Steps to Enhance CPU performance (Acer AspireOne a751h)''' for a full set of procedures to solve this problem. It seems to have also solved the '''hibernation problem''', <u>and</u> also the problem of '''not displaying Python applets on my Avant Window Navigator docking tray...!''' <br /><br />* Now that you have Ubuntu Studio on your machine. Here , here are some guides that I have written to help you get started <br /> (even performing some basic recording sessions). This is assuming that you are using the ''Tascam US122 usb interface'', although that is NOT necessary if you have a ''USB keyboard''):
:* [ [[Quick & Simple - Setting up Jack Server and Q-synth]] ]
:* [ [[Quick & Simple - Recording With Audacity]] ]
:* [ [[Quick & Simple - Recording With Ardour]] ]<br /><br />
[[Image:* netbook2.png|thumb|right|400px|<b>Ubuntu Studio Desktop</b> with Applications (<b>Jack Audio Server</b>, <b>Bristol Hammond B3 Emulator</b>, and <b>Qsynth</b>) Automatically Launched and Connected or "patched" via a <b>Bash Shell script</b>]]The organ emulator called '''Bristol Organ''' can simply be run via the '''startBristol''' command ''(using after the correct optionsJack audio server has been started)''. To simply simplify the process of starting jack audio server, launching and making input/output connections for both '''Qsynth ''' and several '''Bristol Organ ''' emulations, it is easier to place commands into a '''Bash shell script''' and run shell script as a program! ''Please see next section for an example of how I did this...'' === "Putting it All Together" with a Bash Shell Script === One *perceived* problem that a typical "end-user" would face is having to '''manually connect''' (patch) various Devices (like a keyboard), with various keyboard emulators (like '''Qsynth''' and '''Bristol''' organ). But it is important to realise that these "graphical applications" are just convenient "front-ends" or user-friendly graphical representations of Linux commands. Since they are Linux commands, these command, to launch and make patches (connections), and simply be added to a file (called a ''shell script''), and run like program (either as an desktop icon), or a start-up program from boot-up. '''For reference, here is a link to my Bash Shell script:''' [ [http://matrix.senecac.on.ca/~murray.saul/netbook.bash.txt txt] ] For additional reference, '''here is a link that explains how above shell script works:''' [ coming soon ]
=== How to Perform Live with Ubuntu Studio YouTube Tutorials ===
About Jack audio server: [ [http://www.youtube.com/watch?v=fMz6fDGBnA4 http://www.youtube.com/watch?v=fMz6fDGBnA4] ]<br />CPU Scaling - Part I [ [http://www.youtube.com/watch?v= Bn6g_YCxq2o http://www.youtube.com/watch?v=Bn6g_YCxq2o] ] (Refer to section '''Steps to Enhance CPU performance''' below)<br />CPU Scaling - Part II [ [http://www.youtube.com/watch?v=wAq4ihIhivg&NR=1 http://www.youtube.com/watch?v=wAq4ihIhivg&NR=1] ](Refer to section '''Steps to Enhance CPU performance''' below)<br /><br />Jack audio server & Synth I: [ [http://www.youtube.com/watch?v=iVPr6iUuO3g http://www.youtube.com/watch?v=iVPr6iUuO3g] ]<br />Jack audio Server & Synth II: [ [http://www.youtube.com/watch?v=YHR9hQVrRIQ http://www.youtube.com/watch?v=YHR9hQVrRIQ] ]<br />Qsynth Synth & Sound Fonts: [ [http://www.youtube.com/watch?v=vdtWYsUSK8s http://www.youtube.com/watch?v=vdtWYsUSK8s] ]<br />LMMS Synth: [ [http://www.youtube.com/watch?v=boRmY9jH7fs http://www.youtube.com/watch?v=boRmY9jH7fs] ] === Using Ubuntu Studio for Live Performances === I will be making some assumptions here: first, I am using my '''M-AUDIO Keystation 61es Midi Controller keyboard''', and second, I am going to plug in directly from Net-book's headphone jack into the amplifier. ==== First, the Initial Setup ==== # '''Boot Net-book into Ubuntu Studio, and turn down the system volume''' to a lower level.# '''Plug M-Audio keyboard''' (via USB connector) into Net-book.# '''Plug Y-Adaptor into net-book's head-phone port''', '''and connect up RCA portion of cable to Y-Adaptor, and 1/4 inch end of cable to the input connector of amplifier''' (see to bottom of "Hardware/Software Information" for reference).# Refer to '''"Putting it All Together" with a Bash Shell Script "''' to learn how to automatically launch for performance session with the keyboard applications such as Qsynth and Bristol Organ. '''When you have created that Bash Shell script, launch your performance session, and wait until all of the applications are running, and that all of the connections have been made.''' ==== A Few Words of Warning About MIDI Channels & Bristol Organ ==== I have always wondered how Bristol Organ managed multiple keyboards. For example, the Bristol (Hammond) B3 organ has two sets of keyboards (upper and lower), and I was curious how to access the lower keyboard. The answer is easier that you think! '''When you issue the command to run the Bristol B3 organ with a midi channel, then the next higher midi channel will be reserved for the lower keyboard''' - totally awesome!... ... But '''if you didn't know that, and launched the Qsynth application using that extra midi channel, then don't be surprised if your Bristol B3 organ abruptly aborts... no wonder!''' Therefore, you have to do a little planning head, and reserve extra midi channels for any Bristol Organs that have multiple keyboards prior to assigning various midi channels...[[Image:midi1.png|thumb|right|220px|<b>Qsynth MIDI Channel Dialog Box</b>. Notice a maximum of 16 midi channels, but also the ability to store into separate presets for later use. '''Notice the both MIDI channels 3 and 4 reserved for by Bristol B3 organ''' (both keyboard registers), '''Midi channel 10 is usually reserved for percussion'''...]]==== Tweaking Qsynth to Play Different MIDI Channels / Sound-fonts ==== Before proceeding with this section, please familiarise yourself with how to use Qsynth and sound-fonts by reading another one of my WIKIs:<br />[ [[Quick & Simple - Setting up Jack Server and Q-synth]] ]. I will assume that you have a basic knowledge of using Qysynth, obtaining sound-fonts, and adding sound-fonts in Qsynth for the remainder of this section. I have see some misinformation regarding the use of sound-fonts with Qsynth. You can add in a lot of sound-fonts with Qsynth, and then assign them (either using a particular sound, or incorporating "sound banks") to midi channels. I am currently have assigned instruments to 10 midi channels (2 have been reserved for my B3 Organ. In addition, you can save these midi assigns as different "preset names" to be saved and loaded as needed during performance or practice. In order to assign MIDI channels in Qsynth, when you click the '''Channels''' button, you will see the '''Channels dialog box''' appear. Notice that this dialog box allows for a total of 16 midi channels (this is more than I require for a typical practice or performance). If you require more, you can save different midi instrument assignments to various profiles (perhaps to be loaded between your sets). Steps to Assignment Instruments:[[Image:midi2.png|thumb|right|300px|'''Assigning Instrument''' (program) to a '''Bank''' (i.e. "''SFID"'' or ''"Offset"'').]]# '''When adding sound-fonts into Qsynth, write-down the SFID number''' (i.e. Sound-font Identification number) - Do NOT close this dialog box quite yet!# Now, here's the trick: For each sound font, '''make certain that the "Offset" number corresponds to the same number as the SFID!'''# Now, '''click OK to save and exit''' the sound-font dialog box.# If you are running Jack, then you need to '''restart the Jack engine'''. This will require that you manually connect the instruments in the "Jack Connections" dialog box. If this is "a pain", you could always quit all applications, and re-run your Bash shell script to launch your music session...# Go to the '''Channels dialog box, and double-click on a midi channel'''.<br />I am selecting the next available '''channel - 13'''.# The '''Channel 13 Midi Channel Dialog box''' appears.# '''Select the Bank number''' (which corresponds to the Offset or SFID that you have written-down).# Then '''click on the program number to select an instrument''' (depending on the sound-font, there may be only one to select, or a wide variety if the sound-font is a bank of sounds).# '''!! NOTE: in order for the changes to take effect, you need to click the Save button; otherwise, all your changes will be lost!'''# You may need to restart the Jack engine and re-establish your connections. '''That's it! Start performing!!''' '''My M-AUDIO keyboard allows me to easily change between midi channels by pressing the Advanced Functions button, and then pressing a note on the keyboard that corresponds to the midi channel'''. Easy-Breezy, and efficient! :) Here is a link to documentation of my M-AUDIO midi keyboard for reference:
= Sound Font Editing in Linux =
'''Note:''' The ''Swamy sound-font editor'' allows me to build or modify sound fonts. s I must admit that I'm not an expert on sound-fonts.
In the future, I will discuss how to use a sound-font editor to create your own sound-fonts (instruments) to play with the keyboard.
Here is a link to the Project Swamy Webpage: [http://sourceforge.net/apps/mediawiki/swami/index.php?title=Main_Page http://sourceforge.net/apps/mediawiki/swami/index.php?title=Main_Page]
= Results / Discoveries =
My net-book system works well (to my surprise). I will be taking my hardware set-up to band practice next week to make certain it works for the entire practice. I will keep taking it to practices and monitor my netbook's performance until I am confident to use for live "gigs". So far, so good...
I have taken my system to band practice, and didn't have to use my Tascam US122 USB device - this is a re<u>sound</u>ing success! I will now be using my Linux system for live performances for now, and into the future! I'm a happy camper :)
=== Tips, Pros & Cons ===
=== What I Love About Open-Source Applications ===
I have even suggested an improvement to an application that was implemented immediately!
Here is a link to e-mail correspondence to '''Nick Copeland''', developer of the '''Bristol Organ emulator''' (open source equivalent of to ''Native Instruments B4'', ''Electrik Piano'', ''etc''...)
[ [[Correspondence with Nick Copeland]] ]
In my opinion: '''YES!'''
I can't cannot begin to estimate imagine the amount of money that I have saved from as a result of using Linux Ubuntu Studio. I have rolled back the money that I saved to help build my basement recording studio (and will never worry about software costs in the future!). ''No doubt, I should start donating to these developers to acknowledge their great products!''
<blockquote>''Either take the time to <u>learn </u> how to use open source applications, or simply become <u>dependent</u> and <u>accept what </u> the cost of letting others have to offerdo the thinking for you...''</blockquote>
Here is one of my previous blog posts that pretty much explains my positionon open-source software: [ [http://murraysaul.wordpress.com/2010/01/22/hacking-can-be-a-good-thing/ http://murraysaul.wordpress.com/2010/01/22/hacking-can-be-a-good-thing/] ]