Patch Synthétiseur Granulaire sous Pure Data

De fablabo
Aller à : navigation, rechercher


Patch Pure Data de synthétiseur granulaire avec fonctions avancée

Patch en travaux.png

Contributeur·ice·s

Statut du projet

Prototype

Statut de la publication

License

Inspiration

Fichiers source

Machines

Matériaux





Introduction

Je me suis lancé dans la confection d'un patch sous Pure Data orienté synthèse granulaire. L'idée m'est venue du module Phonogène de Make Noises avec lequel j'étais en train de jouer. Je me suis rendu compte qu'un seul ne m'était pas suffisant (je suis gourmand :) ).

J'avais déjà bidouillé jadis une sorte de petit sampleur, toujours sous Pure Data, j'avais donc une approche de la chose déjà un peu connue, du moins le chemin était légèrement débroussaillé.

L'intérêt d'un tel patch est de pouvoir bosser avec autant de samples que la puissance de l'ordinateur utilisé le permet.

Pour ce qui est de la granulation en elle-même, je me suis vite confronté a un petit soucis lors de l'importation du sample au sein d'un tableau : la taille dudit tableau ne s'adaptait pas à la taille du sample ce qui avait pour résultat d'obtenir des samples ralentis ou accélérés en fonction du premier sample chargé au début (le tableau s'adaptait à la taille du premier sample et ne changeait plus après). J'ai donc ouvert un sujet sur codelab.fr ce qui a résolu ce sur quoi je bloquais (merci Dwan ;-) ).

Une fois le premier sampleur granulaire fonctionnel je me suis mis dans la tête qu'un séquenceur rajouté au sampleur n'aurait pas été de trop ce qui m'as un peu dévié du "simple" synthétiseur granulaire à l'origine de ce projet.

J'ai donc rajouté un séquenceur qui s'est petit à petit gonflé en fonctions :

  • "Evolve freq" : randomisation des valeurs de note tout les X cycles
  • "Evolve time" : randomisation du tempo tout les X cycles (pas encore inclus le 30/09/2014)
  • "Reverse" : inversion du sens de lecture du sample
  • Portamento
  • Offset
  • Tempo
  • etc...

(au 30/09/2014 j'ai décidé de faire du séquenceur une abstraction importable dans n'importe quel autre patch, je dois reconfigurer ses entrées/sorties pour ça)

Dans la même veine que le séquenceur, j'ai aussi rajouté une brève section "drums" avec un simple trio kick/snare/hat pour aller de paire avec le générateur de rythme euclidien que j'ai également rajouté.

Donc, à ce jour dans mon projet qui, au début, ne devait être qu'un synthétiseur granulaire, je me retrouve à bidouiller :

  • synthétiseur granulaire (ben oui, quand même :) ),
  • séquenceur évolué,
  • générateur de rythme euclidien,
  • drum machine.

Le séquenceur et le générateur de rythme seront des abstractions (je dois reconfigurer leurs entrées/sorties et rajouter des fonctions MIDI pour pouvoir être utilisable avec des synthés externes).

Présentation

Tout d'abord, le projet "Evolve" (comme je l'ai appelé, pour faire pro) se compose de 3 abstractions (qui n'en sont pas encore mais j'y travail (1/10/2014) :

  1. Séquenceur,
  2. Générateur de rythme euclidien (une version standalone au format eurorack est en cours de prototypage (1/10/2014),
  3. Synthétiseur granulaire.

Le tout formant un synthétiseur virtuel évolué sous Pure Data, celui-ci pouvant générer des sons complexes grâce au synthétiseur granulaire (qui peut être copié pour pouvoir bosser sur plusieurs samples en même temps), créer des séquences complexes grâce au séquenceur évolutif associé de son générateur de rythme euclidien, ce dernier lui permettant d'associer une partie "drums" à l'ensemble, aussi bien interne que externe (grâce a des sorties MIDI).

cette page évoluera en fonction de l'avancée du projet, pour le moment ce n'est qu'une sorte de brouillon mal foutu (au 1/10/2014).