Historique: Spectrum3d
Aperçu de cette version: 40
Spectrum 3D est un analyseur de spectre manipulable en 3 Dimensions.
Version actuelle : 2.7.1.
Licence : GNU GPL.
Compatible : JACK, ALSA, écran tactile.
Plateforme : Linux.
Développeur : victor.
Il fonctionne sur Ubuntu 10.04, 10.10 et 11.04, 11.10, mais devrait fonctionner sur d'autres distributions telles que Gentoo ou Fedora. Il est en version beta.
ATTENTION remarque importante pour Ubuntu 11.10 Oneiric Ocelot : Spectrum3d ne marche pas nativement du a un bug dans les 'plugins-good' de la version Gstreamer 0.10.30. Plusieurs solutions :
Voici une video de démonstration :
Dans Menu -> Edit -> Preferences , on peut configurer :
On voit alors l'interface graphique de commande.
Son test :
Un son test (son pur 'sinusoidal') de 1 à 20000Hz peut être joué pour servir de référence ou de comparaison;
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.
Application d'un équaliseur à 10 bandes et/ou d'un filtre passe-bande ou 'band-reject':
On peut faire apparaitre dans un autre fenêtre une interface permettant de filtrer le son :
Choix de la vitesse de défilement :
Intervalle de 100 à 500 millisecondes.
Gamme de fréquences analysées et affichées :
Spectrum3D analyse le spectre audio jusqu'à 20 000 Hz. La largeur de l'échelle representée va de 40 à 20000 Hz; par ailleurs, l'affichage peut commencer à n'importe quelle fréquence plus élevée. On peut ainsi haut zoomer sur n'importe quelle partie du spectre audio sur une zone que aussi petit que 40 Hz; la précision maximale est de 2 Hz.
Echelle :
Les cases à cocher 'Text' et 'Lines' font apparaître des échelles numérique et de graduations. La case 'Pointer' montre une ligne qui 'pointe' sur une fréquqnce précise.
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; à 2, on en voit le maximum.
Amplitude de la représentation du signal sonore :
Curseur 'Gain'.
Changement de la perpective :
Trois perspectives sont possibles :
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.
Légende des commandes tactiles ("gestures") :
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 suivre le tuto dédié le temps réel pour les applications.
Si on a activé l'option 'temps-réel' sans faire ces manoeuvres, il faudra démarrer Spectrum3d en tant que super utilisateur, ce qui n'est vraiment pas recommandé du tout
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é.
Table des matières
Informations
Site web officiel : http://sourceforge.net/projects/spectrum3d/.Version actuelle : 2.7.1.
Licence : GNU GPL.
Compatible : JACK, ALSA, écran tactile.
Plateforme : Linux.
Développeur : victor.
Description
Spectrum 3D affiche un spectrogramme en 3 Dimensions. 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 GNU GPL.Il fonctionne sur Ubuntu 10.04, 10.10 et 11.04, 11.10, mais devrait fonctionner sur d'autres distributions telles que Gentoo ou Fedora. Il est en version beta.
ATTENTION remarque importante pour Ubuntu 11.10 Oneiric Ocelot : Spectrum3d ne marche pas nativement du a un bug dans les 'plugins-good' de la version Gstreamer 0.10.30. Plusieurs solutions :
- la plus simple : installer la version de Ubuntu 11.04 Natty `a la place en ajoutant le depot 'main' en ligne de commande ou bien via Synaptic, puis aller dans Synaptic, selectionner le paquet gstreamer0.10-plugins-good, aller a Package -> Force version, et choisir la version de Natty (0.10.28) a la place de la version actuelle (0.10.30); ca marche; desactiver ensuite les depots ajoutes, une fois le paquet installe; on peut aussi 'verouiller le paquet dans Package -> Lock version, pour qu'il ne soit pas mis a jour automatiquement, a la prochaine mise a jour generale;
- installer la derniere version 'du jour' via git;
- desinstaller gstreamer0.10-plugins-good, et telecharger un autre version sur le site de Gstreamer, la compiler 'a la main' et l'installer; franchement c'est beaucoup de complications pour rien je crois...
Voici une video de démonstration :
Installation
[+]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;
- la couleur de l'affichage;
- les coordonnées de la perspective actuelle qui seront sauvées dans 'Preset';
- l'intervalle de temps entre 2 affichages;
- l'activation du 'temps-réel', le type (SCHED_RR ou SCHED_FIFO), et la priorité ('p');
- l'activation du multitouch;
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.
Son test :
Un son test (son pur 'sinusoidal') de 1 à 20000Hz peut être joué pour servir de référence ou de comparaison;
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.
Application d'un équaliseur à 10 bandes et/ou d'un filtre passe-bande ou 'band-reject':
On peut faire apparaitre dans un autre fenêtre une interface permettant de filtrer le son :
- puissant équaliseur à 10 bandes; on peut ajuster la fréquence à filtrer ainsi que le largeur de chaque bande; l'amplification pour chaque bande va de -72dD à + +36dB;
- filtre 'band-pass' (ne laissant passer que les fréquences entre les deux valeurs limites choisies, ou filtre 'band-reject' (laissant tout passer sauf les fréquences entre les limites choisies);
Choix de la vitesse de défilement :
Intervalle de 100 à 500 millisecondes.
Gamme de fréquences analysées et affichées :
Spectrum3D analyse le spectre audio jusqu'à 20 000 Hz. La largeur de l'échelle representée va de 40 à 20000 Hz; par ailleurs, l'affichage peut commencer à n'importe quelle fréquence plus élevée. On peut ainsi haut zoomer sur n'importe quelle partie du spectre audio sur une zone que aussi petit que 40 Hz; la précision maximale est de 2 Hz.
Echelle :
Les cases à cocher 'Text' et 'Lines' font apparaître des échelles numérique et de graduations. La case 'Pointer' montre une ligne qui 'pointe' sur une fréquqnce précise.
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; à 2, on en voit le maximum.
Amplitude de la représentation du signal sonore :
Curseur 'Gain'.
Changement de la perpective :
Trois perspectives sont possibles :
- la perspective 3D : les fréquences sont en X, l'intensité en Y et le temps en Z; on peut modifier la perspective en faisant une rotation dans les 3 axes 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'). Les couleurs d'affichage peuvent être changées : l'option 'RAINBOW' change les couleurs le long de la progression le long de l'axe des Z pour plus de clarté.
3D : zoom à 40 Hz
3D : 'rainbow'
- la perspective 2D (Flat View') : temps en X, frequence en Y; l'intensité est représentée par l'intensité de la couleur;
- la perspective 3D 'plate', une sorte de compromis entre les deux précédentes.
perspective 2D
| 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 | |
| Déplacement du pointeur | SHIFT + flèche droite/gauche | |
| Déplacement du pointeur par sauts plus grands | SHIFT + CTRL + flèche droite/gauche | |
| 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") :
Changelog
[+]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 suivre le tuto dédié le temps réel pour les applications.
Si on a activé l'option 'temps-réel' sans faire ces manoeuvres, il faudra démarrer Spectrum3d en tant que super utilisateur, ce qui n'est vraiment pas recommandé du tout
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é.