Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

7 - Développer/Traduire/Documenter/Annoncer une application

> Forums de discussion > 7 - Développer/Traduire/Documenter/Annoncer une application > Fragment - Synthétiseur Spectrale Collaboratif
Dernier post

Fragment - Synthétiseur Spectrale Collaboratif

onirom utilisateur non connecté France
Bonjour,

je crée ce sujet pour vous présenter mon projet de synthétiseur spectrale collaboratif qui est disponible à l'adresse

https://www.fsynth.com



D'autre vidéos sont disponible ici

L'application est compatible avec tous les navigateurs modernes.

C'est un synthétiseur un peu spéciale puisqu'il est possible de manipuler entièrement le spectre de fréquences audio en temps-réel via un script GLSL (programmation GPU) qui génère le contenu du spectre, le spectre généré est un vaste champ de possibilités et l'on sélectionne des parties de ce spectre pour l'écoute, c'est un synthétiseur qui mixe la programmation graphique à l'audio!

Les résultats pouvant être obtenus sont infinies, il y à pas du tout de limites, l'application permet aussi de moduler/jouer l'audio via une webcam ou à partir d'images, il est possible d'assigner des contrôleurs MIDI à des variables et en modifier les valeurs (Chrome et Opera uniquement pour cette fonctionnalité).

Je pense que dans un premier temps, les sons pouvant être fait peuvent intéresser ceux qui font de l'ambient, du glitch, noise et autre genres utilisant des sons non communs ou faire de la musique électronique dans le sens classique du terme mais ça ne s'arrête pas qu'as ses sonorités!

Pour la partie code, c'est du GLSL , c'est pas compliqué mais ça requiert forcément un peu de temps à maîtriser et ça demande aussi un peu de temps pour comprendre comment afficher des choses avec, je conseille de modifier les valeurs dans un premier temps, remplacer les fonctions par d'autres (genre sin en cos), changer les opérations... ça permet d'avoir un aperçu rapide.

Le synthétiseur est quasi-entièrement collaboratif, vous pouvez partager l'URL de votre session et tout est synchronisé entre les utilisateurs. (sauf la webcam et les images ajoutés)

Le synthétiseur est conçu avec les technologies du web moderne donc ça peut s’exécuter sur n'importe quel système d'exploitation, l'inconvénient c'est que ça demande pas mal de ressources et que la technologie web à ses limites donc j'ai dû porter le moteur de synthèse en C et le fournir à par pour Linux ou Windows, l'application peut fonctionner sans mais l'audio risque d'être désagréable.

Il y aura bientôt une application standalone tout-en-un qui contiendra le moteur de synthèse écrit en C et l'application, ça permettra de simplifier l’utilisation tout en garantissant le max des performances.

Pour le moment tout est en anglais.

J'ai par ailleurs un autre projet qui devrait sortir en 2017 pour ceux qui sont intéressé, beaucoup plus simple à l'utilisation (ne requiert pas d'écrire du code) mais utilisant à peu près le même principe avec une méthode de contrôle du spectre différente.

olinuxx utilisateur non connecté France
Ça a l'air sympa ton truc. Question de curiosité, pourquoi est-ce uniquement compatible avec Chrome et Opéra ?

onirom utilisateur non connecté France
L'application est compatible avec tous les navigateurs moderne dont Firefox bien sûr mais l'API Web MIDI n'est pas encore implémenté/distribué publiquement sous Firefox, il est donc impossible d'assigner des contrôleurs MIDI avec Firefox mais le reste de l'application fonctionne bien.

Bon par contre je viens de tester sous Safari/iPad et ça n'as pas l'air de fonctionner, il reste quelque trucs à corriger. :-)

olinuxx utilisateur non connecté France
OK, merci pour l'explication. Saurais-tu quand est-ce que FireFox va être compatible Web MIDI (quelle version) ?

onirom utilisateur non connecté France
ça devrait être disponible dans le courant de l'année, l'API en est au stade de tests mais je n'ai pas trouvé de mentions pour la version de FireFox ou une date de sortie spécifique

olinuxx utilisateur non connecté France
OK, merci pour l'info :-)

onirom utilisateur non connecté France
J'ai publié une mise à jour qui corrige le (gros) problème des "craquements" de l'audio quand l'audio est joué par le navigateur, c'est pas encore totalement ça mais le résultat est très prometteur avec mon i7.

Maintenant l'audio est quasiment parfaite de base dans un navigateur tel que Chrome, sous Firefox ça s'est amélioré mais ce n'est pas encore totalement ça.

Je vais publier des mises à jour dans les jours à venir qui vont tenter de réduire les problèmes de performances lorsqu'on utilise l'application de base sans le programme de synthèse externe, le but étant d'éradiquer totalement le besoin d'utiliser ce programme (au moins avec mon i7), avec cette mise à jour, j'y suis quasiment! :-)

