The GLAME Manual


Next: , Up: (dir)

The GLAME Manual

This text documents GNU/Linux Audio Mechanics (GLAME) Version 2.0.1 (2 November 2001), a capable and easily extensible free sound editor. It describes the various frontends from a user's perspective.

More recent versions of this document as well as additional information about GLAME might be available via the project's homepage at http://glame.sourceforge.net.

This document is also available as a gzipped PostScript file: http://glame.sourceforge.net/manual.ps.gz

Copyright © 2000, 2001 Richard Günther, Daniel Kobras, Alexander Ehlert, Johannes Hirche. See Copying, for details.

==How to handle the various GLAME frontends==

==References==


Next: , Previous: Top, Up: Top

1 Copying

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the sections entitled “Copying” and “GNU General Public License” are included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation.


Next: , Previous: Copying, Up: Top

2 Quick Start Guide

Moi Mr. Newcomer, hi Mrs. Impatient!

Welcome to GLAME, the GNU/Linux Audio Mechanics. This is the Quick Start Guide for all those who loathe reading lengthy documentation. So I won't fuzz with details but try to get you going on basic tasks as fast as possible.

GLAME comes in two flavours, the graphical interface glame and the console frontend called cglame. You'll have to be able to grok Scheme in order to deal with cglame. It's extremely cool and powerful but it's probably not what you are looking for when reading a quick start guide. So let's talk about the graphical interface in the following, and send those Schemers off to poke through the proper documentation.


Next: , Up: Quick Start Guide

2.1 A Quick Start to Editing Files

