Aller au contenu
Pascal

Traitement de son... dans votre navigateur

Messages recommandés

screenshot.png

 

 

 

 

Salut,

 

 

 

 

 

j'avais déjà partagé ce lien à certains ici mais j'ai décidé d'en faire un topic pour avoir plus de retour. 

 

 

 

 

 

Dans mon temps libre, je me suis amusé à coder un traitement de son dans un navigateur. Aucun plugin externe, ni de Java ou Flash. Tout est entièrement natif. Vous devez bien entendu avoir un navigateur moderne (les récentes version de Chrome, Firefox et Safari devrait marcher.)

 

 

 

 

 

 

 

 

 

 

J'utilise une nouvelle API - Web Audio API -, qui fait partie des nouvelles technologies proposé par l'HTML5. C'est une API assez sympa bien que assez (très?) limitée si on veut triturer l'audio en profondeur. Je surveille l'évolution de cette API qui évolue sans cesse et suis en contact avec des ingénieurs locaux sur ce sujet pour le faire évoluer.

 

 

 

 

 

Alors oui, ça ne va pas sonner comme un Omnia. Tout ceci est expérimental et le son qui en ressort est loin d'avoir la prétention de rivaliser avec des gros noms. Je le fais évoluer de temps en temps. Le preset de base n'est pas terrible donc si vous voulez vous amuser à faire mieux, libre à vous. Cliquez sur le + à côté de Settings pour avoir accès aux paramètres.

 

 

 

 

 

Au programme des futures améliorations:

 

 

  • amélioration de la qualité (meilleur ajustement des filtres, meilleur presets, compresseurs),
  • support d'une entrée audio,
  • support de n'importe quel source audio du navigateur via une extension,
  • support des presets,
  • fixer quelques bugs (vu-mètres…).

 

 

 

Je suis ouvert à vos commentaires, remarques, suggestions.

 

 

Pascal.
 
 
(Info: Il est possible qu'il ne marche plus, je ne l'ai pas mis a jour depuis!)

 

Modifié par Pascal

Partager ce message


Lien à poster
Partager sur d’autres sites

Ouah ! 

Belle idée et belle initiative. 

 

Je confirme que le son n'est pas encore au top mais c'est un très bon projet qui a de l'avenir

Partager ce message


Lien à poster
Partager sur d’autres sites

J'adore ! Nickel sous chrome sur Mac, en revanche sur Safari le son fonctionne mais pas le process.

Good job !

Partager ce message


Lien à poster
Partager sur d’autres sites

Mise à jour pour Firefox. Cela devrait fonctionner après avoir choisi un titre dans la liste. Je vais voir pour les autres navigateurs. (Attendez un peu le temps que le titre charge)

 

A savoir, Web Audio API pour l'HTML5 est tout aussi expérimental, le W3C n'a toujours pas arrêté le standard. C'est pourquoi c'est assez compliqué de le faire fonctionner cross-browser du premier coup. Le traitement peut aussi sonner différemment selon votre navigateur (Chrome sonne mieux pour le moment imo). Cela dépend de comment le navigateur intègre le standard sachant que rien n'est fixé.

 

Pour faire court, tant que le standard Web Audio API n'est pas totalement fixé par le W3C, ce sera toujours expérimental. Après, je pense que ça va être sympa une fois finalisé (surtout depuis que Youtube a abandonné leur player Flash pour de l'HTML5).

Modifié par Pascal

Partager ce message


Lien à poster
Partager sur d’autres sites

Très prometteur, bon courage à toi !

Sous Opéra ça marche.

Partager ce message


Lien à poster
Partager sur d’autres sites

Nouvelle version! Même adresse. http://www.mkpascal.net/process/

 

Vous pouvez désormais uploader votre propre fichier. Le format doit être MP3 pour le moment. Le fichier sera juste lisible par vous pour la session en cours et ne sera partagé avec personne d'autre.

 

Vous pouvez également utiliser votre propre serveur si vous voulez écouter le rendu sur votre radio. Bien entendu si vous avez déjà votre processing, ça rajoutera une autre couche. L'URL ne sera partagé avec personne d'autre comme pour l'envoi de fichier. Encore une fois, le format supporté est le MP3.

 

Je recommande de tester sur Chrome. J'ai remarqué que la compression est bien plus aggressive sur Firefox.

Partager ce message


Lien à poster
Partager sur d’autres sites

Maintenant j'ai du son, donc c'est mieux ! (sur firefox 35.0.1)

Par contre:

- je n'ai pas eu l'impression que les réglages d'attack / release agissent !

- il serait utile de prévoir un réglage de mix des bandes avant d'envoyer le signal dans le limit final.

- Visualiser l'activité de ce limit final pourrait également être utile.

(en attendant de perfectionner les algos de traitement)

Partager ce message


Lien à poster
Partager sur d’autres sites

D'ailleurs je comprend pas commet ça se fait que pour le même traitement de son le rendu change d'un navigateur à l'autre?

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour les commentaires.

 

Je vais voir pour Firefox. Je développe principalement avec Chrome et il me semble que l'attack/release agissent bien. Je vais aussi rajouter un mix des bandes avant le limiteur final ainsi que son vu-mètre associé (une fois que j'ai réglé correctement les autres vu-mètres.) Je compte également laisser le choix de l'ajustement des bandes (crossover.)

 

Le rendu change d'un navigateur à l'autre pour une raison simple. Il y a des standards pour Web Audio API mais c'est au développeur d'implémenter ces méthodes. Par exemple, vous pouvez voir une partie du code source pour WebKit (utilisé par Safari et en partie par Chrome) pour le compresseur ici pour les curieux. Si vous avez le code source d'un processeur Omnia (très peu probable), rien ne vous empêcher de compiler votre propre navigateur avec leur code source.

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Excellent je teste !

Partager ce message


Lien à poster
Partager sur d’autres sites

Tiens marrant ça, je ne connaissais pas du tout ce truc, et début 2016, j'avais codé un truc similaire à retrouver ici : http://jssp.c-mh.fr/

 

Note : l'outil de démo est capricieux quand il s'agit d'écouter ce que ça peut donner et ça fait un moment que je n'ai pas mis les mains dedans, donc testez directement en codant vous-même le truc. Vous pouvez toutefois vous en servir pour générer votre conf.

Modifié par christophermh44

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant


×