# Hydrogen Manual

### Antonio Piraino

### Alessandro Cominu

Hydrogen e' un sintetizzatore software in grado di essere utilizzato sia singolarmente, emulando una drum machine basata su pattern, sia come synth comandato via midi da una tastiera esterna o da un sequencer software.

# Capitolo 1. Introduzione

## 1.1. Download

L'ultima versione stabile di Hydrogen e' disponibile all'indirizzo http://hydrogen.sourceforge.net oppure http://hydrogen-music.org

E' possibile scaricare i sorgenti direttamente da CVS con:

    bash$ cvs -z3 -d:pserver:anonymous@cvs.hydrogen.sourceforge.net:/cvsroot/hydrogen co hydrogen

La compilazione di hydrogen dipende dalle seguenti librerie:

- libsndfile reperibili presso http://www.mega-nerd.com/libsndfile/

- qt (>= 3.2) reperibili presso http://www.trolltech.com

- ALSA (>= 1.x) reperibili presso http://www.alsa-project.com (se si vuole usare i driver ALSA pert l'output audio)

- Jack Audio Connection Kit (>= 0.80) reperibili presso http://jackit.sourceforge.net (se si vuole usare i driver JACK pert l'output audio)

## 1.2. Compilazione

Dopo aver scaricato e decompresso gli archivi tar.gz e' semplicemente necessario eseguire:

    bash$ cd hydrogen-*
    bash$ ./configure
    bash$ make
    bash$ su -c "make install"

Prima di procedere alla compilazione, controllare eventuali opzioni aggiuntive con:

    bash$ ./configure --help

## 1.3. Configurazione audio driver

E' molto importante scegliere il driver audio giusto per il nostro sistema, in base al driver scelto le prestazioni e le possibilita' di Hydrogen possono cambiare drasticamente. Sono disponibili 2 driver audio: Oss Audio Driver e Jack Audio Driver.

### 1.3.1. OSS audio driver

Il driver Oss utilizza il device /dev/dsp ed e' basato sull'interfaccia OSS che e' supportata dalla maggior parte delle schede audio disponibili per linux. Purtroppo l'uso di questo driver blocca il device /dev/dsp fino alla chiusura del programma stesso, rendendo impossibile l'utilizzo del device ad altri programmi audio.

### 1.3.2. Jack audio driver

Il driver Jack necessita del server audio Jack (Jack Audio Connection Kit), un server audio professionale col quale e' possibile raggiungere bassissime latenze e l'interoperabilta' con altri software audio. Raccomandiamo fortemente di usare questo driver per ottenere il meglio da Hydrogen.

### 1.3.3. ALSA audio driver

NUOVO! Aggiunto ad Hydrogen l'ouput sui driver ALSA, il nuovo standard audio per Linux.

# Capitolo 2. Interfaccia grafica

## 2.1. La toolbar principale

Prima di analizzare i due frame di Hydrogen, soffermiamoci brevemente sulla barra degli strumenti principale:

- Controlli principali per far partire [Hotkey = barra spaziatrice], fermare, scorrere avanti e indietro oppure eseguire continuamente un pattern o una canzione.

- Impostatzione modalita' Pattern/Song.

- Imposta la velocita' di esecuzione (range: 30-400 bpm) [Hotkey = rotella del mouse] e bottone per attivare/disattivare il metronomo

- Mostra il carico sulla CPU.

- Mostra l'input MIDI.

- Cliccare per selezionare la funzione di Jack Transport: Hydrogen funzionera' come 'slave' con un altro programma 'master' (es. Ardour). Questa applet appare solo se il driver audio Jack e' selezionato.

Altre utili scorciatoie da tastiera (non modificabili al momento):

- [CTRL + O] = Apre file.

- [CTRL + S] = Salva file.

- [Backspace] = Ricomincia la canzone o il pattern da capo.

## 2.2. Song Editor

Il frame "Song Editor" (Fig. 1) mostra la canzone che stiamo creando; ciascuna casella blu rappresenta una battuta completa come visualizzata nella finestra del Pattern Editor, mentre le righe indicano le varie parti della canzone (esempio: intro, strofa, bridge, ritornello, ecc..). Abbiamo piena liberta' di aggiungere, rimuovere o spostare le singole battute in qualunque ordine si preferisca. Poassiamo anche copiare e incollare gruppi di battute attivando l'apposita modalita' e selezionando l'area con i pattern interessati tenendo premuto il tasto sinistro del mouse. Tenendo premuto il tasto Control i pattern verranno copiati anziche' essere spostati.

The Song Editor comes with 5 buttons:

- Create a new pattern (and asks for a name).

