Bonjour, et désolé pour ce titre pas très explicite. C'est que je ne sais pas trop comment m'expliquer. J'aimerais poser 1000 osc ou plus, aller, disons 10000! dans puredata, mais bon c'est impossible de faire tourner tout çà en même temps. Ce que j'aimerai pouvoir faire c'est tout coder à l'avance pour ne plus devoir que le lire. C'est comme si je devais écrire un programme qui encoderait des tables d'ondes en suivant les règles d'un programme que je devrais écrire, et qui une fois tout encodé, me présenterai un code prêt à l'emploi, où je n'aurai qu'a appuyer sur lecture pour le lancer et écouter. Vous voyez ce que je veux dire ou ... ? Donc c'est pas tu tout du live, il n'y a pas d'oscillateurs qui tournent, il n'y a rien qui fonctionne, juste un code qui s'écrit suivant un programme et qui une fois écrit me dit "fini, tu peux le lire!". Je fais comment ?
Hors ligne
tu peux désactiver l'audio dans des sous-patch avec des switch~, ça marche très bien comme ça.
J'utilise pas mal cela pour économiser du cpu.
Hors ligne
Bonjour,
Pour faire ce genre de trucs, j'aurais tendance à te conseiller de prendre n'importe quel langage avec des fonctions mathématiques, et de calculer chaque échantillon avec autant d'oscillateurs que tu veux et d'enregistrer tout ça, échantillon par échantillon dans un fichier texte, type raw audio, que tu peux lire ensuite avec un éditeur comme audacity et enregistrer dans un format plus universel.
pour les formats audio : http://billposer.org/Linguistics/Comput … a.html#raw
Hors ligne
Une autre idée, utiliser ChucK qui permet de produire de l'audio échantillon par échantillon, calculer les valeurs de chaque échantillon avec des fonctions mathématiques et passer le résultat à un ugen de type step et écouter.
L'avantage de cette solution c'est que tu peux le faire en live, enfin s'il encaisse de calculer 10000 sinus 48000 fois par seconde
Un petit exemple avec Chuck et step
Step s => dac; float n,r,o; while (samp => now) { Math.cos(n*.00001) + 3 => r; n => o; for (int i; i<4; i++) { Math.sin(o*r) => o; o => s.next; n+.5 => n; } }
Hors ligne
Un peu en retard, merci pour les infos ( la solution du fichier raw me plaît bien en fait, c'est un peu ce à quoi je pensais sans savoir que çà existait ). Une autre question que je pose ici, pour pas créer un post rien que pour çà. Imaginons que les sorties de notre carte son donne sur 6 enceintes. Ca serait possible de répartir sur ces 6 enceintes, dans un ordre chronologique (d'abord une enceinte, puis celle qui la suit, etc pour recommencer au point de départ et refaire le même tour) chacun des échantillons des 44000échantillons qui composent un cycle d'une onde ? Donc, 1er échantillon irait à la première enceinte, 2ème à la 2ème ... En gros, est-ce-qu'on peut assigner non pas un cycle à une enceinte, comme ceux généré par un générateur, mais carrément aller sélectionner un échantillon, ou un groupe d'échantillon dans ce cycle, pour l'assigner à telle ou telle enceinte ?
Une autre question qui n'a rien à voir mais je me demandais... dans windows media player ou dans d'autres lecteurs vidéo qui lise du son, il y a ces effets colorés, ces cercles qui vibrent et qui se déplacent, ces plongées vers le centre ou ces ouvertures avec rotation, changement de couleurs, parfois en accord avec le rythme de la musique qui est jouée. C'est chouette mais on pourrait envisager ce genre de chose de façon plus professionnelle je dirais. Connaissez vous des artistes qui font cà mais en haute définition quoi, pas de façon aléatoire comme dans windows media player, en coordonnant vitesse, qualité des couleurs, mouvement, sons ..? C'est un peu comme de l'art abstrait et futuriste mais en mouvement, pas figé sur un tableau, et avec du son en plus. Des artistes qui font çà ?
Dernière modification par dynamis (2011-02-02 16:30:54)
Hors ligne