Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN

Concevoir un programme parfait.

  • 32 réponses
  • 9 participants
  • 4 036 vues
  • 10 followers
Sujet de la discussion Concevoir un programme parfait.
Bonjour et bienvenue,

Je débute en musique, je lis Wikipedia pour le moment, en même temps, j'écris un compositeur virtuel pour instrument midi, de temps à autre je compose ou expérimente pour un ordinateur et un synthétiseur numérique et j'acte en temps réel.

De fil en aiguille, je suis arrivé ici pour présenter mon projet, vous inviter à participer à ce projet, ne serait- ce qu'en contribuant à ce sujet, et pour vous poser une question : quels sont ou quel est le/les facteur(s) prédominant(s) de la composition / orchestration d'une œuvre musicale ? S'il vous plaît ?

Merci pour votre réponses.

2
;)houlà , il y a en aurait pour des années. Mais il y a des bouquins bien faits notament celui là, mais je ne sais pas s'il est toujours disponible.
https://pmcdn.priceminister.com/photo/Boell-Eric-Analyser-Construire-Developper-Une-Composition-Livre-549965544_ML.jpg
apres tu peux composer des morceaux simples à l'oreille, avec ou sans clavier arrangeur .
car apres tout ce qu'il reste dans la mémoire au fil des ans et qui fait le génie du morceau ,c'est un bout de mélodie.
3
J'ai tout mon temps.

Merci pour ta contribution.
4
Ceci est un post subjectif ne se basant sur aucune réalité scientifique objective

D'après mes lectures et mon expérience, je vois 5 dimensions dans lesquelles une oeuvre évolue:
La mélodie, l'harmonie, le rythme
L'orchestration (le son, le timbre des instruments) et la dynamique (fort/faible).

L'harmonie seule est une science millénaire, c'est souvent ce qui est le plus perçu en bien ou en mal par l'oreille humaine (des notes complétement fausses choquent en général plus que des rythmes ultra étriqués).

Des logiciels comme band in a box sont allé très loin dans le domaine...
Peux-tu nous en dire plus sur ta démarche? Sur tes outils aussi?

[ Dernière édition du message le 12/02/2014 à 15:40:27 ]

5
J'ai déjà lu ça quelque part si je me souviens bien.
Il me viens une question tout de suite ; Le rythme et l'harmonie, son des propriétés que partage me semble t-il le sens de la parole, le langage, ce à quoi est parfois associé la musique, donc le rythme la mélodie et l'harmonie ne pourrait-il pas être rassemblés en un instrument central ?

Qu'entends tu par démarche ?

Mes outils : j'ai un peu de mathématiques, un tout petit peu de théorie musicale, un peux d'expérience du piano, une petite connaissance en programmation spécialisé avec le langage Ada, et l'envie de produire les moyen de faire que du son, parce que la je suis obligé d'alterner avec la programmation, ou la composition.
6

Citation :

le rythme la mélodie et l'harmonie ne pourrait-il pas être rassemblés en un instrument central ?

7
Salut,

Je ne suis pas bien sur d'avoir compris... Tu composes de la musique mais aussi tu écris des programmes qui composent de la musique ?

Si c'est le cas, j'ai pas mal bossé sur la composition musicale algorithmique... J'ai pas mal étudié la théorie musicale (La partition intérieure, J Siron) mais sans avoir, malheureusement, une grande expérience pratique.

De ce que j'ai retenu, c'est qu'il est assez difficile de faire un programme qui compose tout seul un morceau du début à la fin (qui sonne bien) en utilisant des régles de la théorie musicale...

J'en suis plus aujourd'hui à générer automatiquement des morceaux de musique (des dizaines de minutes) que je retravaille ensuite avec Guitar Pro (sélection/ré-organisation de mesures, modification du début et de fin des mesures pour assurer les enchaînements)...

Il y a pas mal de sources WEB sur la composition musicale à l'aide d'automates cellulaires...

https://www.ibm.com/developerworks/library/j-camusic/