So you recorded this charming little chanson called Angelina, but she ditched you the other day and now dates Ron instead? No need to keep waiting until another Angelina passes your way. GLAME will help you changing your Angelina tune into a hymn on Heather in an instant. (Admit it, you've been after Heather for ages!)

Fire up glame, ignore the crappy splash screen, and what you'll see is the so-called Swapfile GUI. Don't waste your time pondering about the name, it's simply a view of all audio tracks that GLAME knows about. Tracks are kept in a hierarchy of projects and further groups of tracks. To make your sweet angelina.wav known to GLAME, first select New Project from the Project menu. A new entry appears; name it No More Angelina. Then click the right mouse button on the new entry, and a pop-up menu does what its name suggests: it pops up right in front of you. Choose the entry called Import, and select your angelina.wav. It's a stereo file, of course. Therefore the Swapfile GUI now shows two entries within your Angelina project, one for each track. Now you're all set to wipe poor Angelina if not from your life, then at least from your art.

Once again, click on the No More Angelina entry in the Swapfile GUI, press the right mouse button, and select Edit from the pop-up menu. What appears now is the so-called Waveedit GUI, a window containing a graphical view of the audio tracks in your project. (Of course you are tempted now to wipe Angelina from one track only. Well, you could do that by selecting Edit on a single track rather than the whole project. You could even edit one track in multiple windows at the same time. But this is not the road we want to go down now. This Angelina-bitch ditched you, remember? Let's wipe her from your song completely.)

The Waveedit GUI is mostly driven from a pop-up menu attached to the right mouse button. Have a guess what Play All might do? Well, try it out. If you can't hear a single note, check your mixer settings with an external mixer program, and if all seems to be right, go back to the Settings menu in the Swapfile GUI and check your Audio I/O preferences. Working now? Good. Want to know how zoom in and out work? Ah, no, you figured that out yourself. Now you have to identify the places in the song where your voice trembles Angelina. To make it easier for you, during playback a vertical line will mark the region currently playing. Of course you don't have to keep playing the song as a whole over and over. There is Play Selection after all. What's a selection? That's a highlighted region in the editing window. Press the left mouse button, drag the mouse, release the mouse button again, and you'll get the trick. A lot of things can be done with selections from the pop-up menu. They can for example be played, zoomed into, cut, copied, and deleted. The latter is just what we need now. Select each of the passages enchanting Angelina, delete them, and there she goes.

So what about Heather? We'll be with her in an instant, but we have to learn a bit about recording first.


Next: , Previous: Getawaywithher, Up: Quick Start Guide

2.2 A Quick Start to Audio Recording

Back we are at the Swapfile GUI. Let's add a new project, and name it Oh Heather. That's where you're going to record into. Well, not quite. You can't record into a project, of course, you can only record into tracks. So you need to pull a track out of thin air, two of them actually, as you're going to record stereo. The right mouse button again acts as your magic wand. It will present you a menu item Add stereo wave, and that's exactly what you need now. Add the two empty tracks, select your Heather project, and open the Waveedit GUI on it, using the Edit entry in the pop-up menu.

The editing window doesn't look too interesting at the moment but that's what you'd expect from an empty file. It'll change soon, so go launch your favourite mixer application, and prepare your system as well as yourself for recording. Once both of you feel in shape, come back to the editing window. Record at marker is the preferred item in the pop-up menu now. A panel will appear containing the four buttons Record, Pause, Stop, and Cancel. Hitting the first one will start the recording. Finding out about the meaning of the others is left as an exercise to the reader. Don't think too hard about it, though, as now is the time to give a c-sharp Heather in your best tremolo ever. You should've figured out to hit the Stop button by the time you're done.

The rest is easy. In the Heather editing window, mark a selection only containing you singing the name but none of the noise before and after. Pop-up the menu with the right mouse button and hit Copy. Then move over to the Angelina editing window, which should still be open. A click with the left mouse button will mark a position in the song, and selecting Paste from the pop-up menu will insert your Heather at this position. Where to insert the section is entirely up to your artistic talent.

Not fancy enough to woo Heather, you feel? Read on.


Next: , Previous: Getmeinthere, Up: Quick Start Guide

2.3 A Quick Start to Filter Networks

To brush up a selection from the Waveedit GUI, you can apply a single filter on it. Apply Filter from the pop-up menu gets you going. But you can do even better. Select Apply Custom and watch the Filternetwork Editor come up. Here, you can not only apply a single filter, but a whole collection of filters that interact with each other.

Think of the filter network as a factory of waves. It starts out on one or more sources of sound waves, mangles the sound, and finally sends it off to one or several consumers. There is already a source in the network, called swapfile_in, and a consumer called swapfile_out. Don't mess with them, as they were already set up by the Waveedit GUI to work on the selection you marked. It is your task now to build the individual steps in the factory itself. That is, what should be done to your sound, and in which order. To this end, you can insert filters into the network. They are your machines. Just hit the right mouse button, and select one of the entries. A small icon will appear depicting your new filter. Each filter has its inputs to the left, and its outputs to the right. To connect two filters, you draw a line from the output of the first to the input of the second, dragging the mouse with the left button pressed down. Some filters do not possess both inputs and outputs. You'll note this when one side of their icons is greyed out. Inputs and output in general are not limited to a single connection. A filter will accept as many connections as it can take, and reject any further.

For most filters, you want to tune their parameters, or their output will probably not come close to what you intended. Press the right mouse button on top of the filter image, and select the Properties entry. A new window will show up, where you can tune the parameters to your liking. Once all parameters are set, and all filters are connected, hit execute on the icon bar on top. When processing is finished, go to the Waveedit GUI, and watch your modified Heather tracks.

What's left to do? Back to the Swapfile GUI. It's about time to finally rename the No More Angelina project to Hymn to Heather. How? Go figure. You really should have gotten a good feeling of how GLAME works by now. Next, get the pop-up menu up on Hymn to Heather. Select Export..., and save your song as, say, heather.wav. As you may have guessed, by default the suffix determines the type of file Hymn to Heather is stored as. For some additional control, you can explicitly specify the desired file type and sample format via several rather obvious buttons and menus. Want details on that one? Hey, enough is enough! Go read the proper docs if you're that interested. Or try on of the Help entries that will present you a context sensitive entry from the manual.

Well done, you may call yourself a GLAMEr now. A Lamer even, if you don't get up immediately and present your new song to Heather. Off you go. Good luck!


Previous: Gottagetbetter, Up: Quick Start Guide

2.4 A Quick Start to Realtime Effects

Back with us again? Oh rats, Heather finally broke your heart and left you? Cheer up, there's Bozo "The Dragster"'s ultimate party next weekend, and Bozo thinks you'll fit perfect with some of his best friends. Wonder how to break the ice? Don't worry. A microphone and a box running GLAME, that's all you'll need to hook them up.

Let's get the setup straight first. In the preferences dialog... Pardon me? How to get to the preferences? Gee, guess you need a couple of Angelinas and Heathers still, until you're ready for Bozo. Found it now? Fine. In the preferences dialog, there's a little fine-tuning to do on Audio I/O for a spiffy full-duplex setup, meaning that we're going to play and record at the same time. Select OSS and configure /dev/dsp for input, and /dev/dsp1 for output. This'll work if your sound card is fancy enough to offer more than one DSP device. Otherwise, lend your neighbour's for the day. Your smartass neighbour is likely to mention something about ALSA being so much better. "The day ALSA can be considered stable is unlikely to be in the same century that Bozo holds parties," is a good answer. Learn it by heart. The curious of course can try whether there's a GLAME plugin compatible to the ALSA version du jour. If you're lucky, plughw:0,0 and plughw:1,0 might be the correct settings for input and output. Probably they aren't.

Now for some real fun. From the Swapfile GUI, you can launch the Filternetwork Editor. New Filternetwork is the menu entry we're talking about. You are already familiar with the window that pops up–remember the wave factory? This time, however, the factory is completely empty. Two filters, audio_in and audio_out, will make it work just-in-time, though. For kicks, add a flanger filter as well, and connect it to both audio_in and audio_out.

pix/mickey1.png

This setup is working but seriously lacking coolness. Let's fiddle with some parameters. Right-click on the flanger icon and select Properties. Set the effect depth to 50ms, the detune range to 25ms, lfo speed to 8Hz, dry/wet balance to 0.0 and the LFO Type to Ramp Up.

pix/mickey2.png

Once you click on Execute in the editor window, start talking into the microphone. Voila, you're talking like Mickey Mouse! Now stop the network by clicking on the Execute button again that has in the meantime morphed into Stop. Change the LFO Type to Ramp Down and execute the network again. Coolness factor rising, eh!? Time to fire up your favourite mailer and send a message to mag@glame.de, telling him what cool a frood he is. Some of the parameters you can even alter while the network is running. Just go on from here and play around. Once you've found the Bozo killer setting, the Save button is a good one to try next.

Now for a more sophisticated network: A sampler that will record your voice and repeat it in an endless loop. Bozo's dudes are gonna love it, honest. First, wire up the basic network from audio_in, mix, one2n, and audio_out. So far it's just a slightly complicated way of sending all input to the output unmodified. The network gets a lot more interesting when we add a feedback loop. Add a buffer filter, a delay filter, and connect them sort of backwards. That is, draw a second connection from one2n's output to the input of buffer. Connect buffer to delay, and finally hook up delay's output to the input of mix.

pix/loop1.png

Still a little tuning to do. There's a little blob on the connecting line between delay and mix. Right-click on it, and select Destination Properties in the menu that pops up. Set the gain to 1.9. Next, open the properties dialog for the buffer filter and set the time parameter to 1 second. In the delay filter's properties, set the delay time to 500ms. Turn down your amp really low, execute the network and talk something intelligent like "Boh" into your microphone. If a screeching sound hurts your ears, the gain parameter probably is to high. Click on the little blob again and tune it until you're satisfied. If you set it to smaller values, your voice will slowly fade out, if it's to high it will just get louder and louder until your speakers freak out. Obviously, an endlessly repeating "Boh" isn't all that stunning. "Zoh" sounds like a good second line. Talk into the microphone, and wow, here's our vocal percussionist. The party is your's, and hey, it's time to go now. Send our best to Bozo and the drags. Have fun!


Next: , Previous: Quick Start Guide, Up: Top

3 Graphical Frontend (glame)

Nonsurprisingly, GLAME's graphical frontend is called glame. Usually, it will be invoked without any arguments. An optional file name may be given though, indicating an alternative location of GLAME's internal swapfile. See The Main Window, for details.

A note to the DIY folks: When running glame straight from its source tree without prior installation, glame/src/ has to be your current working directory. Otherwise, glame won't be able to find its plugins.

The graphical frontend consists of three parts. The main window, also called the Swapfile GUI, is the only one active right at the beginning. The wave editor and the filternetwork editor can be activated from there. Controlling glame is supposed to be rather intuitive. Should you ever feel lost, just try pressing the right mouse button, and a context sensitive menu will pop up and hopefully present you with the option you were looking for. If you are looking for a list of keybindings for the current window try pressing the F1 key. The context sensitivity buzzword also applies to GLAME's online help. Just push the button and hope for your preferred gnome help browser being able to display texinfo docs. (The standard gnome-help is.)


Next: , Up: Graphical Frontend

3.1 The Main Window

On startup, glame will present you with an application window in well-known GNOME design that contains a tree view of the so-called swapfile currently in use. Representations of all the sound tracks you want to edit will be stored here, so it's certainly a wise idea to put the swapfile on a partition with plenty of free space. By default, the swapfile resides in ~/.glameswap, but you can configure its location in the preferences window available from the Settings menu. Note that you need to restart glame for the change to become active.

Within the swapfile, individual audio tracks are combined to projects. You can create new projects using the entry New Project in the Project menu. This will insert a new item into the tree view of the swapfile and pop up a field where you can edit the project's name. Double-clicking on an item allows you to change the name later as well.

Now you're all set to start importing files into your new project, or to subdivide it further into groups. A context sensitive menu offering operations on groups or items respectively pops up when you press the right mouse button. The first item in the menu always hints at the name of the group or track you are applying the operation to. Those are your options:

3.1.1 Operations on groups

Edit
pops up a new window of the wave editor see The Wave Editor containing all items of the group, where you can easily modify them. This operation is not allowed for groups that in turn contain further sub-groups. Opening a wave editor can be done by using the w key, too.
Group properties...
pops up a window where you can change the properties of the group such as its name.
Delete
deletes the current group and all its items.
Add group
adds a new group to the current group.
Add clipboard
adds the contents of the clipboard as a new group to the current group. The clipboard's contents are populated via the edit operations in the wave editor.
Add mono track
adds a new mono wave to the current group. This is useful when you want to start recording a new track, or paste some random stuff into a separate location.
Add stereo track
Same as above, but adds two track for stereo recording instead of a single one.
Link selected
links the selected item into the current group. Linking means that a change on the link will also modify the original and vice versa.
Copy selected
copies the selected item into the current group. Unlike linking, copying creates a distinct group, meaning that a change to the copy will not alter the original and vice versa.
Merge with parent
moves all the current group's children up one level and deletes the current group.
Flatten
merges all children of the current group into the minimum number of vertically aligned tracks all starting at horizontal position zero and of the same length. From a more practical edge, use this option to render a multi-track recording in, say, two stereo tracks.
Apply operation
applies the selected operation to the whole current item or group. Useful operations include things like normalize.
Import...
imports a file as a sub-group into the current group. Import is done through a powerful import dialog which is described in the dialogs section.
Export...
exports all children of the group as an ordinary sound file. Export is done through a powerful export dialog which is described in the dialogs section.

3.1.2 Operations on items

Edit
pops up a new window of the wave editor see The Wave Editor, where you can modify the selected item. Opening a wave editor can be done by using the w key, too.
Track properties...
pops up a window where you can change the properties of the track such as its name, its samplerate and position in the stereo field.
Delete
deletes the current item.
Group
puts the current item into a new group.
Apply operation
exports all children of the group as an ordinary sound file. Export is done through a powerful export dialog which is described in the dialogs section.
Export...
exports the current item as an ordinary sound file. Export is done through a powerful export dialog which is described in the dialogs section.

3.1.3 Menu items

The following items are present in the Project menu:

New Project
Creates a new project (a toplevel group).
Edit File...
Very quick shortcut to edit one file. File selection is done through the import dialog. A waveedit window is popped up with the selected file. Note that the file is not permanently stored in GLAME's swapfile, but instead is removed from it once you close the waveedit window. So you really want to re-export the file once you are finished editing.
Record Wave...
Quick shortcut to record to an empty stereo track. A waveedit window is popped up with an empty stereo track where you can start recording into. Note that you need to export the results to a file before closing the window, as this mini-project is not included in the project list of the main window.
Import...
Imports a file into the GLAME swapfile without creating a project first. This is useful for quick editing tasks which don't involve multiple files.
Empty [deleted]
Deletes all entries in the [deleted] folder. This operation cannot be undone. Deleted elements are usually just moved to the [deleted] folder so you can undo deletes by just moving items back. Emptying the [deleted] folder can also be done by deleting the [deleted] folder itself.
Show console
By selecting Show console, you get access to the powerful backend of glame that can be controlled via a scheme scripting language. Or just watch the error logs that pop up here as well.
Sync
Syncs the metadata of the swapfile to disk. That's mostly a debugging aid that you usually should not need to invoke.
Quit
Exits GLAME. The current state of the swapfile is saved and the project tree will persist in its current state.

These are the items of the Filternetwork menu:

New Filternetwork
Opens a new empty window of the filternetwork editor.
Open...
Opens a saved filternetwork in a new window of the filternetwork editor.
Load Plugin
You can manually load plugins into glame by using the Load Plugin menu item from the filternetwork menu. This is useful for instance to use external LADSPA plugins or custom filternetworks you didn't put into the default GLAME search directory.

From the Settings menu you can invoke the preferences window, from the Help menu you can invoke a gnome help browser with this documentation, or jump directly to the quick start guide.


Next: , Previous: The Main Window, Up: Graphical Frontend

3.2 The Wave Editor

The wave editor pops up when the Edit function is applied to either a group or a single item of the swapfile tree. Editing is done on all items of a particular group at once. Functions to edit and explore the current items can be reached via the right mouse button or the toolbar. The wave editor is also reached through the Edit File menu entry or the w accelerator.

You can find keybindings listed by pressing the F1 key in any wave edit window.

Simple editing can be done using the ordinary Cut, Copy, Paste, Delete, Undo and Redo operations inside the Edit submenu, that work on the current selection in the active wave widget. You can cut and paste between different wave widgets, if the numbers of channels match. When you operate on multiple views of the same wave item at once, they will be kept in sync automatically. Keybindings for Cut, Copy, Paste, Delete, Undo and Redo are Ctrl-x, Ctrl-c, Ctrl-v, Ctrl-k, Ctrl-z and Ctrl-r.

You can export the current selection by choosing the Export selection menu entry from the Edit submenu or by pressing the Ctrl-s keyboard shortcut.

To control the view use the View submenu which contains the items Zoom to selection, Zoom in, Zoom out, View all and Goto marker. The zoom in, zoom out and view all functionalities can also be reached from the appropriate toolbar entries.

To specify the current selection simply use the mouse and drag it with the left mouse-button pressed. Alternatively you can use the Select none or Select all menu items from the Select submenu or the corresponding buttons in the toolbar to remove the actual selection or select the whole wave. Pressing shift and the left mouse-button selects everything starting from the marker position (which you can set using the left mouse-button) to the current position. The selection and the marker position can be changed with dragging the marker or the selections left or right edge (the cursor will change if you move over them).

As usual, the Close and Help menu entries close the window, or bring up the gnome help browser with this documentation, respectively. Those items can also be reached from the toolbar.

Using the Play all and Play selection commands the whole wave or the selected part will be sent to the default audio output device. Using the Record at marker and Record into selection commands you can sample from the default audio input device either starting at the marker position and until you press the STOP button, or just inside the selection. Using the play button from the toolbar will start playing either the current selection or from the marker position if no selection is active and will advance it until you either press the stop button (which will appear at the place of the play button after start) or the wave has ended. Playing can be reached through the Space keyboard shortcut which starts playing from the current marker position. Using Ctrl-Space you can play the current selection or the whole file, if nothing is selected. Pressing Shift-Space will loop the current selection or the whole wave.

The Apply operation submenu allows you to apply operations like normalize or fade to the current selection. Some operations pop up windows for additional arguments.

The Apply filter submenu allows you to apply a pre-existing filter to the active selection. Inside the apply window the list of available parameters for the filter will appear which you may edit. With the preview button you can figure out what the result after applying the filter will sound like. You can abort the preview by pressing the preview button again. Press the apply button if you are satisfied with the setup. Press the cancel button if you don't want to modify the wave.

Alternatively, you can pop up the filternetwork editor see The Filternetwork Editor, where you can construct a custom filter or use Apply custom... which creates a filternetwork framework containing necessary inputs and outputs specified by the current selection.

A shortcut to the export functionality is embedded in the toolbar as a Save item. This is especially useful for waveedits opened through the Edit File menu entry as this one does not show the wave in the swapfile tree.


Next: , Previous: The Wave Editor, Up: Graphical Frontend

3.3 The Filternetwork Editor

The filternetwork editor is opened when you choose one of the custom functions in the wave editor, or the item New Filternetwork in the Filternetwork menu of the main window. The filternetwork editor comprises of a tool bar at the top of the window to execute, save and apply other functions, and a main canvas for connecting and adding new nodes to the network. A preexisting network can be edited by opening it from the Open... item in the Filternetwork menu of the main window.

All functionality in the editing window is controlled via context sensitive menus bound to the right mouse button or configurable shortcuts.

Pressing the right mouse-button over the canvas background will pop up a menu containing the list of available plugins. Plugins are bundled into categories to speed up finding the desired item. Selecting one will add a node cloned from the corresponding plugin to the network. A special item, Paste selected at the bottom of the menu will paste the last copied node collection at the current location. When a new node is added, its icon appears on the editing canvas. It shows its input ports (if available) on the left, and output ports on the right. If no ports of a type are available, the corresponding side bar appears gray.

To connect two plugins, click on the output port using the left mouse button, and drag the appearing pipe to the desired input port. If a connection is possible, a pipe connection will be drawn. To manipulate per-pipe parameters of the connected nodes, a context menu is attached to the small black ball placed in the middle of the pipe.

Clicking with the left mouse button on a item will highlight it with a light blue frame, thus marking it as selected. Alternatively, nodes can be selected by clicking with the left mouse button into empty space in the editor, holding it down and dragging the appearing box over the desired nodes in well known file-manager fashion. You can alter selections by holding down the shift or control modifier keys. Pressing one of the modifier keys while selecting will add the selected icon to the current selection.

Selections may be manipulated in a number of fashions. A selection can be collapsed by either choosing the corresponding context menu in the node menu or the c shortcut. Once a selection is collapsed, a new node appears in place of it. Connections to nodes in the selection to outside nodes are saved and ports appear on the collapsed node. Collapsed selections are real new subnets and may be saved and opened down, and just as any node representing a network expanded in-place using the corresponding menu entry or the e shortcut.

Finally, if you hover over an icon or port or the circle contained in a pipe for a little while, the current parameter settings are shown, and the node is raised to the top. The hovering delay can be adjusted in the preferences window. The same applies for the connection between two nodes.

Pressing the right mouse button over a network node will pop up a menu with the following items:

Properties
Opens a property dialog which lets you modify the network node's parameters. If you have selected multiple nodes of the same type and open a property dialog of one, this property dialog will modify all nodes parameters at once, that is they appear linked.
Redirect parameter
Opens a dialog where you can create network-wide parameters (which are visible if you use the network as plugin from inside other networks) which map to parameters of nodes inside the network. You can delete network-wide parameters via the toolbar Properties dialog.
Delete
Deletes the current node from the network and kills all connections to/from it.
Copy selected
Copies the set of selected nodes to the clipboard. It can be replicated using the Paste selection menu entry from the node addition menu.
Colla