Partage

Quel Langage pour une application de MAO?

14 mai 2014 à 17:18:07

Bonjour à tous les Zeros.

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?

Merci 1000 fois par avance.

Jeando75

14 mai 2014 à 17:55:53

Perso je fait un peu de MAO de temps en temps...Donc je ne suis pas un grand connaisseur.

Mais si jamais il semble possible d'accéder à ALSA via python (http://pyalsaaudio.sourceforge.net/pyalsaaudio.html)

et sur Mac OS (https://pypi.python.org/pypi/simplecoremidi)

ou même pour tous les os ! (https://pypi.python.org/pypi/python-rtmidi)

Espérant que j’aie été utile.

Et bonne chance pour ton projet qui semble bien joli !

Tiens nous informé.

14 mai 2014 à 18:23:38

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++.

14 mai 2014 à 19:39:20

Dommage que ce soit pas une appli de LMAO, t'aurais pu choisir le LOLCODE.

A part ça tu connais quoi comme langage déjà ?

-
Edité par LoupSolitaire 14 mai 2014 à 19:40:31

Blond, bouclé, toujours le sourire aux lèvres...
15 mai 2014 à 11:38:28

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 OncleBobby 15 mai 2014 à 11:49:13

15 mai 2014 à 17:15:58

LoupSolitaire a écrit:

Dommage que ce soit pas une appli de LMAO, t'aurais pu choisir le LOLCODE.

A part ça tu connais quoi comme langage déjà ?

-
Edité par LoupSolitaire il y a environ 21 heures


Je connais HTML/PHP/CSS, javascript et Python sommairement. C'est pour cela que je voulais savoir si Python pouvais le faire.
15 mai 2014 à 17:18:05

Adsair a écrit:

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 pense qu'ils ont codé leur appli en Flash. 

15 mai 2014 à 17:25:10

Holosmos a écrit:

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).

15 mai 2014 à 17:30:13

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é.
15 mai 2014 à 17:43:04

koko-groupe a écrit:

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)

15 mai 2014 à 21:14:03

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.

Blond, bouclé, toujours le sourire aux lèvres...
15 mai 2014 à 21:21:17

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 !

-
Edité par Holosmos 15 mai 2014 à 21:21:32

15 mai 2014 à 23:53:07

LoupSolitaire a écrit:

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 !

-
Edité par Holosmos il y a environ 1 heure


Ok, message capté.

Je me redirige vers un C++ dans ce cas.


21 septembre 2017 à 17:52:23

Bonjour jeando75,

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).

22 septembre 2017 à 22:07:24

jmmk07 a écrit:

des frimework


Ce sont des frameworks qui se la pètent ? :soleil:
5 novembre 2017 à 14:59:28


Le Cobriste 128 a écrit:

jmmk07 a écrit:

des frimework


Ce sont des frameworks qui se la pètent ? :soleil:


Oui, désolé pour la faute de frappe...

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é.
  • Editeur
  • Markdown