J'en suis arrivé à travailler pour mon plaisir personnel sur ce type de projet car mes compositions avaient trop un air de déjà vu (pas de réelles surprises dans le rythme ou dans l'enchainement des accords).

N'hésite pas à détailler ce que tu as déjà expérimenté.

A+

NB : un autre document (en anglais) sur la composition musicale algorithmique (mais que je n'ai pas eu le courage de lire ni d'expérimenter)...

http://januszpodrazik.com/downloads/Schillinger.pdf



[ Dernière édition du message le 17/02/2014 à 14:41:36 ]

8
Bonjour,

Merci frasene, je vais regarder ce que son les automates cellulaires.

Pour ma part j'ai essayé les réseau de neurones, fort intéressants, que je vais d'ailleurs réutiliser dans mon prochain programme.

Mais je manque cruellement de connaissances en théorie musicale.
9
Salut,

Je n'ai jamais vraiment bien compris comment fonctionnent les réseaux de neurones. Comment structurer le réseau ? Comment faire la phase d‘apprentissage avec la musique ? Comment générer de nouveaux morceaux ? Il est vrai que cela doit être intéressant...

Pour la théorie musicale, je suppose qu'il faudrait que tu regardes les différents types de II V I et les gammes à utiliser sur chacun des accords. En général sur chaque accord, on dit qu'on peut improviser avec une gamme particulière en évitant (ou en insistant sur) certaines notes sur les temps faibles ou forts des mesures... Puis, je pense qu‘il te sera important de :
- voir ce que sont les modulations : par exemple tu fais un II V I en do suivi d‘un II V I en fa
- comprendre ce qu'apporte le cycle des quarte/quinte...

Déjà cela devrait t'aider pour faire tes programmes...

À+

[ Dernière édition du message le 17/02/2014 à 22:08:39 ]

10
Pour les réseaux de neurone, tu peux leur enseigner les accords, en codant chaque notes, pour donner les codes d'entrée et de sortie attendu, tu dépasse pas un certain seuil, et après tu lui donne les accord attendu ou pas en entrée et il renvoie l'accord correspondant ou approchant mathématiquement.
Tu peux le mettre en boucle en lui donnant en entrée ses sortie, et ça joue et évolue tout seul.
Tu peux aussi initialiser aléatoirement, c'est plus aléatoire, mais ça reste progressif.

Ca signifie quoi II V I ?
11
Les II V I sont des suites d'accords (souvent utilisés dans le Jazz) issus du cycle des quintes et de l'harmonisation de certaines gammes...

Par exemple en Do majeur (la gamme de Do Majeure), la suite d'accords est Rém7 Sol7 Do7M Do7M.

Puis à partir de règles de substitutions tu peux modifier cette grille en remplaçant le dernier accord de Do7M par un Am7 (substitution diatonique) ou un A7 (majorisation) par exemple...

Les substitutions diatoniques (gamme majeure) c'est dire par exemple que :
- le Sol7 peut être remplacé par le Sim7(5b);
- le Do7M peut être remplacé par le Lam7 ou le Mim7
- le Rém7 peur être remplacé par le Fa7M
...

Autre type de substitution : la substitution tritonique c'est remplacer le Sol7 par un Réb7
Du coup, le Rém7 Sol7 Do7M devient Rém7 Réb7 Do7M (descente des fondamentales/basse : Ré Réb Do).

Il y a évidemment bien d'autres types de substitutions...

L'harmonisation de la gamme majeure est la création d'accords en prenant chaque note de la gamme et en prenant une note sur deux.

Par exemple pour la gamme de Do majeure, les notes sont Do Ré Mi Fa Sol La Si. Donc en prenant une note sur deux :
- Do : Do Mi Sol Si => Do7M
- Ré : Ré Fa La Do => Rém7
- Mi : Mi Sol Si Ré => Mim7
- Fa : Fa La Do Mi => Fa7M
- Sol : Sol Si Ré Fa => Sol7
- La : La Do Mi Sol => Lam7
- Si : Si Ré Fa La => Sim7(5b)

