Historique: Spectrum3d
Aperçu de cette version: 25
Spectrum3d : affichage des harmoniques en 3D
Spectrum 3D affiche un spectrogramme en 3D; la source audio peut être un microphone, un fichier audio, ou bien jack. Il peut être lancé en temps réel sans Jack (voir les remarques importantes à ce propos). il est également tactile multitouch en option. Il utilise les bibliothèques libres Gstreamer, SDL, OpenGl, Gtk+ et uTouch-Geis et est sous licence GPL.
Il fonctionne sur Ubuntu 10.04, 10.10 et 11.04, mais devrait fonctionner sur d'autres distributions telles que Gentoo ou Fedora. Il est en version beta.
Plugin Image
Fichier non trouvé.
Il peut être télechargé ici : https://sourceforge.net/projects/spectrum3d/files/
On trouve une vidéo de démo rapide ici
Installation
1. Installer les dépendances:
Elles sont toutes dans le gestionnaire de paquet Synaptic.- - gcc, pkg-config, automake;
- - libgtk+-2.0-dev;
- - lidsdl1.2-dev et libsdl-ttf2.0-dev;
- - libgstreamer0.10-dev;
- - gstreamer0.10-plugins-bad, gstreamer0.10-plugins-bad-multiverse, gstreamer0.10-plugins-ugly et gstreamer0.10-plugins-ugly-multiverse (pour lire les fichiers tels que les mp3);
Si on veut le support de Jack :
- - libjack-dev (pour jack1) ou libjack-jackd2-dev pour jack2);
pour le suport tactile 'multitouch' (écran tactile and pavé tactile dans Natty):
- - libutouch-geis-dev;
1) - désinstaller libutouch-geis-dev et libutouch-geis des depots;
- taper dans un terminal : sudo apt-get build-dep libutouch-geis-dev (pour avoir toutes les dépendances nécessaires);
- télécharger les sources sur le site de uTouch-Geis(https://launchpad.net/canonical-multitouch/utouch-geis) et suivre les instructions du fichier INSTALL, comprenant les étaped ./configure, make, install.
2) une autre méthode plus facile est d'installer les paquets deb pour Natty sur Maverick. Installer d'abord libutouch-geis1 et ensuite libutouch-geis-dev. On peut aussi installer les paquets pour Oneiric Ocelot pour bénéficier du multitouch fonctionnant mieux (filtrage de la fenêtre, filtrage du nombre de points);
Pour les autres distributions, les dépendances devraient être similaires. uTouch-Geis commence à être porté sur d'autre distibution telles que Gentoo.
2. Compiler et installer :
1) dans un terminal, se rendre dans le répertoire où se trouvent les sources :par example, si les sources sont dans le répertoire '/home/victor' :
Copy to clipboard
cd /home/victor/spectrum3d-0.2-2
2) dans un terminal, taper :
Copy to clipboard
./configure
Si libjack est présent, le support de Jack sera automatiquement activé; si libbamf et libutouch-geis sont détectés, le support pour le multitouch sera activé. Toutefois, si ces librairies sont présentes mais qu'on ne souhaite pas ces options activées, on peut les désactiver (selon les standards d'Autoconf) en ajoutant
Par exemple, si l'on veut désactiver les 2 options, il faudra écrire :
Copy to clipboard
./configure --disable-jack --disable-geis
L'ordre des arguments n'a pas d'importance.
3) dans un terminal, taper :
Copy to clipboard
make
4) dans un terminal, taper :
Copy to clipboard
sudo make install
Utilisation
On lance Spectrum3d via le menu->Applications->Son & Video ou bien en tapant dans un terminal :
Copy to clipboard
spectrum3d
On voit alors l'interface graphique de commande.
Choix de la sources sonores :
Les sources sonores sont le micro (intégré au PC ou externe), un fichier audio ou bien une source sonore provenant de Jack; le choix des formats de fichiers supportés est très large, puisqu'il s'agit de toute le gamme fournie par Gstreamer. Pour les fichiers sonores, les boutons ">>" et "<<" permettent d'avancer ou de reculer de 5 secondes dans la lecture. On peut sélectionner plusieurs fichiers qui seront lus à la suite. Lorsqu'on appuie sur le bouton 'Play', l'affichage en 3d commence avec les fréquences en X, l'amplitude en Y et le temps en Z.
Gamme de fréquences analysées et affichées :
Spectrum3D analyse le spectre auditif jusqu'à 20 000 Hz. Le zoom le plus précis est de 1000 Hz; par ailleurs, l'affichage peut commencer plus haut que 0; par exemple, on peut afficher un zoom sur les fréquences allant de 2000 à 4000 Hz. La précision maximale est de 2 Hz. Par défaut, le zoom appliqué affiche les fréquences de 0 à 6000 Hz.
Choix de la vitesse de défilement :
Intervalle de 100 à 500 millisecondes.
Echelle :
Les cases à cocher 'Text' et 'Lines' font apparaître des échelles numérique et de graduations.
Représentation temporelle :
Le curseur 'Depth' détermine l'axe du temps : à 0, il n'a qu'une représentation instantanée du spectrogramme produit au moment présent; à 1, on voit les 100 spectrogrammes précedents; à 2, on en voit 200.
Amplitude de la représentation du signal sonore :
Curseur 'Gain'.
Changement de la perpective :
Après lancement et affichage des harmoniques en 3d, on peut modifier la perspective en faisant une rotation dans les 3 aes ou une translation dans les 3 axes. Ceci se fait par des commandes au clavier, à le souris (avec ou sans clavier) ou avec contrôle tactile (écran ou pavé tactile). Ceci peut se faire soit pendant que le son est joué (l'écran) change tout le temps, soit pendant que le son est mis en pause (l'image est 'gelée')
Voici un même spectrogramme vu sous 4 angles différents, alors que le systeme est en pause :
| ACTION | COMMANDE CLAVIER | COMMANDE SOURIS |
| Play/pause | Barre d'espace | |
| Stop | Echap/Escape | |
| Rotation autour de l'axe des X | Flèche haut/bas | Curseur de la souris vers le haut/bas |
| Rotation autour de l'axe des Y | Flèche droite/gauche | Curseur de la souris vers la droite/gauche |
| Rotation autour de l'axe des Z | 'c' + Flèche haut/bas | 'c' + curseur de la souris vers le haut/bas |
| Translation le long de l'axe des X | 'x' + flèche droite/gauche | 'x' + curseur de la souris vers la droite/gauche |
| Translation le long de l'axe des Y | 'y' + flèche haut/bas | 'y' + curseur de la souris vers le haut/bas |
| Translation le long de l'axe des Z | 'z' + flèche droite/gauche | 'z' + curseur de la souris vers le haut/bas |
| Augmentation/diminution du Gain | 'g' + Flèche haut/bas | 'g' + curseur de la souris vers le haut/bas |
| Augmentation/diminution du début du zoom | 's' + Flèche haut/bas | |
| Lecture par petits échantillons | 'v' + flèche droite | |
A noter la dernière fonction qui permet de lire 'échantillon par échantillon' un fichier audio : lorsque la lecture d'un fichier audio est mise en pause, la combinaison 'v' + flèche droite remet en lecture pour 50 millisecondes, puis remet en pause, permettant de faire défiler très lentement l'affichage.
| ACTION | COMMANDE TACTILE | |
| Play/pause | Double Tap | |
| Rotation autour de l'axe des X | Drag 1 doigt haut/bas | |
| Rotation autour de l'axe des Y | Drag 1 doigt droite/gauche | |
| Rotation autour de l'axe des Z | Rotation 2 doigts | |
| Translation le long de l'axe des X | Drag 2 doigts droite/gauche | |
| Translation le long de l'axe des Y | Drag 2 doigts haut/bas | |
| Translation le long de l'axe des Z | Pinch/Spread 2 doigts | |
Légende des commandes tactiles ("gestures") :
Configuration
Dans Menu -> Edit -> Preferences , on peut configurer :
- la largeur de la fenêtre (700 à 1200 pixels), sachant que plus la fenêtre est grande, plus Spectrum3d consomme de ressources;
- la police de caractère utilisée;
- l'intervalle de temps entre 2 analyses et donc 2 affichages;
- les coordonnées de la perspective actuelle qui seront sauvées dans 'Preset'
Remarques importantes
1. Bien qu'il s'agisse de 3D avec OpenGL, l'installation des pilotes permettant l'accélération 3D n'est pas nécessaire, même si celle-ci peut améliorer la qualité du rendu.
2. Spectrum 3D est assez gourmand en ressources, vu l'analyse en temps réel des données et leur affichage; 3 aspects peuvent être importants : la puissance du processeur, la puissance de la carte graphique, le type de noyau (générique, preempt ou RT). Si votre machine a des ressources limitées, il vaut mieux démarrer Spectrum 3d avec une largeur de fenêtre à 700, et un intervalle de temps assez élevé.
3. Le mode Temps Réel sans Jack alloue à Spectrum3d une priorité supérieure et permet donc que Spectrum 3d ne soit pas rallenti par d'autre processus concomittants. En aucun cas, cela ne réduira les ressources nécessaires. AVERTISSEMENT IMPORTANT: Pour utiliser cela, il faut éditer ou créer le fichier '/etc/security/limits.d/audio.conf' en y placant quelque chose de similaire :
Copy to clipboard
@audio - rtprio 95
Si Jack est déjà installé avec le temps réel activé, ceci est en principe déjà fait.
Il faut également appartenir au groupe 'audio' :
- soit dans Système->Préférences->Utilisateurs et Groupes ->Gérer les Groupes, choisir 'audio' et s'inclure comme membre du groupe en cochant son nom;
- ou bien en tapant dans un terminal :
Copy to clipboard
sudo adduser ${LOGNAME} audio
Après ces manoeuvres, il faut redémarrer.
Si on a actvé l'option 'temps-réel' sans faire ces manoeuvres, il faudra démarrer Spectrum3d en tant que 'root', ce qui n'est vraiment pas recommandé du tout
Copy to clipboard
sudo spectrum3d
4. Le support pour le Multitouch est fourni par l'API uTouch-geis. Si on utlise une version plus ancienne que la 2.1.0, l'input provient de tout l'écran et n'est donc pas limité à le fenêtre de l'application. D'autre part, quand Spectrum3d est lancé, le pointeur de la souris ne sera plus controlable par controle tactile; seul seront pris en compte les 'gestures' (instructions tactiles) prédéfinies; dependant le pointeur de la souris sera toujours controlable par la souris elle-même. Le comportement est identique, dans Natty, pour le touchpad : le touchpad recevra seulement les instructions tactiles, mais ne controlera plus le pointeur de la souris tant que Spectrum3d fonctionnera. Pour une version qui est au moins 2.1.0, seule la fenêtre concernée recevra l'input tactine, les le nombre de de points sera filtré.