Historique: Spectrum3d
Aperçu de cette version: 15
Spectrum3d : affichage des harmoniques en 3D
Spectrum 3D affiche un spectrogramme en 3D; la souce audio peut être le microphone, un fichier audio, ou bien jack. Il peut être lancé en temps réel sans Jack (voir les remarque 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
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;
- - 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 .
Pour les autres distributions, les dépendances devraient être similaire. uTouch-Geis commence être porté sur d'autre distibution telles que Fedora ou 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
Il faut ajouter maintenant la ou les option(s) souhaitée(s) : Jack, temps-réel sans Jack, Multitouch
pour le suport de Jack, ajouter :
Copy to clipboard
--enable-jack
pour le support du temps-réel, ajouter : (en dehors de Jack), ajouter
Copy to clipboard
--enable-realtime
pour utliser la fonction tctile multitouch avec l'écran tactile et/ou le pavé tactile (touchpad), ajouter :
Copy to clipboard
--enable-geis
Par exemple, si l'on veut activer les 3 options, il faudra écrire :
Copy to clipboard
./configure --enable-jack --enable-realtime --enable-multitouch
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 de 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 lu à 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 :
6 Vitesse possibles.
Echelle :
Les cases à cocher 'Text' et 'Lines' font apparaître des échelles numérique et de graduations; la case à cocher 'Panels' fait apparaître des "paneaux de séparation" verticaux parallèles aux lignes, donc la hauteur peut être réglée par le curseur 'Panel height'.
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 | ||
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 à 15 (réglabls dans Menu -> Edit -> Preferences), et puis voir ce qui est possible.
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 @audio - memlock unlimited
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'
Copy to clipboard
sudo spectrum3d
4. Le support pour le Multitouch est expérimental; il est fourni par l'API uTouch-geis. Actuellement 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.