J'ai aussi ajouté une vue logarithmique temps-réel du spectre de la sortie, ça peut aider et c'est plutôt sympa. :-)

olinuxx utilisateur non connecté France
J'ai essayé de créer une session sur https://www.fsynth.com avec mon firefox 45.7.0 , ça ralenti le navigateur à mort et c'est presque inutilisable. Malheureusement pour moi.

Ça serait chouette si des gens le testant sur Chrome/Opera pouvaient faire un retour ici. Ça permettrait d'avoir un autre retour que celui ci !

onirom utilisateur non connecté France
Merci pour le test, quelles sont les caractéristiques de ta machine? (le CPU et la carte vidéo surtout)

Dû au fait que l'audio est généré en temps réel, doit être synchro (60 FPS) avec ce qui est affiché à l'écran et est joué par le navigateur si l'app. externe n'est pas utilisé, ça demande pas mal de puissances CPU et GPU, si la carte vidéo ne suit pas, l'audio ne va pas suivre, c'est le soucis en ce moment car forcément je n'ai pas ce problème avec mon i7 et un GPU assez véloce (GeForce GTX 970).

Je suis en train de voir pour atténuer tout ça, le bundle qui va arriver prochainement devrait atténuer ce genre de soucis.

Je suis aussi en train d'expérimenter avec le Raspberry Pi et un DAC HifiBerry en ce moment, l'audio est généré par le Raspberry Pi et le visuel sur la machine cliente, ça fonctionne bien avec ~700 oscillateurs simultanées :-) ça sera téléchargeable rapidement avec la documentation complète de tout ça, il y aura sûrement une page wiki aussi

olinuxx utilisateur non connecté France
$ lscpu
Architecture :        x86_64
Mode(s) opératoire(s) des processeurs : 32-bit, 64-bit
Boutisme :            Little Endian
Processeur(s) :       2
Liste de processeur(s) en ligne : 0,1
Thread(s) par cœur : 1
Cœur(s) par socket : 2
Socket(s) :           1
Nœud(s) NUMA :       1
Identifiant constructeur : GenuineIntel
Famille de processeur : 6
Modèle :             23
Nom de modèle :      Intel(R) Core(TM)2 Duo CPU     E7400  @ 2.80GHz
Révision :           10
Vitesse du processeur en MHz : 2534.000
Vitesse maximale du processeur en MHz : 2534,0000
Vitesse minimale du processeur en MHz : 1600,0000
BogoMIPS :            5599.84
Cache L1d :           32K
Cache L1i :           32K
Cache L2 :            3072K


$ lspci
00:02.0 VGA compatible controller: Intel Corporation 82G33/G31 Express Integrated Graphics Controller (rev 10)
01:00.0 Multimedia video controller: Blackmagic Design Intensity Pro


Dis moi si tu as besoin d'autres infos.

onirom utilisateur non connecté France
Merci, ça devrait passer normalement, en fait il semblerait que j'ai introduit un bug sous Firefox dans la dernière mise à jour... j'ai le même problème, je vais voir pour corriger ça dans la semaine.

Ce week-end j'ai expérimenté avec le Raspberry Pi (ordinateur à ~35€) et il y à une vidéo qui montre ce que le synth est capable de faire et comment il peut être utiliser comme instrument virtuel dans un DAW comme Renoise, la synthèse de l'audio est faite sur le Raspberry Pi :

https://www.youtube.com/watch?v=7x9S0sCz2GU

olinuxx utilisateur non connecté France
Sympa la vidéo.

Tiens moi au jus quand tu auras fait un correctif, je retesterai.

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]

olof

Mégaphone [Afficher / Cacher]

olinuxx, 13:19, mer. 24 mai 2017: bonjour et bienvenue à laffcoop :-)
olinuxx, 17:01, mar. 23 mai 2017: bonjour et bienvenue à av69, à martin_wr, et à quands :-)
sub26nico, 15:45, mar. 23 mai 2017: Salut et bienvenue à Gredin :-)
sub26nico, 22:08, lun. 22 mai 2017: Salut et bienvenue à Maxicore :-)
jams, 08:40, lun. 22 mai 2017: [Lien]
sub26nico, 21:46, dim. 21 mai 2017: A voté également !
tenryu, 21:12, dim. 21 mai 2017: A voté !
theRealPok, 01:59, dim. 21 mai 2017: Merci. Pas répondu a ton PV parce que je trouve plus où c'est mais je me suis présenté dans le forum adéquat
sub26nico, 00:17, dim. 21 mai 2017: Salut et bienvenue à theRealPok :-)
eazymaogeek, 23:10, sam. 20 mai 2017: J'ai voté pour la joute aussi. Hier je crois :-)
sri_raoul, 14:28, sam. 20 mai 2017: 2h23m40s bien évidemment...
sri_raoul, 14:26, sam. 20 mai 2017: La conf de Paul Davis est ici: [Lien] et commence à 2h2340s... environ.