███████╗██████╗ ██╗██████╗ ██████╗ ██╗ █████╗ ██████╗
██╔════╝██╔══██╗██║██╔══██╗██╔═══██╗██║ ██╔══██╗██╔══██╗
███████╗██████╔╝██║██████╔╝██║ ██║██║ ███████║██████╔╝
╚════██║██╔═══╝ ██║██╔══██╗██║ ██║██║ ██╔══██║██╔══██╗
███████║██║ ██║██║ ██║╚██████╔╝███████╗██║ ██║██████╔╝
╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝
SpiroLab allie art et informatique en animant des spirographes grâce au son. En modifiant six paramètres, l’application génère des tracés précis et élégants. Elle permet d’importer un fichier .wav ou d’enregistrer un son en direct pour créer une chorégraphie colorée via une interface intuitive. Réalisé par cinq élèves de 1ère NSI en un peu plus de 3 mois, le système offre une expérience interactive et artistique soignée.
Le projet a été testé et fonctionne avec Python 3.12
. Des versions de python plus anciennes ne sont pas forcément compatibles.
Dans le répertoire executable\SpiroLab-windows
, lancez spirolab.exe
pour démarrer l'application.
Installez les dépendances avec la commande
pip install -r requirements.txt
Lancez la commande flet run
depuis le répertoire sources
:
cd sources
flet run
La librairie zenity
est requise pour le bon fonctionnement de l'application (widget de sélection de fichier). Pour l'installer, exécutez la commande :
sudo apt-get install zenity
Lancer ces commandes depuis la racine du projet:
export PATH=$PATH:"$(pwd)/executable/fmedia":"$(pwd)/../executable/fmedia":"$(pwd)/../../executable/fmedia"
cd executable/SpiroLab-linux
./SpiroLab
Remarque : la ligne export
permet d'activer la capacité à enregistrer de l'audio. Sans cette ligne, l'application fonctionne correctement hormis l'enregistrement d'audio.
Installez les dépendances avec la commande
pip install -r requirements.txt
Lancez la commande flet run
depuis le répertoire sources
:
export PATH=$PATH:"$(pwd)/executable/fmedia":"$(pwd)/../executable/fmedia":"$(pwd)/../../executable/fmedia"
cd sources
flet run
Notre projet dépend pour la plus grande partie des parties de la bibliothèque standard de python : pas besoin d'installation particulières pour ceux-là. Nous utilisons 3 autres bibliothèques :
- Numpy, pour faire des calculs plus rapides et complexes sur les longues listes extraites des fichiers audio.
- Flet et Flet-audio-recorder, pour la gestion de l'interface graphique et de l'entrée d'audio au sein de cette bibliothèque d'interface graphique.
Pourquoi Flet ?
Nous avons choisi d'utiliser Flet au lieu de bibliothèques plus classiques comme Tkinter afin de pouvoir construire facilement une application qui peut s'éxécuter sur toutes les plateformes (y compris possiblement le web), et qui est plus moderne par défaut dans son design.
Le code dans le répertoire sources
est sous licence GNU GPLv3 et la documentation est sous licence CC BY-SA.
Les fichiers dans executable
sont sous leurs licences respectives.
Vivaldi - Violin Concerto in F minor - "Winter" - Op. 8, No. 4 - RV 297 - Arranged for Strings by GregorQuendel -- https://freesound.org/s/718662/ -- License: Attribution NonCommercial 4.0
Bach - Invention 8 in F Major, BWV 779 - Arranged for Music Box by GregorQuendel -- https://freesound.org/s/711512/ -- License: Attribution NonCommercial 4.0
Bach - Badinerie - BWV 1067 - Arranged for Flute by GregorQuendel -- https://freesound.org/s/744050/ -- License: Attribution NonCommercial 4.0