Le cycle des quintes ascendantes est un enchaînement pour la gamme majeure :
- de notes : Do Sol Ré La Mi Si Fa...
- d'accords d'harmonisation : Do7M Sol7 Rém7 Lam7 Mim7 Sim7(5b) Fa7M...

Si tu prends dans l'autre sens, c'est le cycle des quartes ascendantes (ou cycle des quintes descendantes) et on a en partant du Ré : Rém7 Sol7 Do7M

Ce principe fonctionne pour les gammes majeure, mineure mélodique et mineure harmonique je crois...

Après sur chacun des accords, une possibilité est d'improviser avec les modes bien précis de ces gammes (ou bien des arpèges)...

Tout cela peut sûrement être utilisé pour une improvisation algorithmique mais ça je ne l'ai pas fait...

Bon courage

[ Dernière édition du message le 18/02/2014 à 08:15:27 ]

12
si on veut travailler sur la systematisation de la musique, voila un site interressant :
http://bw.musique.umontreal.ca/nm/index.html

c'est un travail fait par des gens de l'université de Montréal et dont le principe est de montrer que toute la musique classique repose sur des principes theoriques evolutifs que l'on peut organiser en regles de construction systematique.

cela peut servir de base à l'étude d'un automatisme de generation musicale.
il faut avoir une base de connaissance musicale serieuse pour aborder le sujet; mais de toutes façons, ile me parait difficile de vouloir intervenir dans ce domaine sans avoir cette base.
13
Super ! Merci pour le lien... J'ai commencé à regarder, cela a l'air pas mal : original et complet...

[ Dernière édition du message le 18/02/2014 à 21:02:18 ]

14
Citation de frasene :

Bon courage



Ok, non, je de doit pas avoir soit les capacités, soit je fonctionne pas bien, je sais pas. Je reste hermétique à ton discours. Peut- être qu'il me suffirais juste de l'apprendre par cœur mais j'en ferais rien après alors c'est pas la peine, bien que j'ai envie, mais je souhaite probablement comprendre, c'est à dire modéliser le système dit musical.

frasene, j'apprécie certainement pas tout dans ta contribution, mais je te remercie beaucoup pour l'effort et ta gentillesse.

Mais pour que je puisse m'épanouir il faut m'expliquer lentement en partant du commencement.

J'ai besoin de savoir ce qu'est une gamme par exemple, de quoi elle est constitué, à quoi elle sert, comment la construire, etc.

La même chose pour les accords etc. J'arrive pas à suivre Wikipédia, c'est pour ça que je suis là.

Alors, je suis preneur de tout les tutos que vous voudrez mais dans l'ordre.
15
Salut, ce que j'ai essayé d'expliquer est très résumé donc si tu découvres les gammes et les accords, il est normal que tout te paraisse obscur. Si cela peut te rassurer bien que je connaisse quelques éléments de théorie, il m'est encore bien difficile de passer à la pratique. En gros, j'ai encore d'énormes difficultés à improviser en jazz par exemple... Et comme je bosse sans prof... Par contre, si tu bosses la théorie, tu verras que parfois, on te donne une règle qui ne peut forcément s'expliquer par des mathématiques... Il faut l'accepter (la règle) telle quelle... À+
16
Bonjour,
Je me suis embrouillé les neurones en lisant.
Je vais travailler les bases, mais c'est vraiment pas simple en tout cas.
Merci.
17
Pour avoir étudié l'IA académiquement et la théorie musicale en autodidacte, mais sans jamais avoir cherché à mélanger les deux, je trouve que chercher à appliquer l'IA à la théorie musicale est une excellente idée.

