Je démarre actuellement un projet perso de création d'un application Web de Musique assistée par Ordinateur.
L'application a les principales fonctions suivantes:
- Sequenceur de pistes audio + midi / Sequenceur de piste de batterie,
- bibliothèque d'instruments, de sons, de synthétiseurs et d'effets
- arangeur / éditeur de partition à faire jouer par un des instruments contenus par l'application
- Import de fichiers audio / Enregistrement en live de fichiers audios
- automation des paramètres de effets / synthé.
Je me pose actuellement la question du langage optimal à choisir pour coder les fonctions de l'appli. Je pensais me lancer sur un code en Python. Je voulais avoir l'avis de quelques Zeros éclairés sur le sujet: A votre avis, quel langage utiliser?
Je me demande si python ne sera pas trop haut niveau pour de la MAO où l'optimisation logicielle joue une part énorme sur le lag (si gênant parfois qu'il est impossible de faire quoi que ce soit).
Je pense au contraire que pour un projet de cet ampleur il faut viser sur du plus bas niveau comme du C/C++.
Sur Ableton live lorsque j'assigne 10 effets sur une macro meme avec un i7 a 2,7ghz des fois ça lag , Et puis puis pour le live il faut il maximum de réactivité de la part du logiciel , donc un logiciel proche de la machine serait l'idéal
Sur Ableton live lorsque j'assigne 10 effets sur une macro meme avec un i7 a 2,7ghz des fois ça lag , Et puis puis pour le live il faut il maximum de réactivité de la part du logiciel , donc un logiciel proche de la machine serait l'idéal
- Edité par Adsair il y a environ 5 heures
Que veux tu dire par là?
Je travaille parfois sur audiotool, qui est une appliweb de MAO simple, je n'ai pas de problème de lag.
Je me demande si python ne sera pas trop haut niveau pour de la MAO où l'optimisation logicielle joue une part énorme sur le lag (si gênant parfois qu'il est impossible de faire quoi que ce soit).
Je pense au contraire que pour un projet de cet ampleur il faut viser sur du plus bas niveau comme du C/C++.
Je pensais qu'avec les processeurs actuels, les performances des langages de haut niveau étaient relativement proches des langages de bas niveau de nos jours. Sans compter que je pense que le code produit pas un nom professionnel comme moi pourrait être sûrement plus efficace que si j'utilise un langage de bas niveau, qui sera plus difficile à appréhender pour moi.
Je sais que ableton live est codé en C++, mais toutes les applications périphériques qui sont entrain de naitre autour de live sont souvent faites en Python.
Tu pense qu'il n'y a pas moyen de corriger le lag via un code approprié (type mise en place de buffers, ou autres).
Perso je pense que ça dépend si tu veux plutôt une appli avec beaucoup d'effets, du live et beaucoup de pistes il vaut mieux avoir du bas niveau comme du c/c++ par contre pour faire un peu de synthé, des loops, et deux trois effets le javascript peut être un bon choix vu sa portabilité.
Perso je pense que ça dépend si tu veux plutôt une appli avec beaucoup d'effets, du live et beaucoup de pistes il vaut mieux avoir du bas niveau comme du c/c++ par contre pour faire un peu de synthé, des loops, et deux trois effets le javascript peut être un bon choix vu sa portabilité.
Par Live, j'entend déclenchement de boucles et sample en temps réel (un peu comme dans ableton).
Sinon, je veux pas forcément beaucoup d'effets, juste la base (compresseur/side chain, reverb, filtre, LFO, chorus). En revanche, je veux un bon sequenceur, et un bon import de fichier audio/enregistrement audio.
tu penses que javascript est assez puissant pour ca? Je pensais que python était plus adapté, et me permettrais de faire un design plus sympa ensuite. Je me trompe?
Sinon, d'apres ce que vous me dites tous, je pense partir sur du C++. Mais je vais pas avoir des pb de portabilité (c'est en particulier pour ca que je pensais à Python)
Python est peut-être le plus adapté des langages que tu connais même si je connais pas la MAO. Faut voir s'il y a des bibliothèques utiles pour ça en Python.
Je pensais qu'avec les processeurs actuels, les performances des langages de haut niveau étaient relativement proches des langages de bas niveau de nos jours. Sans compter que je pense que le code produit pas un nom professionnel comme moi pourrait être sûrement plus efficace que si j'utilise un langage de bas niveau, qui sera plus difficile à appréhender pour moi.
Faux et faux !
Les langages haut niveau ne seront pas plus proches des bas niveau grâce aux processeurs qu'une merguez et un gâteau au framboises grâce à un routier !
Coder sans être professionnel c'est aussi faire des fautes d'optimisation et donc non ce sera même certainement moins bon !
Python est peut-être le plus adapté des langages que tu connais même si je connais pas la MAO. Faut voir s'il y a des bibliothèques utiles pour ça en Python.
Holosmos a écrit:
jeando75 a écrit:
Je pensais qu'avec les processeurs actuels, les performances des langages de haut niveau étaient relativement proches des langages de bas niveau de nos jours. Sans compter que je pense que le code produit pas un nom professionnel comme moi pourrait être sûrement plus efficace que si j'utilise un langage de bas niveau, qui sera plus difficile à appréhender pour moi.
Faux et faux !
Les langages haut niveau ne seront pas plus proches des bas niveau grâce aux processeurs qu'une merguez et un gâteau au framboises grâce à un routier !
Coder sans être professionnel c'est aussi faire des fautes d'optimisation et donc non ce sera même certainement moins bon !
Je m'appel jonathan et j'ai un projet très similaire au tient.
J'ai à l'origine une formation d'ingénieur du son et depuis quinze ans je suis passionné de MaO
Mon souhait de développer mes propre solution date un peux et comme toi je me suis fait un peux rejeté aux début de mes recherche par les "vrais" développeur Tu l'as constaté, le monde des DSP est un milieu très élitiste en grande parti peuplé d'ingénieur un peu dur avec les débutant et les auto-didacte
Du coup j'ai débuté une formation de développeur à SimplonVE pour me rentrer dans le métier et c'est avec joie que je partage avec toi quelque tuyaux que j'ai finit par obtenir dans cette quette..
Sache que le c++ n'est pas le seul langage adapté à la cration d'un DAW, par exemple Fruity Loop est développé en Delphi qui est un langage déjà beaucoup moins agressif pour les débutants et qui peux utiliser des lib c++ (puisqu'il est lui même juste une abstraction de ce dernier) , et il existe aussi des hôte VST en Ruby..
Quand aux c++, sache que tu n'as pas besoin de rentrer trop profondément dans les mathématique de haut niveaux et les DSP car il existe des frimework orienté dans les solution audio (juce, wd-ol...).
Sache qu'il y aussi des qui peuvent faciliter ton travail en concevant graphiquement toute une partie des process de ton projet (ex: RAD Studio).
Je te souhaite un bon chemin dans le monde fascinant du développement,
(moi ça a été un vrais coup de cœur et maintenant c'est ma nouvelle passion).
Enfin c'est pas la dyslexie qui m’empêche de bosser, tant que mes diagrammes sont bon..
- Edité par jmmk07 5 novembre 2017 à 15:04:03
Quel Langage pour une application de MAO?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Blond, bouclé, toujours le sourire aux lèvres...
Blond, bouclé, toujours le sourire aux lèvres...