Language programmation musique
- 30 réponses
- 10 participants
- 2 465 vues
- 13 followers
over
359
Posteur·euse AFfamé·e
Membre depuis 22 ans
Sujet de la discussion Posté le 30/04/2006 à 03:49:55Language programmation musique
Hello,
Autant le dire tout de suite, je ne connais que le html et mes expériences en lisp s'arrêtent à la leçon "hello world".
Mais je suis intéressé par les modèles mathématiques musicaux.
Certaines connaissances/amis utilisent le language Lisp, facile a formater selon eux. Est-ce vrai? Y a-t-il d'autres languages adéquats?
Avec le temps (si je m'en sors)je serai certainement intéressé d'insérer un module prenant en charge la gestion du midi, il faudrait donc prendre ça en compte.
La première question est donc: quel language conseilleriez-vous pour mes premiers pas en programmation
Ma seconde question est: que conseillez-vous comme lecture (un maximum online si-possible) pour son apprentissage.
Merci
Oli
Autant le dire tout de suite, je ne connais que le html et mes expériences en lisp s'arrêtent à la leçon "hello world".
Mais je suis intéressé par les modèles mathématiques musicaux.
Certaines connaissances/amis utilisent le language Lisp, facile a formater selon eux. Est-ce vrai? Y a-t-il d'autres languages adéquats?
Avec le temps (si je m'en sors)je serai certainement intéressé d'insérer un module prenant en charge la gestion du midi, il faudrait donc prendre ça en compte.
La première question est donc: quel language conseilleriez-vous pour mes premiers pas en programmation
Ma seconde question est: que conseillez-vous comme lecture (un maximum online si-possible) pour son apprentissage.
Merci
Oli
- 1
- 2
raoulish
241
Posteur·euse AFfiné·e
Membre depuis 20 ans
26 Posté le 07/12/2006 à 10:21:52
Salut!
Bon moi j'y connais rien... à part en langage C !
Est-ce que c'est possible de coder un plugin VST en C ?
Est-ce que le résultat compilé est une de ces fameuses DLL si pratiques qu'on copie dans le repertoire VST de notre séquenceur préféré ?
Comment on s'y prend pour le code ?
Dans le logiciel Dev-C++ , il y a un modèle de code DLL auquel je ne comprend rien, puisque je ne sais pas du tout comment fonctionnent Windows, l'audio dans Windows, un séquenceur... Il est bien ce modèle ?
il faut s'en servir ? (bien sûr je demande ça aux gens qui connaissent Dev-C++)
Bon ça fait peut-être beaucoup de questions d'un coup mais... j'en ai besoin !
Merci les mecs ! (à moins qu'il y'ait des filles ici... je n'y crois pas trop
)
Bon moi j'y connais rien... à part en langage C !
Est-ce que c'est possible de coder un plugin VST en C ?
Est-ce que le résultat compilé est une de ces fameuses DLL si pratiques qu'on copie dans le repertoire VST de notre séquenceur préféré ?Comment on s'y prend pour le code ?
Dans le logiciel Dev-C++ , il y a un modèle de code DLL auquel je ne comprend rien, puisque je ne sais pas du tout comment fonctionnent Windows, l'audio dans Windows, un séquenceur... Il est bien ce modèle ?
il faut s'en servir ? (bien sûr je demande ça aux gens qui connaissent Dev-C++)
Bon ça fait peut-être beaucoup de questions d'un coup mais... j'en ai besoin !
Merci les mecs ! (à moins qu'il y'ait des filles ici... je n'y crois pas trop
)0
Anonyme
521397
27 Posté le 07/12/2006 à 10:28:35
Machiste...... 
0
Anonyme
521397
28 Posté le 07/12/2006 à 10:29:04
Mais là, je peux pas t'aider!!!
0
Rémy M. (chimimic)
14270
Modérateur·trice thématique
Membre depuis 23 ans
29 Posté le 08/12/2006 à 08:42:55
Oui, tu peux coder un plugin VST avec un environnement de développement en C, tout comme tu peux le faire avec un environnement de développement de type Delphi (Pascal objet). Il "suffit" de disposer d'un outil qui te permette de compiler une DLL, et de suivre les indications fournies par Steinberg dans leur kit de développement (SDK), que je te conseille de télécharger (il faut leur demander gentillement si mes souvenirs sont bons) car il y a quelques exemples qui t'aideront à comprendre plus vite ce qu'il faut faire.
Un plugin VST n'est ni plus ni moins qu'une DLL qui exporte (qui met à disposition d'autres programmes exécutables) un ensemble de routines (fonctions et procédures). Une DLL VST doit exporter un certains nombre de routines dont le nom est parfaitement défini, histoire que le logiciel hôte (Cubase par exemple) puisse savoir à quel type de DLL il a affaire.
A coté de tout cela, la création d'une DLL n'est pas si complexe que cela, mais demande à bien comprendre le mécanisme. Une DLL peut être utilisée de deux façons : soit de façon "systématique", c'est à dire que sa présence est obligatoire pour que le logiciel hôte puisse démarrer, soit de façon "dynamique", et là le logiciel est capable de démarrer sans elle, et de la "charger" quand il en a besoin. La seconde solution est bien évidement celle qu'il faut privilégier pour assurer une plus grande indépendance du logiciel hôte par rapport aux fichiers "annexes", mais demande plus de travail de codage.
Je te conseille de commencer avec le codage d'une DLL simple qui ne fait qu'afficher une boite de dialogue style "Hello World" quand son logiciel hôte lui demande. Ensuite tu pourras sans doute attaquer plus sereinement le codage d'une DLL VST.
https://www.u-he.com/vstsource/newbie.php?id=1
http://ygrabit.steinberg.de/
https://www.kvraudio.com/news/1026.html
https://www.kvraudio.com/get/502.html
Pour ma part, j'ai commencé sous Delphi avec ce lien :
https://www.tobybear.de/
Bon courage !
Un plugin VST n'est ni plus ni moins qu'une DLL qui exporte (qui met à disposition d'autres programmes exécutables) un ensemble de routines (fonctions et procédures). Une DLL VST doit exporter un certains nombre de routines dont le nom est parfaitement défini, histoire que le logiciel hôte (Cubase par exemple) puisse savoir à quel type de DLL il a affaire.
A coté de tout cela, la création d'une DLL n'est pas si complexe que cela, mais demande à bien comprendre le mécanisme. Une DLL peut être utilisée de deux façons : soit de façon "systématique", c'est à dire que sa présence est obligatoire pour que le logiciel hôte puisse démarrer, soit de façon "dynamique", et là le logiciel est capable de démarrer sans elle, et de la "charger" quand il en a besoin. La seconde solution est bien évidement celle qu'il faut privilégier pour assurer une plus grande indépendance du logiciel hôte par rapport aux fichiers "annexes", mais demande plus de travail de codage.
Je te conseille de commencer avec le codage d'une DLL simple qui ne fait qu'afficher une boite de dialogue style "Hello World" quand son logiciel hôte lui demande. Ensuite tu pourras sans doute attaquer plus sereinement le codage d'une DLL VST.
https://www.u-he.com/vstsource/newbie.php?id=1
http://ygrabit.steinberg.de/
https://www.kvraudio.com/news/1026.html
https://www.kvraudio.com/get/502.html
Pour ma part, j'ai commencé sous Delphi avec ce lien :
https://www.tobybear.de/
Bon courage !
0
Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com
raoulish
241
Posteur·euse AFfiné·e
Membre depuis 20 ans
30 Posté le 08/12/2006 à 16:34:09
Un grand merci ! 
0
Pov Gabou
19553
Drogué·e à l’AFéine
Membre depuis 23 ans
31 Posté le 18/12/2006 à 06:23:36
Citation :
Mais je suis intéressé par les modèles mathématiques musicaux.
Certaines connaissances/amis utilisent le language Lisp, facile a formater selon eux. Est-ce vrai? Y a-t-il d'autres languages adéquats?
Le lisp est en effet un langage de choix pour certaines taches musicales, entre autre du cote de la composition automatique.
Le LISP est tout sauf antediluvien: lorsque le LISP est apparu, il y avait aucun langage structure (le plus evolue etait le Fortran, le C allait encore attendre plus de 10 ans pour apparaitre); LISP est le premier langage a utiliser les conditionnelles (if et cie). C'est egalement le premier langage a avoir un garbage collector pour la gestion automatique de memoire.
Et surtout, parce que le LISP a une syntaxe simple (en fait, on peut dire qu'il n'y a pas de syntaxe), les programmes LISP sont extremement faciles a parser. Donc c'est un langage tres adapte pour ecrire des programmes qui generent du code.
Maintenant, ca depend de ce que tu veux faire: un plug in VST, ca se fera pas en LISP, evidemment, c'est pas le but. Si par contre tu es interesse par la composition automatique, clairement, c'est beaucoup plus adapte que le C/C++
Pour les autres langages pour la musique, il y en a des tonnes:
- csound, qui voit son origine dans la serie des Music de John Pierce de Max Matthews, qui date quand meme des annees 50... C'est peut etre le plus connu
- pure data/max... sont plus vraiment des langages, mais peut etre plus des environnements 'objets', une sorte de smalltalk pour la musique
- supercollider, un langage pour la synthese "SuperCollider is an environment and programming language for real time audio synthesis. You can write programs to generate or process sound in real time or non real time. SuperCollider can be controlled by MIDI, the mouse, Wacom graphics tablet, and over a network via Open Sound Control."
Il y a aussi, plus recemment
- chuck: "what is it? : ChucK is a new (and developing) audio programming language for real-time synthesis, composition, and performance - fully supported on MacOS X, Windows, and Linux. ChucK presents a new time-based, concurrent programming model that's highly precise and expressive (we call this strongly-timed), as well as dynamic control rates, and the ability to add and modify code on-the-fly. In addition, ChucK supports MIDI, OSC, HID device, and multi-channel audio. Furthermore, the language is designed to favor readability and flexibility over raw performance. It's fun and easy to learn, and offers composers, researchers, and performers a powerful programming tool for building and experimenting with complex audio synthesis programs, and real-time interactive control."
- Faust: "FAUST is intended for developers who need to develop efficient C/C++ audio plugins for existing systems or full standalone audio applications. Thanks to some specific compilation techniques and powerful optimizations, the C++ code generated by the Faust compiler is usually very fast. It can generally compete with (and sometimes outperform) hand-written C code."
http://faust.grame.fr/
http://www.audiosynth.com/
http://chuck.cs.princeton.edu/
Citation :
Est-ce que c'est possible de coder un plugin VST en C ?
En fait, VST est un wrapper C++ autour d'une API en C. Donc oui, bien sur, on peut le faire en C.
Ensuite, chimimic a bien resume pour les DLL sous windows; ceci dit, c'est specifique a windows. Sous mac os X, ca marche differemment, et sous unix aussi (ou c'est nettement plus simple; j'imagine que la complexite des DLL sous windows est un artefact pour la compatibilite). Je ne peux que plussoyer pour faire d'abord un hello world bidon avant d'aller plus loin.
Dependant de tes connaissances en programmation, programmer un minihote VST est aussi interessant pour comprendre les bases.
1
- < Liste des sujets
- Charte
- 1
- 2

