ACCUEILMUSIQUEMACHINS
english


INSTALLATION DE FREEBOB SUR UBUNTU DAPPER

Le but de l'opération est d'installer freebob sur Ubuntu sans réfléchir.

Je vous conseille donc de simplement faire des copier-coller des commandes dans votre terminal.

Mon système:
Kubuntu Dapper
mon sources.list ici

Préparation:
Il est préférable de retirer les pakage automake et autoconf si ils sont présents.

Installation de quelques outils nécéssaires:
$ sudo apt-get install subversion libtool libxml2-dev libcap-dev libasound2-dev pkg-config automake1.9 autoconf2.13

Création d'un répertoire pour l'installation:
$ cd ~
$ mkdir src

Installation de libraw1394 
$ cd ~/src
$ wget http://www.linux1394.org/dl/libraw1394-1.2.1.tar.gz
$ tar -zxvf libraw1394-1.2.1.tar.gz
$ cd libraw1394-1.2.1
$ ./configure --prefix=/usr
$ make
$ sudo make install

Installation de libiec61883
$ cd ~/src
$ wget http://www.linux1394.org/dl/libiec61883-1.0.0.tar.gz
$ tar -zxvf libiec61883-1.0.0.tar.gz
$ cd libiec61883-1.0.0
$ ./configure --prefix=/usr
$ make
$ sudo make install

Installation de libavc1394:

$ cd ~/src
$ wget http://umn.dl.sourceforge.net/sourceforge/libavc1394/libavc1394-0.5.3.tar.gz
$ tar -zxvf libavc1394-0.5.3.tar.gz
$ cd libavc1394-0.5.3
$ ./configure --prefix=/usr
$ make
$ sudo make install


S'assurer que les modules requis sont chargés:

$ sudo su
# /sbin/modprobe ohci1394
# /sbin/modprobe raw1394


S'assurer que le répertoire qui pointe vers le matériel firewire est crée

# mknod -m666 /dev/raw1394 c 171 0

