Auteur Sujet: Du code, du code, du code !  (Lu 4281 fois)

billitch

  • Human Pâté
  • *
  • Messages: 113
Du code, du code, du code ! « le: mai 16, 2007, 16:44:29 pm »
Bon je code un synthe modulaire universel temps reel qui fait le cafe et les tartines, le tout en C++ et dans les regles de l'art. Le but serait d'avoir un Buzz puissance 1000 mais Open Source (tm) et portable sur Windows, MacOSX, Linux et BSD (bref, partout).

J'ai deja fait une version 0 qui marche mais en C pur et il manquait des trucs que je veux absoluement (de toute facon un projet de cette taille n'aboutit pas sans au moins une reecriture complete  smiley13 ). Ya pas mal de choses recuperables de cette version notament l'interface graphique en GTK+2. On a quand meme mis 2 ans de boulot sur cette version pour 300ko de sources donc tout n'est pas a jeter   smiley23

Voila, pour ceux qui sont interesses, le projet s'appelle Patchwork13! et le site web est  http://patchwork13.sf.net/

Le site explique pas grand chose mais regardez le tutorial, pour les fans de Buzz (et j'en suis) ca devrait etre un minimum parlant.

Une des differences majeures avec Buzz c'est que tous les parametres des machines sont connectables, et qu'on gere bcp plus que du son : on peut generer de la 3D, des images, du texte et le moteur verifie la compatibilite des donnees.

Voila.. j'aimerai bien coder ca avec des gens motives qui ont ptetre deja mis les mains ds la prog sonore donc passez le mot

  smiley15
bisou
billitch [size=0]photos 3D[/size]

Staross

  • CromCruach Spagetooz
  • *
  • Messages: 3468
Du code, du code, du code ! « Réponse #1 le: mai 16, 2007, 19:21:07 pm »
Moi ça peut peut-être m'intéresser ouais, mais faudrais définir un peu mieux le projet, ça ressemble quand même pas mal à pure-data cette histoire, c'est quoi le truc en plus ?

Bon moi je sais un peu près coder en c++, niveau son j'ai taté un peu d'OpenAL (l'équivalent audio d'opengl, mais c'est assez orienté jeu) et de signal processing sous matlab. Un peu de jeu vidéo aussi, mais jamais de grosse application "classique".

riz

  • Velextrut sarcoma
  • *
  • Messages: 10231
Du code, du code, du code ! « Réponse #2 le: mai 16, 2007, 21:33:41 pm »
Hé mais ça à l'air pas mal du tout !

Sinon Buzz en open source existe déja, même prévu pour toutes les plateformes je crois

http://www.batman.no/buze/

billitch

  • Human Pâté
  • *
  • Messages: 113
Du code, du code, du code ! « Réponse #3 le: mai 17, 2007, 02:07:35 am »
Ok, en fait j'ai dit prog. sonore, bien, mais mon approche est pas seulement audio : comme je disais on peut generer des nombres, du texte, de la 3D, des photos de caniches tout nus, des nb complexes, des types structurés, des listes etc.. --- je crois pas que pure data soit aussi libre sur les types de données.

L'interet c'est que si on peut générer ces données on peut aussi s'en servir pour en générer d'autres (un OCR qui prend en entrée une image et en sort du texte qui va dans un synthetiseur vocal qui en tire un son qui lui même va dans un module openGL qui fait un affichage synchro avec le beat... tout ca modifiable en 3 cliks) bref ya plus de limites à la créativité temps réel

Les plus par rapport à pure data :

1. Au niveau du code :

 * Séparation totale des libs : tout est dynamique, on ne charge que ce qui est nécessaire. Ca veut dire que si tu n'as pas besoin des modules qui genere des images de caniches nus et/ou que ton systeme ne le gere pas (par exemple sous windows) bah ca marche quand meme et ca reste léger. La lib noyau ne dépend de presque rien et les dépendances lourdes (opengl, GTK, son, ...) sont séparées pour rester modulaire.

 * C'est du C++, mine de rien PD c'est du C et ca commence à dater, pouvoir hériter des classes ca va rendre le proj bcp plus rapide à développer.

2. Au niveau des fonctionnalités

 * La gestion du temps ! Elle est complètement folle : c'est une machine (un patch) qui gère le temps, ca peut donc être du temps réel, incrémental, on peut aller en arrière, metre un sinus, ou le controller à la souris. On peut avoir des patchs qui déforment le temps de leurs prédécesseurs ou des effets du temps parfait (reverb parfaite = pas basée sur des samples précédents). Je m'explique maladroitement mais il y a de quoi construire toute une algèbre du temps avec des patchs dédiés à ca.

 * Le typage des données : soit il sera fort (vérification exacte de la compatibilité des types) ce qui permet de faire du polymorphisme et des typages fous comme avec le OCaml de l'Inria, soit faible avec des conversions de types implicites ce qui peut être très pratique. Je pense qu'il est possible de faire à la fois les 2 mais il faut y refléchir un peu.

 * La simplicité : dans PD on tape encore du code, avec Patchwork13! on peut tout construire à la souris dans l'interface. C'est comme buzz : vous avez pas besoin de coder (à part un peu d'hexadecimal dans le tracker smiley5 )

 * La compilation : on pourra envisager de compiler des programmes natifs ecrits en Patchwork13..! en gros ton morceau devient un programme que tu peux lancer et hop besoi nd'aucune lib, ca marche.. bon c'est du boulot mais j'y reflechis depuis un moment, ca devrait pouvoir se faire.

 * La parallelisation : on avait déja commencé un cluster dans la version 0 mais c'était un peu bidon, ya vraiement des trucs à faire en réseau je pense. Le but était de controller plein de machines de manière transparente pour l'utilisateur, qui n'en voyait donc qu'une.

De manière générale, je cherche à être bcp plus libre que PD qui cherche tout de même à générer du son, d'une certaine manière. La on peut générer *n'importe quoi* (pour peu que qqun ait fait des patchs), en temps réel, ou pas (on peut imaginer des gros calculs de sons fractals où il faut des heures pour générer 5min).

Voila.. Pw13! r0x des nounours, mais son avocat vous en convaincra mieux que moi.  smiley16

PS:
ouah! profitez en, j'écrirai pas des messages aussi long tous les jours !!  smiley6  smiley14
billitch [size=0]photos 3D[/size]

billitch

  • Human Pâté
  • *
  • Messages: 113
Du code, du code, du code ! « Réponse #4 le: mai 17, 2007, 02:15:16 am »
Citation de: "Riz_Au_Lait"
Hé mais ça à l'air pas mal du tout !

Sinon Buzz en open source existe déja, même prévu pour toutes les plateformes je crois

http://www.batman.no/buze/


Ah ca a l'air énorme ! Dommage par contre ca à pas l'air d'être prévu pour Linux / MacOS X (enfin j'arrive à faire tourner Buzz sous linux donc ca devrait le faire aussi ^^ ca sera juste pas tres stable..)
J'en ai un peu marre du son sous windows, planter en plein live c'est un trip mais ca peut être vachement limitant.. je veux plus vivre dans la peur de l'écran bleu smiley17

Ca veut quand même dire que du code open source utilise les machines de Buzz, on va donc pouvoir les utiliser dans pw13!   smiley4
billitch [size=0]photos 3D[/size]

riz

  • Velextrut sarcoma
  • *
  • Messages: 10231
Du code, du code, du code ! « Réponse #5 le: mai 17, 2007, 10:20:52 am »
Pour Buzé la 04.7 tourne sous WINE, je crois qu'une version linux est en cours également (aldrin je crois le nom mais pas sur)

Staross

  • CromCruach Spagetooz
  • *
  • Messages: 3468
Du code, du code, du code ! « Réponse #6 le: mai 17, 2007, 11:06:52 am »
Ha oui c'est intréssant quand même, surtout la gestion du temps.

>La simplicité : dans PD on tape encore du code, avec Patchwork13! on peut tout construire à la souris dans l'interface.

En fait c'est qu'une question d'interface : taper le nom de l'objet ou aller le chercher à la souris dans une liste. Pour moi c'est plus simple de taper le nom, mais les deux ne sont pas incompatibles.

Enfin bref, ça m'intéresse oui, tiens moi au jus.

billitch

  • Human Pâté
  • *
  • Messages: 113
Du code, du code, du code ! « Réponse #7 le: mai 17, 2007, 15:11:09 pm »
OK bah la on va organiser quelques coding parties avec des potes pour ca et pour coder des demos (c quoi une demo ? http://pouet.net/ ) si vous êtes sur Paris viendez ca ira plus vite  smiley23
Jpense qu'on va faire ca chez moi (rer B bourg la reine) passez donc nous voir
 smiley4
billitch [size=0]photos 3D[/size]

billitch

  • Human Pâté
  • *
  • Messages: 113
Du code, du code, du code ! « Réponse #8 le: mai 17, 2007, 15:13:45 pm »
Citation de: "Staross"
En fait c'est qu'une question d'interface : taper le nom de l'objet ou aller le chercher à la souris dans une liste. Pour moi c'est plus simple de taper le nom, mais les deux ne sont pas incompatibles.


Ah oui je pensais qu'il y avait plus de code que ca. Bah effectivement là c'est trivial, on pourrait même le mettre dans notre interface si tu trouve ca plus pratique
billitch [size=0]photos 3D[/size]

Staross

  • CromCruach Spagetooz
  • *
  • Messages: 3468
Du code, du code, du code ! « Réponse #9 le: mai 18, 2007, 18:14:53 pm »
J'habite en suisse moi donc ça va pas trop l'faire ;)

billitch

  • Human Pâté
  • *
  • Messages: 113
Du code, du code, du code ! « Réponse #10 le: mai 19, 2007, 15:04:29 pm »
Ha ouais dommage  smiley23 bah vive internet !

Si tu veux regarder le code on a une subversion sur sourceforge :
svn co https://patchwork13.svn.sf.net/svnroot/patchwork13

tu peux aussi le regarder en ligne sur le site de sf.net :
http://patchwork13.svn.sourceforge.net/viewvc/patchwork13/

dans trunk ya la nouvelle version (la 1) qu'on réécrit complètement en C++
et l'ancienne version est dans branches/patchwork13-0
billitch [size=0]photos 3D[/size]