- Move currently selected pattern up or down.

- Completely delete all patterns (asks for confirmation!).

- Enable selecting patterns for copy & paste.

- Enable add/remove patterns.

Sotto i bottoni c'e' la lista dei pattern creati posizionati nel punto della canzone in cui verranno eseguiti (una casella == una battuta). Cliccare su una casella per aggiungere il pattern o eliminarlo. Cliccare col tasto destro del mouse sul nome del pattern fara' apparire un menu a tendina da cui si puo' modificarne il nome oppure eliminare. Non sono ammessi pattern con nomi identici.

Fig. 1 The Song Editor

## 2.3. Pattern Editor

La finestra "Pattern Editor" (Fig. 2) ci permette di creare o modificare il pattern in esecuzione, aggiungere o togliere note e regolarne l'intensita'. In altro a sinistra troviamo una coppia di display LCD; il primo permette di selezionare il pattern da visualizzare nel Song Editor (scegliendo fra quelli gia' creati) mentre il secondo permette di modificare la risoluzione agevolando l'immissione di nuove note: e' possibile settare la griglia per 4, 8, 16, 32 o 64 colpi per battuta e i rispettivi ritmi terzinati indicati con 4T, 8T, 16T e 32T. Si puo' anche selezionare il numero di battute effettivamente suonate tramite l'apposito menu (da 1 a 8). Selezionando uno strumento che abbia almeno una nota sullo schermo fara' apparire in basso delle barre verticali da cui regolare quanto 'piano' o 'forte' battere quel colpo. Il pulsante (hear new notes) serve per ascoltare i suoni man mano che vengono immessi. Infine si possono spostare gli strumenti nella sequenza tramite gli appositi pulsanti . E' disponbibile un'utile funzione di "Quantize" contrassegnata dal pulsante che permette alle note inserite di posizionarsi automaticamente secondo la griglia impostata.

Ciascuno strumento ha il proprio menu di funzioni accessibile cliccando col tasto destro del mouse; "Mute", "Solo" si spiegano da soli mentre "Lock" blocca lo strumento appartenente a un drumkit sul pattern anche se si cambia drumkit: in questa maniera si possono facilmente creare nuovi drumkit! "Fill/Clear notes" riempie o elimina ogni nota presente nel pattern di quello strumento (ricordiamoci sempre che il riempimento del pattern sara' relativo alla risoluzione della griglia impostata) ed infine "Randomize velocity" applichera' automaticamente un "tocco" pseudo-casuale a ciascuna nota di quello strumento presente nel pattern. Maggiore il valore di velocity, maggiore sara' l'intensita' con cui Hydrogen suonera' quella nota.

Fig. 2 Il Pattern Editor

Si possono anche aggiungere nuovi colpi cliccando su che attiva l'inserimento diretto tramite MIDI o tastiera secondo il seguente schema tasto=strumento:

Notare che il nome dello strumento dipende dal drumkit caricato. Questa lista riferisce al GMkit caricato di default. La posizione dello strumento, tuttavia, e' sempre la stessa.

- Z = Kick

- X = Snare Jazz

- C = Snare Rock

- V = Tom Low

- B = Tom Mid

- N = Tom Hi

- M = Cowbell

- Q = Ride Jazz

- W = Ride Rock

- E = Strumento No. 17 (non assegnato)

- R = Strumento No. 18 (non assegnato)

- T = Strumento No. 20 (non assegnato)

- Y = Strumento No. 22 (non assegnato)

- U = Strumento No. 24 (non assegnato)

- S = Stick

- D = Hand Clap

- G = Closed HH

- H = Pedal HH

- J = Open HH

- 2 = Crash

- 3 = Crash Jazz

- 5 = Strumento No. 19 (non assegnato)

- 6 = Strumento No. 21 (non assegnato)

- 7 = Strumento No. 23 (non assegnato)

Ecco un veloce riepilogo dei tasti menzionati.

## 2.4. Mixer

Fig. 3 Il mixer

La finestra del mixer (Fig. 3) torna utile per settare un volume singolo o globale del drumkit corrente. Mostra il picco corrente dello strumento (cliccare su per disabilitarlo, risparmia qualcosa sulle vecchie CPU), permette di impostare il picco massimo (con l'apposita manetta a scorrimento verticale di ciascun strumento) e attributi come il "pan" (posizionamento stereo) , suonare singolarmente uno strumento , ammutolire un singolo strumento o suonare per test quello strumento ; selezionare nel Pattern Editor uno strumento causera l'accensione di un piccolo LED blu nella sezione assegnata al mixer per quello strumento. Accanto alla regolazione del volume principale, infine, troviamo tre differenti effetti: swing (spoasta lievemente e in maniera non casuale le note), timing (anticipa o ritarda) and humanize effect (modifica la velocity, l'intensita' di come vengono suonati gli strumenti). Facendo doppio click sul nome dello strumento appare una finestra con due schede per modificarne le proprieta'.

La prima scheda ('Instrument') permette di modificare effetti come Attack, Decay, Sustain, Release, Cutoff and Resonance (entrambi escludibili) o aggiungere un pitch.

La seconda scheda ('Layer') permette di aggiungere campioni WAV/AU/AIFF/FLAC fino a 16 layer diversi a seconda del livello di intensita' (velocity) che impostiamo per quello strumento oppure di modificare pitch e il guadagno.

In piu' a tutto questo si possono impostare 4 effetti LADSPA per ciascun strumento cliccando su . Nella prossima sezione una panoramica piu' ampia.

## 2.5. LADSPA plugins

Hydrogen puo' anche aggiungere ai suoni degli effetti usando qualunque libreria LADSPA. Si devono installare i sorgenti LADSPA (disponibili su http://www.ladspa.org) e se questo puo' bastare per dare un'idea di base, sarebbe meglio installare una o piu' di queste librerie per poter apprezzare meglio il risultato, basta compilare gli effetti con un "make && make install"

- SWH-Plugins disponibili presso http://plugin.org.uk. N.B. prima di installare questi effetti c'e' da compilare il pacchetto FFTW da http://www.fftw.org.

- CMT disponibile presso http://www.ladspa.org.

- TAP disponibile presso http://tap-plugins.sf.net.

Una volta installato qualche plugin aprite File -> Preferences -> General e controllate se il percorso e' corretto (per esempio un'installazione di default dei plugin li mette in /usr/local/lib/ladspa), quindi aprite una canzone a cui volete applicare gli effetti e selzionate uno strumento che abbia nel pattern qualche colpo. Nel Mixer cliccare su e selezionare uno delle quattro linee di effetti disponibili. Cliccare su Edit ( ) e poi su "Select the FX": questo aprira' un'altra finestra (Fig. 3) the permette di scegliere un effetto fra quelli installati; appaiono in ordine alfabetico e suddivisi per lettera. Una volta fatto ricordatevi di attivare l'effetto cliccando su "Activate", aggiustate il livello se volete e infine tornate al Mixer: cominciate a suonare e buon divertimento! Ciascun piccolo comando rotondo di ogni linea del Mixer, dall'alto in basso, comanda un effetto: il primo in alto e' il numero 0, poi il numero 1 e cosi' via. Se volete disabilitare velocemente un effetto LADSPA cliccate su .

Fig. 3 Selezionate un effetto.

## 2.6. Menu

Dai menu si segnala: File-->'Save as' per salvare la canzone correntemente aperta in formato .h2song, File-->Export per esportarla in WAV, File--> Preferences, Window--> Audio Engine Info, Window--> Drumkit manager.

### 2.6.1. Preferences dialog

Dalla linguetta "Audio System" (Fig. 4), si puo' modificare il driver audio (OSS, Jack ALSA o PortAudio) con relativo buffer e sampling e altre particolari caratteristiche di Hydrogen come la funzione "Enable Track Outputs", utile se si vuole aggiungere effetti a un singolo strumento con jack-rack, per esempio. "Connect to Default Output Pair" connette semplicemente l'output ALSA alle porte standard: deselezionare se si vuole agganciare il driver Jack su altre porte senza prima dover disconnettere quelle standard. Tenere d'occhio anche il valore di "Polyphony" poiche' a seconda della CPU di cui si dispone ci potrebbe essere bisogno di cambiare il valore per evitare che Hydrogen vada in xrun. Cliccando sulla linguetta Midi System (Fig. 5) si accede al menu per attivare un determinato device MIDI con uno specifico canale oppure tutti, mentre cliccando sulla linguetta "Appearance" (Fig. 6) si puo' regolare la dimensione del font, la tipologia dei frame (Child frame o Top Level) e la velocita' di caduta dei picchi (peak falloff) nel Mixer e lo stile QT delle finestre.

Fig. 4 La linguetta Audio System.

Fig. 5 La linguetta MIDI System.

Fig. 6 La linguetta Appereance

### 2.6.2. Audio engine info

Questo tab (Fig. 7) permette di visualizzare informazioni sullo stato del programma, del driver audio e driver midi. Il buffer e il sampling del driver audio Jack sono modificabili con gli appositi parametri al momento di lanciare il server da shell.

Fig. 7 La finestra Audio Engine Info. Meglio tenere d'occhio il controllo sulla CPU in sistemi anziani o con /proc affollata ;)

### 2.6.3. Drumkit manager

Da qui invece si accede alle opzioni che riguardano i drumkit, cioe' gruppi di suoni (WAV o FLAC) da associare a ciascuna traccia disponibile per ottenere un "groove" piu' omogeneo a seconda della circostanza (disco music, rock, ecc. ecc.). Per avere un'idea della resa ottimale dei drumkit si consiglia di caricarli e poi suonare il file .h2song generalmente abbinato.

La prima schermata (Fig. 8) permette di caricare/cancellare il drumkit selezionato, seguito da una breve descrizione. La seconda schermata consente di salvare una descrizione per il drumkit corrente e da qui (Fig.9) invece di puo' importare un drumkit (con estensione .h2drumkit) (Fig. 10) o di esportarlo (Fig. 11).

Fig. 8 Carica un drumkit. Scegliere fra quelli installati.

Fig. 9 Salva drumkit.

Fig. 10 Importa un drumkit.

Fig. 11 Esporta un drumkit.

# Capitolo 3. Creazione di una canzone

## 3.1. Modalita' song e modalita' pattern

Questa sezione dara' alcune indicazioni di massima sull'uso di Hydrogen. Riferirsi al tutorial per una guida piu' approfondita.

Hydrogen ha 2 modalita' principali di funzionamento: la modalita' "Pattern" e la modalita' "Song" (riferirsi a questa sezione per i pulsanti da utilizzare). Quando la modalita' Pattern e' impostata abbiamo la possibilita' di creare e modificare un pattern finche' non soddisfi le nostre esigenze; il pattern viene eseguito ininterrottamente finche' non si preme stop oppure si seleziona un altro pattern. La modalita' "Song" e' dedicata invece alla messa in sequenza dei vari pattern, in modo da creare una struttura per la canzone.

## 3.2. Creazione pattern

Partiremo da una canzone vuota con un pattern vuoto creato di default dal programma (Fig. 12); assicuriamoci che la modalita' di esecuzione sia impostata su "pattern". E' possibile modificare il nome del pattern. Adesso clicchiamo sul pulsante di "Play" e e mentre il nuovo pattern sara' in esecuzione aggiungiamo le note nella griglia del Song Editor (Fig. 13). Le note vengono inserite e cancellate dalla griglia semplicemente cliccando col tasto sinistro del mouse sulla nota interessata. Assicuriamoci di selezionare il pattern giusto nel Song Editor prima di inserire le note nel Pattern Editor! Notare anche che se per esempio si riempie un pattern di sedicesimi e poi si imposta una risoluzione minore, le note "fuori scala" non possono essere cancellate.

Fig. 12 Il Pattern Editor

## 3.3. Creazione sequenza

Una volta creati i pattern, per copiarli/cancellarli e posizionarli correttamente nella struttura della canzone (Fig. 13) e' sufficiente utilizzare la funzione di trascinamento del mouse attivabile nel Song Editor (tenere premuto il tasto sinistro per selezionare i pattern)

Fig. 13 Stiamo inserendo note nel pattern

## 3.4. Operazioni sul mixer

Ovviamente in qualsiasi momento e' possibile aprire ed utilizzare la finestra del mixer (Fig. 14), sia durante la fase di creazione dei pattern, sia durante l'esecuzione delle sequenze.

Il Mixer e' composto da 16 linee indipendenti, ognuna corrispondente ad un diverso strumento, piu' la linea del "Master Output" che serve a regolare il volume dell'uscita principale. Ogni linea contiene 3 pulsanti ( ), regolazione del pan ( ), un indicatore del picco massimo raggiunto, il fader del volume e il nome della traccia. Premendo il pulsante e' possibile ascoltare esclusivamente lo strumento selezionato poiche' gli altri vengono automaticamente esclusi dalla riproduzione. Il pulsante "Mute" , semplicemente rende "muto" lo strumento selezionato eliminandolo quindi dal mix finale. L'indicatore del picco massimo visualizza il massimo volume raggiunto dallo strumento; il picco deve essere all'interno dell'intervallo tra 0.0 e 1.0, superare il valore di 1.0 significa che lo strumento andra' in "distorsione" (specialmente usando i driver OSS) generando un rumore simile a una "pernacchia": meglio abbassare il volume in questi casi! ;)

Infine e' presente il fader del volume, con il quale regoliamo il volume del singolo strumento e vediamo graficamente il picco raggiunto grazie al vu-meter posto dietro alla manopola.

Fig. 14 Dettaglio del Mixer