!!!!!!!!!!!!!!!!!
Si la console renvoie
mknod: `/dev/raw1394': Le fichier existe.
faire
# rm /dev/raw1394
# mknod -m666 /dev/raw1394 c 171 0
NOTE: quand les tests freebob plantent il est pertinant de refaire cette manipulation
!!!!!!!!!!!!!!!!!

#exit

Installation de libfreebob:
$ cd ~/src
$ svn co https://svn.sourceforge.net/svnroot/freebob/branches/libfreebob-1.0 libfreebob
$ cd libfreebob
$ autoreconf -vis
$ ./configure --prefix=/usr
$ make
$ sudo make install


Tests de l'installation:
Connectez votre carte son et tappez:
$ tests/test-freebob discover

Si tout se passe correctement, la console retourne des infos sur la carte son. Notez les valeurs de port et node (dans les premières lignes).
Par exemple, chez moi:
verbose level = 0
Using freebob library version: libfreebob 1.0.0

  port = 0, devices_on_bus = 1
  get info for device = 0, node = 0
Direction:              0 (capture)

Connection Info
===============

Number of connections:  1

  Connection  0
  -------------
    [ 0] Id:         1
    [ 0] Port:       0
    [ 0] Node:       0
    [ 0] Plug:       0
    [ 0] Dimension:  7
    [ 0] Samplerate: 48000
    [ 0] IsoChannel: -1
    [ 0] IsMaster:   0
    [ 0] Number of stream infos: 8

    StreamId  Position Location Format Type DPort Name
    --------------------------------------------------
    [ 0]:[ 0] 0x01     0x01     0x06   0x02 0x00  MicIn 1+2 left
    [ 0]:[ 1] 0x04     0x02     0x06   0x02 0x00  MicIn 1+2 right
    [ 0]:[ 2] 0x02     0x01     0x06   0x03 0x00  LineIn 1+2 left
    [ 0]:[ 3] 0x05     0x02     0x06   0x03 0x00  LineIn 1+2 right
    [ 0]:[ 4] 0x00     0x01     0x06   0x04 0x00  SpdifIn 1 left
    [ 0]:[ 5] 0x03     0x02     0x06   0x04 0x00  SpdifIn 1 right
    [ 0]:[ 6] 0x06     0x01     0x0d   0x0a 0x00  MidiIn1
    [ 0]:[ 7] 0x06     0x02     0x0d   0x0a 0x00  MidiIn1


Direction:              1 (playback)

Connection Info
===============

Number of connections:  1

  Connection  0
  -------------
    [ 0] Id:         1
    [ 0] Port:       0
    [ 0] Node:       0
    [ 0] Plug:       0
    [ 0] Dimension:  11
    [ 0] Samplerate: 48000
    [ 0] IsoChannel: -1
    [ 0] IsMaster:   0
    [ 0] Number of stream infos: 12

    StreamId  Position Location Format Type DPort Name
    --------------------------------------------------
    [ 0]:[ 0] 0x01     0x01     0x06   0x03 0x00  MultiChannel 7.1 Front left
    [ 0]:[ 1] 0x06     0x02     0x06   0x03 0x00  MultiChannel 7.1 Front right
    [ 0]:[ 2] 0x02     0x03     0x06   0x03 0x00  MultiChannel 7.1 Center
    [ 0]:[ 3] 0x07     0x04     0x06   0x03 0x00  MultiChannel 7.1 Subwoofer
    [ 0]:[ 4] 0x03     0x05     0x06   0x03 0x00  MultiChannel 7.1 Rear left
    [ 0]:[ 5] 0x08     0x06     0x06   0x03 0x00  MultiChannel 7.1 Rear right
    [ 0]:[ 6] 0x04     0x07     0x06   0x03 0x00  MultiChannel 7.1 Surround left
    [ 0]:[ 7] 0x09     0x08     0x06   0x03 0x00  MultiChannel 7.1 Surround right
    [ 0]:[ 8] 0x00     0x01     0x06   0x04 0x00  SpdifOut 1 left
    [ 0]:[ 9] 0x05     0x02     0x06   0x04 0x00  SpdifOut 1 right
    [ 0]:[10] 0x0a     0x01     0x0d   0x0a 0x00  MidiOut1
    [ 0]:[11] 0x0a     0x02     0x0d   0x0a 0x00  MidiOut1

Donc,   port = 0 et node = 0

Appel des modules nécessaires:

$ sudo su
# /sbin/modprobe snd-seq
# echo snd-seq >> /etc/modules
# echo raw1394 >> /etc/modules
# exit

Installation de jackd pour freebob:

$ cd ~/src
$ svn co http://subversion.jackaudio.org/jack/trunk/jack jack

Nous avons besoin de connaître le répertoire temporaire de jackd. Pour celà:
$ jackd --version

Notez la valeur de tmpdir (par ex, si la console retourne jackd version 0.100.0 tmpdir /dev/shm protocol 15, la valeur de tmpdir est /dev/shm )
En suposant que cette valeur soit /dev/shm:
$ cd jack
$ ./autogen.sh --prefix=/usr --with-default-tmpdir=/dev/shm


A la fin de cette procédure, vous devez avoir quelque chose du style:

jack-audio-connection-kit 0.101.1 :

| Build with ALSA support............................... : true
| Build with OSS support................................ : true
| Build with CoreAudio support.......................... : false
| Build with PortAudio support.......................... : true
| Build with FreeBob support............................ : true
|
| Default driver backend................................ : "alsa"
| Shared memory interface............................... : "System V"

Si la valeur de 'Build with FreeBob support' est  'false' votre installation de freebob a échouée (à recommencer dans la joie).

$ make
$ sudo make install

Pour tester:
$ jackd -d freebob

Si vous n'êtes pas sûr que le port par défaut corresponde à votre configuration, tappez (avec hw:[numéro du port],[numéro node] ):
$ jackd -d freebob -d hw:0,0 



NOTES:

je suis obligé à chaque redémarage du système de faire la manip suivante:
$ sudo su
# rm /dev/raw1394
# mknod -m666 /dev/raw1394 c 171 0
# exit



si vous êtes infréquentable et persuadé d'avoir raison, rejoignez-nous sur MCP