JSFX et ReaJS - Discutons-en!
- 19 réponses
- 9 participants
- 3 291 vues
- 16 followers
Anonyme
8413
Sujet de la discussion Posté le 26/02/2017 à 22:01:55JSFX et ReaJS - Discutons-en!
A la demande de WZ, j'ouvre un thread sur le JSFX.
Le JSFX est un format de plug-in spécifique à REAPER qui possède son propre langage.
Via le plug ReaJS, il est possible d'utiliser ce format au sein d'autres STAN
les bases : https://www.reaper.fm/sdk/js/basiccode.php#js_basic
ReaJS : https://www.cockos.com/reaper/reaplugs/
N'hésitez pas à poster vos JS préférés avec les liens de téléchargement si possible!
Si des spécialistes de la programmation dans ce format passent par ici, n'hésitez pas à vous lacher!
Le JSFX est un format de plug-in spécifique à REAPER qui possède son propre langage.
Via le plug ReaJS, il est possible d'utiliser ce format au sein d'autres STAN
les bases : https://www.reaper.fm/sdk/js/basiccode.php#js_basic
ReaJS : https://www.cockos.com/reaper/reaplugs/
N'hésitez pas à poster vos JS préférés avec les liens de téléchargement si possible!
Si des spécialistes de la programmation dans ce format passent par ici, n'hésitez pas à vous lacher!
- 1
- 2
X-Raym
98
Posteur·euse AFfranchi·e
Membre depuis 17 ans
3 Posté le 27/02/2017 à 04:03:08
En résumé, JSFX c'est un moyen d'écrire de coder (programmer) des effets pour moduler le son ou le MIDI, beaucoup plus simplement que si il fallait créer un VST pour cela, que ce soit à la fois au niveau du traitement du signal que de l'interface. Cependant, ils ne peuvent pas répondre à toutes les situations : dans certains cas, le VST restera un meilleur choix pour développer un plugin.
Parmis les JSFX les plus avancés, on a le kit de son 3D ambisonics
The Ambisonic Toolkit, (il y avait même eu une conférence à l'IRCAM pour présenter le concept, et pourquoi JSFX et pas autre chose => Ambisonic Toolkit for Reaper - Ressources), mais souvent, des petits JS très simples peuvent rendre de grands services (comme les fonctions de splitter par fréquence, de filtrage du MIDI, de randomization etc).
REAPER est livré avec plus de 250 JSFX, dont le Sampler Super 8, et de nombreux utilisateurs développent et partagent les leurs gratuitement, comme l'arpégiateur arp0!.
Parmis les JSFX les plus avancés, on a le kit de son 3D ambisonics
The Ambisonic Toolkit, (il y avait même eu une conférence à l'IRCAM pour présenter le concept, et pourquoi JSFX et pas autre chose => Ambisonic Toolkit for Reaper - Ressources), mais souvent, des petits JS très simples peuvent rendre de grands services (comme les fonctions de splitter par fréquence, de filtrage du MIDI, de randomization etc).
REAPER est livré avec plus de 250 JSFX, dont le Sampler Super 8, et de nombreux utilisateurs développent et partagent les leurs gratuitement, comme l'arpégiateur arp0!.
Wolfen
13914
Rédacteur·trice
Membre depuis 22 ans
4 Posté le 27/02/2017 à 10:52:10
Je suis un grand fan du Bass Professor MK2 et des plug-ins + interfaces graphiques en JSFX de Sonic Anomaly : http://sonic.supermaailma.net/plugins
De manière générale, je trouve qu'il y a quelques pépites en JSFX, et aussi beaucoup de bordel mais c'est vraiment cool de pouvoir coder un effet ou un instrument aussi simplement dans Reaper ou avec ReaJS, c'est intéressant à la fois pour les débutants ou pour des développeurs + avancés qui veulent prototyper un truc vite fait, ou avoir accès à une fonctionnalité simplement.
J'aime bien aussi personnellement regarder comment certains JSFX sont fichus, ça permet aussi d'apprendre des choses en DSP. Après, j'avoue que j'ai quand même pas mal d'outils de prototypage personnellement, et que je ne suis pas super méga fan du langage utilisé dans les JSFXs, du coup j'en ai jamais codé un moi-même. Mais je le ferai peut-être à un moment donné histoire de partager avec les utilisateurs de Reaper du code que j'ai déjà mis en open source pour JUCE.
De manière générale, je trouve qu'il y a quelques pépites en JSFX, et aussi beaucoup de bordel mais c'est vraiment cool de pouvoir coder un effet ou un instrument aussi simplement dans Reaper ou avec ReaJS, c'est intéressant à la fois pour les débutants ou pour des développeurs + avancés qui veulent prototyper un truc vite fait, ou avoir accès à une fonctionnalité simplement.
J'aime bien aussi personnellement regarder comment certains JSFX sont fichus, ça permet aussi d'apprendre des choses en DSP. Après, j'avoue que j'ai quand même pas mal d'outils de prototypage personnellement, et que je ne suis pas super méga fan du langage utilisé dans les JSFXs, du coup j'en ai jamais codé un moi-même. Mais je le ferai peut-être à un moment donné histoire de partager avec les utilisateurs de Reaper du code que j'ai déjà mis en open source pour JUCE.
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud
SmashedTransistors
25
Nouvel·le AFfilié·e
Membre depuis 8 ans
5 Posté le 05/03/2017 à 18:36:24
J'ai pas mal codé de petits JSFX, y compris des synthés polyphoniques. SmashedTransistors JSFX plugins.
Le langage a une certaine maturité. Il est stable et permet un codage bien structuré (pas objet au sens strict, mais le langage supporte les "namespaces").
La programmation sous JSFX est de bas niveau.
On a pas de modules comme dans un "synth maker" ou "pure data".
On est au même niveau que les VST: on traite et on génère tout au niveau code.
L'avantage par rapport aux VST est que le compilo est intégré à Reaper et qu'on a pas besoin de passer des heures sur une interface graphique. On a un système de sliders qui permet de répondre aux besoins élémentaires.
Ces derniers temps, j'ai un peu laché JSFX au profit de l'Axoloti qui combine programmation de bas niveau et modules. Ce serait chouette que JSFX évolue dans ce sens.
Le langage a une certaine maturité. Il est stable et permet un codage bien structuré (pas objet au sens strict, mais le langage supporte les "namespaces").
La programmation sous JSFX est de bas niveau.
On a pas de modules comme dans un "synth maker" ou "pure data".
On est au même niveau que les VST: on traite et on génère tout au niveau code.
L'avantage par rapport aux VST est que le compilo est intégré à Reaper et qu'on a pas besoin de passer des heures sur une interface graphique. On a un système de sliders qui permet de répondre aux besoins élémentaires.
Ces derniers temps, j'ai un peu laché JSFX au profit de l'Axoloti qui combine programmation de bas niveau et modules. Ce serait chouette que JSFX évolue dans ce sens.
[ Dernière édition du message le 05/03/2017 à 18:37:40 ]
X-Raym
98
Posteur·euse AFfranchi·e
Membre depuis 17 ans
6 Posté le 13/03/2017 à 03:11:42
@SmashedTransistors
Cool d'avoir pour ton expertise sur le sujet ! J'ai vu que tu avais partagé beaucoup de tes réalisations sur le forum et sur le repo JSFX de Reateam :P Merci !
---
Un autre pro en JSFX: geraintluff.
Regardez son set de plugin ici (basé une bibliothèque graphique de son cru) :
A small set of JSFX (ReaPack) - Cockos Confederated Forums
Cool d'avoir pour ton expertise sur le sujet ! J'ai vu que tu avais partagé beaucoup de tes réalisations sur le forum et sur le repo JSFX de Reateam :P Merci !
---
Un autre pro en JSFX: geraintluff.
Regardez son set de plugin ici (basé une bibliothèque graphique de son cru) :
A small set of JSFX (ReaPack) - Cockos Confederated Forums
sched
363
Posteur·euse AFfamé·e
Membre depuis 21 ans
7 Posté le 13/03/2017 à 11:33:09
Citation :
+1 ! Un autre pro en JSFX: geraintluff
Il y a des trucs vrmt sympas et au moins il y a un travail graphic pour les interfaces pcq qd ce n'est pas retravaillé c'est franchement ( pardonnez moi) à chier visuellement parlant.
Sinon c'est chouette d'avoir ouvert ce post pcq je ne connaissais vrmt pas ce domaine dans reaper.
X-Raym
98
Posteur·euse AFfranchi·e
Membre depuis 17 ans
8 Posté le 13/03/2017 à 13:05:38
A noter que l'aspect des sliders par défaut et les vu-mètres sont influencés par le thème :P
D'un point de vue du dev, créer un slider JSFX sans GUI, ça tient en une ligne. Si on doit gérer le design là... on passe rapidement à 150, ce qui est un brin plus complexe ^^
geraintluff a partagé sa librairie en open source, mais là encore cela demande un certain apprentissage.
La plus part des JSFX ne sont que des utilitaires très simples mais très pratiques, donc à la rigueur c'est pas trop grave si l'UI est très générique, comme les Band Spliter et Joiner qui permettent de diviser le son d'une piste en fonction de certaines plages de fréquences afin de leur apporter des traitements sonores différents.
JS Band Splitter FX – The REAPER Blog
--
Un autre truc cool avec les JSFX et leur possibilités de "sortir certaines valeurs", ce qui permet d'avoir accès à des valeurs calculées par le plugin (et non pas définie par l'utilisateur), et de définir des modulations de paramètres en fonction de celles-ci.
Par exemple, kawa a modé le Gonionmeter (merci à lui d'avoir accepté mes feature requests :P) pour qu'il indique la distribution stéréo du son sur la stéréo, et, cette valeur étant accessible en sortie, on peut moduler d'autres effets en fonction.
Ci dessous, ce qui module l'equaliseur c'est la valeur de distribution stéréo calculée par le JSFX en fonction du son de la piste.
Ces valeurs calculées peuvent aussi être exportées en données d'automation (points d’enveloppe), ce qui permet d'avoir une vue d'ensemble du paramètre calculé sur l'ensemble du projet.
--
D'autres JSFX par kawa:
three XY Slider jsFx ."Bit Crusher","Chorus","Flanger","Delay" - Cockos Confederated Forums
D'un point de vue du dev, créer un slider JSFX sans GUI, ça tient en une ligne. Si on doit gérer le design là... on passe rapidement à 150, ce qui est un brin plus complexe ^^
geraintluff a partagé sa librairie en open source, mais là encore cela demande un certain apprentissage.
La plus part des JSFX ne sont que des utilitaires très simples mais très pratiques, donc à la rigueur c'est pas trop grave si l'UI est très générique, comme les Band Spliter et Joiner qui permettent de diviser le son d'une piste en fonction de certaines plages de fréquences afin de leur apporter des traitements sonores différents.
JS Band Splitter FX – The REAPER Blog
--
Un autre truc cool avec les JSFX et leur possibilités de "sortir certaines valeurs", ce qui permet d'avoir accès à des valeurs calculées par le plugin (et non pas définie par l'utilisateur), et de définir des modulations de paramètres en fonction de celles-ci.
Par exemple, kawa a modé le Gonionmeter (merci à lui d'avoir accepté mes feature requests :P) pour qu'il indique la distribution stéréo du son sur la stéréo, et, cette valeur étant accessible en sortie, on peut moduler d'autres effets en fonction.
Ci dessous, ce qui module l'equaliseur c'est la valeur de distribution stéréo calculée par le JSFX en fonction du son de la piste.
Ces valeurs calculées peuvent aussi être exportées en données d'automation (points d’enveloppe), ce qui permet d'avoir une vue d'ensemble du paramètre calculé sur l'ensemble du projet.
--
D'autres JSFX par kawa:
three XY Slider jsFx ."Bit Crusher","Chorus","Flanger","Delay" - Cockos Confederated Forums
[ Dernière édition du message le 13/03/2017 à 13:28:12 ]
sched
363
Posteur·euse AFfamé·e
Membre depuis 21 ans
9 Posté le 13/03/2017 à 13:15:10
C'est vrai qu'il faut pas mal de code en plus pour le design ...
Vai jeter un oeil aux liens que tu as mis, j'ai juste peur que après ça ne devienne adictif tout ça nan?
Vai jeter un oeil aux liens que tu as mis, j'ai juste peur que après ça ne devienne adictif tout ça nan?
obe
408
Posteur·euse AFfamé·e
Membre depuis 20 ans
10 Posté le 13/03/2017 à 13:20:29
Une autre ressource interessante pour le developpement en JSFX : la librairie CookDSP.
Le code est très clair, bien documenté et facilement réutilisable.
Le code est très clair, bien documenté et facilement réutilisable.
- < Liste des sujets
- Charte
- 1
- 2