An Open Source Digital Audio Workstation Setup
JACK TransportMany Linux audio applications branch from a fundamental UNIX philosophy, and that is to "Write Programs that do one thing and do it well". For this reason certain applications might focus on a singular aspect of developing an audio project such as MIDI editing or audio mixing.
This approach has several benefits such as smaller streamlined tools that can utilize less resources and subsequently result in a system that is more responsive to user interaction.
Furthermore, system resources can be allocated to user-made contents rather than to application features that may not be applicable for a certain project. The user also has the choice to only run those applications that are applicable to the current development phase of the project.
One of the obvious questions that arise from a system of this type is how is audio and data synced across all these different applications?
Most current Linux audio applications have the ability to communicate with JACK by accepting data from JACK and transferring data to it. Amongst the various uses of these data streams is the ability to unify all audio application's transport controls to use JACK Transport Controls.
What that means is that by setting up your audio applications to use JACK Transport you are creating a unified transport interface for an audio project across several different applications.
iFor example, clicking the Play button in an audio application set to use JACK Transport Controls will move the Playhead in every audio application using JACK Transport to the current applications Playhead location and play the audio project across all the linked applications in sync.
The procedure for setting an application to use JACK Transport Controls varies from one application to the next, however each application certainly emphasizes simplicity in setting up JACK Transport, as you will see.
Modifying JACK's Default Transport SetupIf you are running Ardour and Rosegarden, JACK will often try to connect Ardour's Transport Controls to Rosegarden, which may be useful if you wish to use an external devices Hardware Transport Controls. If you simply want to use software to control the playback of your audio project, the following method describes a setup for using JACK, Ardour, Rosegarden (with or without external hardware and/or software midi) and Hydrogen together.
With the preceding list of applications running, open JACK's Connections Window.
- Click the ALSA tab, select Ardour's "control" Readable Client / Output Port and the Writable Client / Input Port that it is connected to such as Rosegarden's "record in".
- Click the Disconnect button to disable this setup.
Set Audio Apps To Use JACK Transport
- Set Ardour to use JACK Transport by clicking on the Positional Sync Source list at the top of the main interface and set it to JACK.
- Set Rosegarden to use JACK Transport by opening the Configure Rosegarden window, which is accessible through Edit > Preferences. In the General Section, under the Behavior Tab click "Use JACK transport" to activate this feature.
- Set Hydrogen to use JACK Transport by clicking the "J.TRANS" (Jack Transport on-off) button in the main toolbar at the top of the window. The button turns Blue when it is ON.
Snapping in ArdourOften you may want edits you make to an audio segment, such as cutting a segment or moving a segment, to snap to specific intervals. This can easily be controlled in Ardour,
- Click the Snap/Grid Mode list in Ardour's main toolbar and choose Grid.
- Then specify intervals to snap to with the Snap/Grid Units list.
Gain Automation in ArdourYou can control a track segment's Gain properties with the Draw Gain Automation tool, which can be found in Ardour's main toolbar.
Simply clicking on a track segment will add a node which can be moved around, restrictively, by means of the snapping options previously setup.
To delete a node Shift-Right-Click the Node. You can also Shift-Right-Click a marker to delete it (regardless of your tool selection).
Program Changes in RosegardenSometimes you might need the convenience of changing a drum kit or other midi device from one sound to another. If the effect is subtle it probably won't warrant setting up another track and linking it to another of the midi device's channels for a brief interlude. In this case you might require a simple Program Change. The convenience of a Program change (or other Midi Event) is that it is intrinsically linked to a track segment, and not the track itself.
- In Rosegarden select the track segment where you would like the Program change to occur. It's best to only have a single track segment selected before proceeding.
- With the track segment selected click the Open Event List Editor button in the main toolbar. If you have multiple track segments selected Rosegarden will open a separate Event List Editor window for each selected segment.
- In the Event List Editor select the location you would like the Program change to occur, then click the Insert Event button (which has a star shaped icon).
- The resulting dialog box allows you to send various midi events to the midi device that effects your current track segment selection. These events can be controller events, pitchbend, system exclusive and many other event types. In the Event Type list you will find the option to insert a programchange. Use this option in conjunction with the Program Change number to specify another midi device sound.