Hello,
voici mon enigme du jour :
En utilisant la librairie Sonia, comment enregistrer un .wav qui contiendrait le mix global de se que l'on est en train de faire dans l'applet. A savoir plusieurs samples qui jouent ensemble...?
Je vois bien comment récupérer le lineIn pour l'exporter en .wav, mais pour le reste ... :-/
des idées ?
+++
Hors ligne
UP
personne n'a jamais tenté d'enregistrer sous format .wav, le son produit dans processing....?
bon...
Hors ligne
je ne connais pas la librairie Sonia, ni le routing de processing, mais si tu as des liens...
Hors ligne
Salut Enry,
voici le lien vers la librairie sonia :
http://sonia.pitaru.com/
pour exporter un .wav il faut utiliser la méthode suivante :
mySample.saveFile("fileName")
de la class Sample.
Maintenant, je cherche à mettre dans mySample, le streaming audio généré par mon sketch processing.
je pense qu'il me faut utiliser les methodes suivantes :
LiveOutput.start(streamSize,streamSize*2); // Start LiveOutput with a buffer. LiveOutput.startStream(); // Start the liveOutput stream, and activate the liveOutputEvent(){}
et placer les datas correspondant dans mon stream :
ici un exemple avec une sinusoide qui rentre dans le streaming:
void liveOutputEvent(){ // Populate the LiveOutput.data[] data array with a sine-wave. for(int i = 0; i < LiveOutput.data.length; i++){ float oneCycle = TWO_PI/streamSize; int freq = (height - mouseY)/10; float sinData = (freq*2) * oneCycle * i; LiveOutput.data[i] = sin(sinData); } }
il faut maintenant que je chope le stream général de mon sketch... :-/
si t'as une idée...
+++
Hors ligne
citation :
il faut maintenant que je chope le stream général de mon sketch... :-/
Donc en résumé, tu sais créer un wav avec Sonia, et tu sais gérer un stream dans ton sketch.
Je ne vois pas si le problème est de "catcher" un stream pour "remplir" un fichier son avant de l'exporter en wav,
ou de catcher "le stream général",
le stream général, c'est le mix de chaque stream... tu dois probablement avoir une fonction pour additionner/mixer les canaux...
Pour moi, connaissant mal Processing, ca bloque si tu ne peux pas référencer les streams en cours, et les "mixer"
Peut être par ici :
Data Reading and Writing read() readChannel() write() writeChannel()
Dernière modification par Enry (2010-05-31 15:09:42)
Hors ligne
Salut,
Yep c'est le stream général que je souhaite catcher dans un .wav... et là je ne vois de fonction toute prete pour effectuer cette délicate opération :-/
additionner les stream oui mais il faut que je remettes les mains dans le cambouis...
j'y retourne !
+++
Hors ligne
dsl de pas être de meilleur aide,
bon courage en tous cas.
Je te souhaite d'avoir une fonction mix, parcequ'additionner les canaux à la main, ca peut être laborieux.
++
Hors ligne
merci,
je pense que je vais remonter à la source, en utilisant Jsyn directement dans P5.
Il existe des class WavFilWriter et StreamRecorder qui m'interesse pas mal
+++
Hors ligne
Hello,
J'avance de ce côté dès que c'est possible... j'ai résussi à catcher le stream général sortant de P5 avec Sonia.
finalement je n'utilise pas Jsyn directement et les LiveOutput de sonia n'était pas une bonne idée.
J'ai cependant un soucis, j'arrive à lire des datas des samples telles qu'elles sont sur le disque dur, mais je n'arrive pas à les choper une foois un traitement effectué (changement de pitch, volume...).
Voici le passage de mon code ou je gère les données audios pour les envoyer vers un wav:
Si quelqu'un à une idée pour récupérer les datas des samples post effet .... ça peut m'interesser..
Merci !
+++
Dernière modification par oyster_twiter (2010-06-20 17:05:31)
Hors ligne
Pages: 1