Puisque que tu n'as pas étudié la musique encore, je te mettrais juste en garde sur 1 point.
C'est que pour quelqu'un qui connait pas bien la musique, la musique peut sembler plus facile à modéliser que le français.
C'est sans doute en partie vrai, mais pour avoir étudié les deux séparément, il me parait assez clair que modéliser le système musical pour générer de la musique, ça donnera sur le plan artistique un résultat similaire à ce que donnera modéliser du français pour générer un poème.
La musique n'est pas vraiment envisageable autrement que sur le plan artistique, alors que le français peut être utilisé pour créer des directives. L'équivalent musical de directives en français serait du morse :bravo:

Donc si ton objectif premier est de trouver un champ d'application original à ce que tu apprends en IA, alors la musique c'est intéressant.
Si ton objectif premier est le développement de tes connaissances en IA et l'application générale de concept d'IA, alors peut être qu'il vaut mieux le faire avec un domaine pour lequel tu ne pars pas de zéro.

[ Dernière édition du message le 20/02/2014 à 12:08:25 ]

18
Bonjour mirak,

T'a l'air de connaître le problème.

Je cherche à coder les signes musicaux avec le langage naturel,
Je compte trouver la correspondance grâce à un réseau de neurones.

T'aurais une idée de code simple que je pourrais utiliser en fonction de la morphologie de du langage naturel et un style de musique.

C'est possible de faire ça ?
19
heu ... pfiouuu ce dépoussiérage ...

Le principe d'un réseau de neurones, c'est de lui fournir plein de données homogènes en entrée pour lui faire apprendre ce qui est commun à ces données. Ensuite quand on insérera des données hétérogènes, il pourra reconnaitre si oui ou non elles sont similaires avec ce qu'on l'a entrainé à reconnaitre.

Par exemple si lui apprend des photos de visages, il pourra différencer des photos de visages et de camions.

Ca ne sert pas à générer au hasard, juste à reconnaitre.

[ Dernière édition du message le 23/02/2014 à 22:54:38 ]

20
Salut,

J'ai l'impression que ce qui conviendrait mieux avec les règles de théorie musicale serait plus la programmation par contraintes... Mais bon je n'ai jamais utilisé les réseaux de neurones...

A+

[ Dernière édition du message le 24/02/2014 à 08:44:29 ]

21
J'aurais plutôt regardé du côté des heuristiques pour ma part.

De toutes façons il est très difficile de capter ce qui fait l'essence d'une phrase musicale.
En fait je vois facilement comment on peut obtenir des résultats rigolos généré par IA, mais sans plus sur le plan artistique et émotionnel.
Vouloir que ça rende bien sur le plan artistique et émotionnel ça serait un peu comme vouloir qu'un ordinateur fasse de la philosophie. On se rend compte qu'on en est pas encore là ... :-D

22
Merci pour votre contribution en tout cas.
23
Pour le côté émotionnel et artistique, sans intervention humaine, cela me semble difficile... Par contre, on peut effectivement s'amuser à générer par algorithme de la musique que l'on modifie (ordre des mesures, travail des transitions, suppression ou ajout de notes) ensuite manuellement avec un séquenceur (l'IA intervient comme une sorte d'inspiration)... A+
24
Effectivement mais je cherche à faire du live comme on dit, jouer directement sur les instrument MIDI.
25
bonjour,

Je n'ai pas encore décider de la manière dont j'allais procéder par la suite, mais voici un programme qui va jusqu'à jouer quelques notes grâce aux réseaux de neurones artificiels.

Ce programme : midimal en version 1.1.10 fonctionne au moins pour une sortie MIDI à laquelle vous pouvez chaîner les instruments pour les système Gnu/Linux, en compilant le programme écrit avec le langage Ada et GtkAda et dépendant de la bibliohèque portmidi0-dev.

Vous devez pour faire fonctionner ce programme, configurer votre sortie MIDI en spécifiant le nombre de timbres pour chaque instrument connecté à cette sortie dans les préférences MIDI puis configurer les générateurs pour chaque timbre de chaque instrument dans les préférences théorique.

Cliquer sur lire puis entrer un texte dans la ligne de bas de fenêtre principale, normalement ça joue.

Bon tout reste à faire, ça c'était la partie architecture système. Mais c'est déjà génial je trouve.