Chargement...
 
Skip to main content

Historique: Spectrum3d

Aperçu de cette version: 28

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.

perspective 3D
perspective 3D


La dernière version (1.0.0 du 25/08/2011) peutt être télechargée 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;
  - libutouch-geis-dev version 2. Pour Ubuntu Oneiric Ocelot (11.10), utiliser la version des dépôts. Pour Ubuntu Natty Narwhal (11.04), la version des dépôts convient, mais le filtrage du nombre de 'touches' sur l'écran ne fonctionne pas (Bug#769859 de libutouch-geis); pour solutionner ceci, il faut une version de uTouch-geis qui est au moins 2.1.0; on peut l'installer soit en installant un paquet '.deb' des dépôts de Oneiric (taper dans un terminal : 'sudo apt-get build-dep libutouch-geis-dev', ensuite installer 'libutouch-geis1' first, puis 'libutouch-geis-dev'), soit en compilant la dernière version à partir des sources (https://launchpad.net/utouch-geis); si l'on compile à partir des sources, on peut auparavant taper dans un terminal 'sudo apt-get build-dep libutouch-geis-dev' pour installer les dépendances nécessaires. Attention, si l'on installe une autre version que celle des dépôts, il faut désinstaller la version des dépots si elle est installée. Pour Ubuntu Maverick Meerkat (10.10), la version des dépôts de convient pas car il s'agit de libutouch-geis version 1; il faut utiliser une des deux solutions alternatives décrite pour Natty. Je ne sais pas si le multitouch peut facilement être implémenté sous Ubuntu Lucid Lynx (10.04) ou dans les précédentes versions.

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-votre-version

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 --disable-jack ou --disable-geis (ou bien --enable-jack=no ou --enable-geis=no).

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
(mot de passe nécessaire)


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.

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 :

Deux 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 : zoom à 40 Hz


3D : 'rainbow'
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;

perspective 2D
perspective 2D



ACTIONCOMMANDE CLAVIERCOMMANDE SOURIS
Play/pause Barre d'espace
StopEchap/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.

ACTIONCOMMANDE 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") :

Image

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;

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 activé 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é.


Historique

Avancé
Information Version
Lundi 09 mars 2015 21:59 olinuxx 61
Afficher
Lundi 09 mars 2015 21:58 olinuxx corrections + drapeaux + mise en page + cohérence + meilleurs liens-forum 60
Afficher
Mardi 09 septembre 2014 19:13 olinuxx mise en cohérence des variables : version logiciel + date 59
Afficher
Vendredi 05 septembre 2014 16:41 olinuxx Recherche et remplacement en masse 58
Afficher
Vendredi 05 septembre 2014 16:22 olinuxx Recherche et remplacement en masse 57
Afficher
Vendredi 05 septembre 2014 08:47 olinuxx Recherche et remplacement en masse 56
Afficher
Vendredi 05 septembre 2014 08:38 olinuxx Recherche et remplacement en masse 55
Afficher
Vendredi 05 septembre 2014 08:23 olinuxx Recherche et remplacement en masse 54
Afficher
Jeudi 04 septembre 2014 09:08 olinuxx Recherche et remplacement en masse 53
Afficher
Vendredi 01 mars 2013 17:13 xzu {box} d'ariane virrée 52
Afficher
Dimanche 03 juin 2012 11:03 pianolivier changelog 51
Afficher
Jeudi 17 mai 2012 18:32 pianolivier modif lien(s) interne(s) 50
Afficher
Dimanche 01 avril 2012 13:34 pianolivier +fil d'ariane 49
Afficher
Jeudi 01 mars 2012 12:38 victor Nouvelle video Youtube de demo 48
Afficher
Samedi 25 février 2012 17:44 pianolivier changelog 47
Afficher
Dimanche 19 février 2012 01:12 victor Mise a jour de la doc pour la version 2.2.0 46
Afficher
Samedi 11 février 2012 11:18 victor Mise a jour de la doc pour la version 2.1.0 (suite) 45
Afficher
Vendredi 10 février 2012 13:50 victor 44
Afficher
Vendredi 10 février 2012 13:22 victor 43
Afficher
Lundi 30 janvier 2012 23:30 victor modifications version 2.0.1 42
Afficher
Lundi 30 janvier 2012 23:28 victor 41
Afficher
Dimanche 29 janvier 2012 14:10 victor 40
Afficher
Mercredi 07 décembre 2011 19:59 pianolivier auto-correction 39
Afficher
Mercredi 07 décembre 2011 19:58 pianolivier validation video 38
Afficher
Mercredi 07 décembre 2011 19:57 pianolivier test video de présentation 37
Afficher
Dimanche 20 novembre 2011 17:52 victor 36
Afficher
Lundi 17 octobre 2011 11:40 victor nouvelle version (1.1.0) : nouvelle perspective possible 35
Afficher
Dimanche 16 octobre 2011 14:02 pianolivier +section changelog 34
Afficher
Vendredi 26 août 2011 00:53 victor documentation sur l'equaliseur et le filter BP/BR, et sur le son 'test' 33
Afficher
Mercredi 24 août 2011 18:25 pianolivier remplacement du § RT par des liens sur la doc 32
Afficher
Mercredi 24 août 2011 18:20 pianolivier 31
Afficher
Mercredi 24 août 2011 18:02 pianolivier typage du haut de page selon le manuel + ajout d'une variable 30
Afficher
Mardi 23 août 2011 02:21 victor mise au jour pour la version 1.0.0 29
Afficher
Mardi 23 août 2011 00:31 victor 28
Afficher
Mardi 23 août 2011 00:02 victor 27
Afficher
Lundi 22 août 2011 18:41 victor 26
Afficher
Lundi 25 juillet 2011 01:01 victor 25
Afficher
Lundi 25 juillet 2011 01:01 victor 24
Afficher
Samedi 04 juin 2011 21:48 mysterious 23
Afficher
Samedi 04 juin 2011 21:47 mysterious correction de quelques fautes d'orthographes (je m'amuse à jouer au prof de français :p) 22
Afficher
Jeudi 05 mai 2011 02:51 victor 21
Afficher
Jeudi 05 mai 2011 02:50 victor 20
Afficher
Jeudi 05 mai 2011 02:20 victor 19
Afficher
Jeudi 05 mai 2011 01:51 victor 18
Afficher
Jeudi 05 mai 2011 01:08 victor 17
Afficher
Jeudi 05 mai 2011 00:56 victor 16
Afficher
Jeudi 05 mai 2011 00:52 victor 15
Afficher
Mercredi 04 mai 2011 19:39 victor 14
Afficher
Mercredi 04 mai 2011 19:15 victor 13
Afficher
Mercredi 04 mai 2011 19:12 victor 12
Afficher
  • «
  • 1 (en cours)
  • 2