Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GENERATEUR DE MUSIQUE


Information sur la source

Catégorie :Multimedia Classé sous : musique, générateur, son, volume Niveau : Débutant Date de création : 20/03/2006 Date de mise à jour : 22/03/2006 14:36:23 Vu / téléchargé: 11 324 / 939

Note :
7,67 / 10 - par 3 personnes
7,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Bon pourquoi je poste une deuximeme source pour ce programme ?

Bon tout simplement car la mise a jour est assez grande(et que le prog est plutot vieux !).
Bien qu'il ressemble beaucoup a l'ancien , c'est un tout nouveau systeme pour lire les sons , je n'utilise plus Tmediaplayer mais la librairie
BASS [http://www.un4seen.com/]
Et beaucoup de chose on quand meme change d'ou cette nouvelle source.
De plus les anciens fichiers ne sont plus compatibles avec cette version(Je ne devrais donc meme pas dire 2 !!! )

Alors mais au juste qu'est ce qu'on sait faire ???

Bon j'ai mis une option aide dans le programme mais je vais expliquer brievement

Donc c'est un programme pour creer de la musique basique ,
avec une possibilite de changer les sons(les sons que j'ai mis ds le zip sont pourri mais au moins il tienne dedans !)
De changer le tempo , le volume , le nombre de repetition , les sons a jouer (!) ...
pour apres en faire un projet(sorte de musique) qui va tout jouer tt seul comme un grand et qui fera une belle musique continue, si vous avez reussi a creer des belles musiques !
 

Conclusion

Bon je suis en train de travailler un peu sur differents effets( genre flanger , ... ) que je pourrai ajouter a chaque sons mais voila c'est en cours de dev ...

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

21 mars 2006 17:25:38 :
bon j'ai changer la hauteur de la form et changer le nom , j'ai inclu la lib Bass et la dll qui est obligatoire j'espere ne rien avoir oublié
22 mars 2006 14:36:24 :
bon j'ai chnager le nom comme me le demandait Foxi , j'ai pas changer sinon le prog , juste mis sous procedure certaines choses et corriger qq bugs

Commentaires et avis

signaler à un administrateur
Commentaire de Nicolas___ le 20/03/2006 21:27:26

Voila ben dites moi ce que vous en pensez .

PS : ne mettez pas de sons trop grand ( et encore moins de chanson , vous pouvez mais ...)
     car sinon on obtient un truc pas trop terrible et en plus des fois ca plante


Ciao

signaler à un administrateur
Commentaire de f0xi le 21/03/2006 03:43:03 administrateur CS

alors, je vais te donner mon avis en tant que developpeur et egalement en tant que music-maker sur mod tracker et logiciel de compo musicale.

- pense a fournir l'unité BASS et son Header (Bass.pas/Bass.dll) pour que les gens puisse compiler ton programme.

- tout les elements sont a revoir. le sequenceur, la timeline, la gestion non threadée appli/api son, bref tout le moteur et affichage du logiciel. cela necessite plus de soins et une reflexion plus approfondie pour etendre les possibilitée de creations.

- pour les menus, un caractere "-" seul permet de créer un separateur qui ne serat pas reconnus comme un menu mais bien comme un separateur.

- beaucoup de code pour pas grand chose, hierarchisation chaotique et peu claire, les commentaires n'aide malheureusement pas a s'y retrouver, aucune separation des divers elements dans des unités disctinctes.

- des bugs de compilation (du a la non fourniture de l'api BASS) et d'execution ... violation d'accés ... malheureusement irreparrable car on ne dispose pas de tout les elements.

- n'appel pas ton logiciel MusicMaker, en effet, MusicMaker est un logiciel copyrighté qui existe réellement sous cette appelation.

- avec un Height de plus de 800 pixels, difficile de rester dans le cade d'un ecran 1024x768, resolution standard compatible a respecter.

- je ne saurais que trop te conseiller de partir sur de nouvelles bases, en insistant sur le developpement de classes pour les elements et en tirant meilleurs partis de l'API Bass qui permet bien plus de possibilitée.

- revoir totalement l'agencement de l'interface qui n'offre pour le moment aucune ergonomie visuelle et d'utilisation et ne respecte aucune logique réel. Les elements sont trop eclatés sur la fiche.

- voir egalement la possibilitée d'offrir aux elements leurs propre fiches, en laissant le soins a la fiche principale la gestion de tout le reste.

- beaucoup de code supperflus qui peut etre eviter, une indentation du code trop souvent inexistante qui ne facilite pas la lecture du code.

- des codes lourds pouvant etre eviter grace a la creation de constantes, de fonctions ou procedures, des conditions et boucles non optimisée voir mal ecrite, d'ailleur a ce sujet, une virgule se mets en fin de ligne et non au tout debut (NB).

pour resumer, un gros manque de rigeur, de discipline et de respect de regles coté code, un gros manque d'ergonomie et de confort coté interface, une gestion trés grossiere de l'API Bass (lire la doc et prendre exemple sur les Demos fournie avec).

pour finir, je pense que reparer tout cela te prendrais trop de temps, il est mieux je pense de tout recommencer a zero. Vois cela comme un premier jets te permettant de voir toute les erreurs qu'il ne faut plus faire.

Je suis dur et direct, mais c'est pour t'aider au mieux, je ne vais pas tourner autours du pots pour te dire ce qui ne vas pas et ce qui vas ...
Que ta fiertée n'en prennent pas un coups, cela n'est pas le but.

Mais tu ne peu pas serieusement donner a un guitariste un manche a balais pourvus d'une ficelle a rotis tendus entre les deux bouts en pensant que cela est bien et qu'il peu, meme pour rire, en tirer quelque chose.

je t'encourage vivement a pondre un truc vraiment mieux.

je mets 3 comme note a ce code, pour l'audace de son concepteur d'avoir oser soumettre cela a mes yeux ... ^^

Rome ne s'est pas faite en un jours.


signaler à un administrateur
Commentaire de Nicolas___ le 21/03/2006 16:56:37

bam ... gngnggngngé aah , bon c'est bon j'ai reussi a me relever ...

Bon tant pis je regarderais a tout ca apres , enfin comme me dit(un peu trop souvent !) mon prof de neerlandais , se rammasser une bonne baffe dans la gueule c'est propice a créer de meilleur chose ...

Bon pour ce qui est du nom MusicMaker , tt mes excuses mais je ne connaissais pas ce programme
(peut pas tt connaitre non + mais dsl je n'ai pas ete regarder )

Bon le zip tt mes excuses aussi j'ai totalement oublier de mettre l'unite BASS avec.
La hauteur de la form ca va etre changer par contre changer tt le systeme du programme bon je le ferai mais ca ne sera surement pas pour maintenant...

Bon ben voila , bilan ben si c'est si horible que ca qu'on la vire mais moi je trouvais qu'on savait faire des choses assez marrantes grace a ce systeme mais c'est sur que le code (...)

N'ai crainte j'ai pas mal pris ton commentaire juste une tres belle baffe mais qui ne s'en ai jamais rammassé une en pleine tronche ?!

Allez Ciao
et merci apres tout pour ta sincerité ( c'est assez rare je trouve de nos jours )

nico

signaler à un administrateur
Commentaire de Nicolas___ le 21/03/2006 16:59:11

bordel qu'est ce que j'en dis des " Bon "

Desolé c'est en me relisant par apres !

Ciao

signaler à un administrateur
Commentaire de f0xi le 22/03/2006 03:31:12 administrateur CS

salut! bon j'avais un peu peur que tu prennes mal mes remarques, mais bon ... elles sont sincere est constructives...

en fait j'avais meme un peu la hantise que tu la prenne comme un "c'est de la crotte ça madame" ... pas loin ... mais c'est pas ça.

simplement, beaucoup de choses ne vont pas ... et je me devais de te le dire ... j'apprecierais autant de sinceritée par rapport a mes propres codes sources.

une claque ... non pas vraiment non plus ... il ne faut pas le prendre dans ce sens.
certe, je pense avoir "mechament calmer ta joie" ... mais en meme temps c'est aussi le risque a courrir quand on soumet un code.
mais bon, c'etait pas le but non plus .

disons que j'ai quand meme beaucoup d'experience sur les logiciels de MAO du plus simple au vraiment complexe, les citer tous serait impossible (long et relou surtout).

a vrai dire, on pourrais faire de la musique rien qu'avec la commande Beep de l'unité windows, j'ai un petit code assé vieux maintenant que j'avais transcrit d'un vieux prog en Turbo Pascal ... bon ça fait Beep Bop Beep ... mais au moins on pouvais ecrire une melodie de 16 notes sur deux cannaux et regler les BPM.
J'avous que sur ce plan il a ete plus simple de le faire sous delphi grace au Timer ... sous TP il a fallus utiliser beaucoup de Delay ... c'etait pas trés synchro d'ailleur.


Premierement, garde a l'esprit qu'il faut au minimum :

Gerer les BPM de 50 a 250 au moins...
Possibilitée de passé en 4/4 et 3/4 (temps/mesure)
Possibilitée de travailler sur une sequence de 4*4 ou 4*3 notes

enfin, l'avantage d'une petite BeatBox, c'est qu'on a pas a gerrer les notes (ton/demi-ton).

si tu veux les gerrer, c'est un peu compliquer mais je te donne la solution :
Gamme tempérrée :
Demi-Ton inferieur = Frequence (la) de base divisé par 1.059463
Demi-Ton superieur = Frequence (la) de base multipliée par 1.059463

exemple :
K  = 1.059463
LA3 = 440Hz

DO4   = SI3 * K
SI3   = LA#3 * K
LA#3  = LA3 * K
LA3 ...
SOL#3 = LA3 / K
SOL3  = SOL#3 / K
FA#3  = SOL3 / K
FA3   = FA#3 / K
MI3   = FA3 / K
RE#3  = MI3 / K
RE3   = RE#3 / K
DO#3  = RE3 / K
DO3   = DO#3 / K
SI2   = DO3 / K

maintenant si notre Sample est a 44100Hz et que la note de base de ce sample est un Do on peu calculer alors les demi-ton precedent et suivant en utilisant le Pitch du sample. (methode comme une autre), logiquement BASS.BASS_SAMPLE.Freq (sous FMOD : FMOD.FSOUND_SetFrequency).

a partir de la, on peu creer tout les demi-tons, puis meme ajouter un parametre comunement appeler "Tune" ou simplement "Pitch" qui permet d'accorder ces demi-tons avec les autres sample.

merci unité Windows, on pourras s'accorder plus facilement en utilisant cette fonction :

windows.Beep(440,2000); {un La pur pendant 2 secondes}

bien sur, ce n'est pas la methode réel ... mais on ne vas pas commencer a partir sur le Resampling et les algorythmes divers et complexe qui permettent de reconstituer l'harmonique, le ton et le temps d'un sample ...

soyont modeste et commencont petit.

pour le BPM, c'est trés simple!

Un timer nous donneras 1 top.
le Top nous donne le premier temps de la premiere mesure.
en 4/4 : Top . . . Top . . . Top . . . Top . . .
en 3/4 : Top . . Top . . Top . . Top . .

C'est la que ça se complique ...

Chaque top nous donne le premier temps ... mais a chaque temps on doit egalement avoir un autre top pour incrementer la lecture de la note suivante.

on aurat donc une boucle de ce genre (4/4) :

begin
  case Temps of
    3 : begin
        case Tick of
          1 : begin windows.beep(2000,10); Tick := 2; end;
          2 : tick := 3;
          3 : tick := 4;
          4 : tick := 1;
        end;
    end;
    4 : begin
        case Tick of
          1 : begin windows.beep(2000,10); Tick := 2; end;
          2 : tick := 3;
          3 : tick := 1;
        end;
    end;
  end;
end;

ensuite on doit regler l'interval du timer :

Timer1.Interval := round( (60000/Temps)/BPM );

Temps = 4 (si 4/4)
Temps = 3 (si 3/4)

ensuite la mesure et le nombre de mesure depend du reglage de la pattern (partition).

n'oublions pas que l'on est toujours dans des bloc de 4 ou 3 notes.
donc ont devrat toujours avoir :
4, 8, 16, 32, 64 notes pour du 4/4 et
3, 6, 12, 24, 48 notes pour du 3/4

4 = 4*1 temps
8 = 4*2 temps
16= 4*4 temps
32= 4*8 temps
64= 4*16 temps

3 = 3*1 temps
6 = 3*2 temps
12= 3*4 temps
24= 3*8 temps
48= 3*16 temps

c'est marrant tu as vus, mais ont dirait des correspondance de valeurs binaire/decimales.
retient bien ces chiffres.

car meme si on a des contre-temps, des demi-mesures ect... il ne faut pas oublier que tout doit respecter la synchro du beat.

je pense que tu devrait regarder comment fonctionne "mod plug tracker" pour voir comment gerrer une partition multi-cannal. Les ZikTrackers sont effectivement un trés bon outils de MAO qui est a la fois intuitif et proche de la machine... on parle en effet dans ces logiciels d'une sorte de programmation de la musique, du fait de l'apparence speciale des partitions.

Aprés je ne saurais que trop te conseiller de regarder des logiciels comme FruityLoop qui sont le musts en matieres de sequenceurs et createur de boucles (bien qu'on puisse egalement y faire des compositions musicales complexe et abouties)

par contre, evite de t'inspiré de Reason ou logiciel du genre qui sont malgrés leur grand interet et qualitée des emulations de synthetiseurs existant.

Les logiciels midi comme CakeWalk par contre s'inspire montre la partition sous une forme réelle, que je qualifierais d'inadaptée a la MAO et reservée au musiciens connaissant un minimum le solfege.

Une sequence est bien plus facile a créer qu'une partition. les regles y sont plus simple.

voila. j'espere t'avoir donner de bonnes infos.

signaler à un administrateur
Commentaire de Nicolas___ le 22/03/2006 13:08:26

Pour les infos tu m'en a donne un paquet qu'il va falloir que je digere
( esperons que je ne remette pas ! lol )
j'ai lu un ce que tu m'a dit , meme relus et re-relus et voila je me disais que je le ferais bien mais alors pas dans un futur proche, malheureusement ...


Pour ce qui est du "casser la joie " ben vait pas dire que c'est faux mais comme tu l'a dit apres , fallait s'y attendre

Par contre j'ai regarder les logiciels que tu me citais  comme par ex FruityLoop , ...
bon c'est clair qu'il on l'air de peter mais c'est pas pour rien qu'il sont a 200 € !!!
Moi je voulait pas du tout faire un truc du genre , d'aileurs tu vois je vais peut etre passer pour un con mais je ne connaissais meme pas ce genre de programme Et moi je m'etais dis :

" je ferais bien un prog ( a la con ! ) pour me faire des petites chansons ( débiles ! ) que je pourrais composer ( tres facilement ) et choisir tel ou tel son qui serait joueur a tel ou tel moment , d'ou mon idée de les jouer qd une image passait en dessous d'un Checkbox(coches) representant mon son .

Le reste n'etait qu'une facon pour les ecrire en programme , ce qui a ete qd meme assez galere vu que ben ca fait a peu pres 1 an que je programme et je programme plus ( pour le moment ) quand j'ai le temps , c'est a dire qd l'ecole me le permet
.
Enfin l'année prochaine a l'ecole sup , je pourrais enfin consacrer mon tps a la prog et la qd je verrais mes anciens codes ... Ben j'aurais peut etre honte ( qui peut savoir ! )

Enfin tout ca pour dire que mon but profond n'etait pas de faire un programme de ouf ( d'ailleurs si j'avais reussi a en faire 1 , ben il serait pas ici !!! )
mais juste un truc accessible (pour tt l'monde , mais surtout pr moi , j avoue ;) )

Allez Ciao et tjs sans rancunes

signaler à un administrateur
Commentaire de f0xi le 22/03/2006 14:51:30 administrateur CS

et oui ... FL est un sacré logiciel. et je pense pas qu'un amateur puisse atteindre ce degré de conception car ImageLine le developpe depuis au moins 5 ou 6 ans maintenant.

je me rapel bien de la version 3.5, completement rien a voir avec la nouvelle version 6 ...
mais il faut savoir un truc sur FL, c'est que les premiere versions fonctionnaient avec BASS!

je ne crois pas que la version 6 utilise encore cette API, mais le fait est que on vois tout de suite de quoi est capable cette API.

Je pense que meme si ton approche a ete assé mauvaise, elle reste toute fois interressante mais elle ne doit pas etre plus approffondie.
la gestion est beaucoup trop lourde et tu t'es dirigé dans la mauvaise direction. Mais cela est normal, tu as trouver une solution qui te semblais surrement bonne dans les techniques que tu connais.

La source reste neanmoins a voir, mais le probleme c'est que tu n'as pas apporter grand soins a l'ecriture du code et des com. c'est dommage, pourtant je le repete souvent, un code bien ecrit et bien commenté c'est deja bien, meme si le truc ne fonctionne pas ou pas bien.
Et bien sur, on ne gagne rien a vouloir ecrire le code trop vite.

Enfin, je pense que y'a quand meme un bon defi derriere tout cela et que l'ecriture d'une beat box pourrait etre un bel exercice de style.

voila.

signaler à un administrateur
Commentaire de Nicolas___ le 22/03/2006 19:23:00

Bien et ben il me reste tout de meme a te dire Merci !

Pour les coms j'en ai rajoute ( mais je sais tjs pas s'ils sont bons , le probleme vient du fait que je place les comm pour moi donc moi je me comprends, d'ou le probleme de ... Comprehension !!!! )

Et ciao

Ps: je ferais ce prog mais je ne commmencerais surement pas avant les vacances de paques
( vancances scolaires Belges , je ne sais pas si les francaises coïncide avec les notres )

signaler à un administrateur
Commentaire de shining le 22/03/2006 22:52:09

à vrai dire Bass/FMod ce n'est ni plus ni moins qu'une bonne manipulation des Api's windows plus particulièrement celles de DirectX, avec un peu d'effets en sup, il existe pleins de DLL's pour le "son" mais très peu de compos en delphi(je ne parle pas des wrapper Delphi<->DLL)"DSMixAdvanced" est un des rares compos sur le net écrit en Delphi qui permet un nombre quasi illimité de cannaux + effets spéciaux(ceux de DirectX bien entendu), d'ailleur il existe sur le net une version pour DX9 & Delphi 7, certes là aussi ce compo fait appel à directX donc pas de pure accès, bien que l'accès directe à la carte son c'est faisable en delphi(asm oblige), ici dans ce contexte on s'en fiche vu que le produit n'est pas commercial et encore comme le dit si bien Foxi plus haut, même les pros utilisent des dll toute faite et préfèrent se concentré sur le Design & les effets DSP :), maintenant concernant ton projet c'est vrai que la 1er fois j'avais été un peu déçu car le nom était agicheur(MusicMaker sans paul & Myck ;)) et en fait ça resseble plus a une boîte à rythme ;(, quant à ma suggestion concernant un TScrollBox pour les elements je crois que tu ne vois pas trop ce que celà peut apporté au projet ce qui est bien dommage car je penses qu'avec un TScrollBox + quelques images graphiques(Skinning) sa peut avoir "une gueule" d'enfer, mais bonne continuation en tout cas et ptet si j'ai le temps je posterais un projet montrant où je veux en venir avec se sacré TScrollBox !!!

signaler à un administrateur
Commentaire de Nicolas___ le 23/03/2006 17:21:34

ben explique moi peut etre davantage ce que tu veux faire avec un TscollBox parce que je ne vois pas trop , en plus je n'ai jamais utiliser de TscrollBox !

Mais c'est clair que si tu veux tu n'as qu'a poster ton source , ca sera plus simple que d'essayer de m'expliquer tes idees ...

"en fait ça resseble plus a une boîte à rythme " --> Ca y est tu as trouve le reel nom que je devrais donner a ce source , c'est ni plus ni moins ce que je voulais faire  ! Concernant MusicMaker lire les coms du dessus pour comprendre le pourquoi de ce nom .

signaler à un administrateur
Commentaire de Nicolas___ le 23/03/2006 17:24:49

Aha Shining je comprends now prq tu me parle de TscrollBox ( et que j'etais pas trop chaud )
... c'etait par rapport a l'ancienne source ...
Bon desolé mais je ne me souvenais plus de ton com , ca fait un peu longtemps qd meme et je ne m'amuse pas a relire les coms que on me fait ( c'est peut etre un tort , qui sait ?? )

Allez Ciao

et bonne mer*** si tu fais ton prog !

signaler à un administrateur
Commentaire de FreDelph le 27/03/2006 10:10:38

J'avais programmé à peu près la même chose. J'ai abandonné l'utilisation des fichiers wave lorsque j'ai découvert l'excellent composant TMidiGen V2.0 d'Alan Warriner ( http://www.alan-warriner.co.uk ) dont l'étude m'a appris énormément.

signaler à un administrateur
Commentaire de Nicolas___ le 27/03/2006 18:08:24

Slt , l'utilite avec ce compo c'est que je peux utiiser des fichiers mp3, wav , mod et je sais plus quoi ( les fichiers mod sont des sortes de fichiers midi amelioré) , mais je n'utilise pas les mod ici , pas grand interet

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Comment réglet on le volume du son! [ par FireChris ] J'ai fait un lecteur de music mais je n'eu trouve pas comment régler le volume du son !!S'il vous plaît aidez-moi ! Gestion du Volume avec TMPlayer. [ par MAsterC ] Augmentation ou Diminution du volume avec un TTrackBar ?Est-ce que cela marche avec Tmaplayer?Merci ... === MAsterC === Volume [ par MAsterC ] Alors salut a tous, voici mon probleme, j'ai mis ce code dans mon programme, il sert a gerrer le volume «wave» de Windows, tous marche comme voulu sau .mod depuis une ressource [ par TheWhiteShadow ] Salut tout le monde,j'aimerai savoir pourquoi certains composants on peut lire directement depuis la ressource et pourquoi d'autres il faut écrire le Générateur [ par losc ] Salut, a tousJ'aimerai créer un générateur de phrasesPar ex : avec un Edit1 - 2 boutons ( Génerer - Ok )J'ai essayé de me renseigner & fo utiliser des Régler le volume principal du pc [ par jmp77 ] Hello,Est ce que quelqu un saurait comment faire pour régler le volume principal du pc. Pas les wav ou les midi.Merci et bonne prog à tous et toutesJM Volume ?? [ par jcpetitot ] Salut...j'essaie de controler le volume d'un composant mediaplayer..Ca marche grace au codes source d'un lecteur MP3 du site... le Hic... il est inver mediaplayer: avancer une musique avec TtrackBar [ par etrix ] Salut tousj'ai commencer un lecteur mp3 avec Tmediaplayer et je voudrais pouvoir avancer la musique à l'aide d'un TrackBar, mais je ne trouve pas la s trackbar et volume [ par defconsuny ] salut,super le trackbar pour ajuster un volume sonore d'un mediaplayer mais pour la configuartion c'est autre chose. comment mettre le mediaplayer et Probleme avec les activeX [ par thone08 ] Bonjour, j'ai crer une sorte de reveil , qui a l'air prevu lance une musique , apres une petite recherche dans mes active x j'ai trouver une fonction


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,45 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.