Reproduire Waveforms String Machine

Clonages d'ancètres, conceptions originales, circuit bending, le coin des grenouilles bricoleuses.

Modérateur : darcmorcel

Avatar de l’utilisateur
djsoulmachine
Messages : 188
Inscription : 12 avr. 2016, 09:11
Localisation : Grenoble
Contact :

Reproduire Waveforms String Machine

Message par djsoulmachine »

Bonjour à tous !
J’ai dans les cartons un projet de string machine utilisant le merveilleux Triple Chorus du regretté Jurgen Haible et je suis en pleine réflexion philosophique sur la génération de l’onde de base.

Au départ, je souhaitais m’orienter vers une simple onde en dent de scie de une préférence numérique pour que la polyphonie soit plus simple à gérer… :fou:
Puis je suis tombé sur des samples de signaux bruts provenant de Solina et Eminent 310 lorsque la modulation est désactivée et je me suis rendu compte que cela ne ressemblait pas du tout à des dents de scie… plutôt des PWMs, qu’en pensez-vous ?

Bref, que me conseilleriez-vous pour reproduire ces formes d’ondes le plus précisément possible de façons polyphonique ? :geek:

Un grand merci d’avance !

Solina en Haut – Eminent 310 en bas
Image
http://www.djsoulmachine.com" onclick="window.open(this.href);return false;

Yamaha CS15 - Moog SlimPhatty & Minitaur - Behringer ModelD
Oberheim Matrix1000 - Roland MKS50 - Hammond XM2
Avatar de l’utilisateur
oryjen
Messages : 9987
Inscription : 15 nov. 2009, 22:16

Re: Reproduire Waveforms String Machine

Message par oryjen »

Comme sur les orgues, ce sont des ondes carrées, à plusieurs harmoniques (généralement 16', 8', 4', 2' et 2, 2/3' ou 2,4/5') mixées en tout ou rien pour les trucs cheaps, ou en continu comme sur le Korg Delta par exemple.
La résultante, à l'oscilloscope sur la sortie mixée, peut ressembler à une dent de scie ou à tout autre chose. Ajoute un filtre, et tu affines jusqu'à un point confondant, sauf dans les notes très graves où généralement la superposition s'entend.

Le Korg Poly800 fonctionne aussi sur ce principe, mais les 4 harmoniques sont hélas mixées en tout ou rien...
Avatar de l’utilisateur
djsoulmachine
Messages : 188
Inscription : 12 avr. 2016, 09:11
Localisation : Grenoble
Contact :

Re: Reproduire Waveforms String Machine

Message par djsoulmachine »

oryjen a écrit :Comme sur les orgues, ce sont des ondes carrées, à plusieurs harmoniques (généralement 16', 8', 4', 2' et 2, 2/3' ou 2,4/5') mixées en tout ou rien pour les trucs cheaps, ou en continu comme sur le Korg Delta par exemple.
La résultante, à l'oscilloscope sur la sortie mixée, peut ressembler à une dent de scie ou à tout autre chose.
J'ai oublié de préciser que les formes d'onde ci-dessus sont issus d'une seule note provenant d'un seul registre/harmonique (8'), c'est donc bien l'onde de base et non une combinaison.

Des idées de comment la reproduire ?
http://www.djsoulmachine.com" onclick="window.open(this.href);return false;

Yamaha CS15 - Moog SlimPhatty & Minitaur - Behringer ModelD
Oberheim Matrix1000 - Roland MKS50 - Hammond XM2
Avatar de l’utilisateur
oryjen
Messages : 9987
Inscription : 15 nov. 2009, 22:16

Re: Reproduire Waveforms String Machine

Message par oryjen »

Ca rappelle un peu l'onde carrée de je ne sais plus quel vieux Moog, qui présentait aussi un pic (en tête) et de légers arrondis...
Comment arriver à cela d'un point de vue électronique? Trop fort pour moi...
Condensateurs à courbe de décharge non-linéaire?
Décharge pilotée par un transistor s'ouvrant brusquement à partir d'un certain seuil?
Et pour les arrondis (en charge et en décharge), un système de compensation asymétrique en fonction de la charge/décharge déjà réalisée...
Un truc pointu à mettre en place, exigeant une parfaite connaissance du comportement des transistors et des condensateurs, alliée à une idée très claire et profondément ancrée dans l'expérience des différents modèles de composants disponibles.
Travail pour grosse pointure en conception électronique.
Yves?...
Avatar de l’utilisateur
djsoulmachine
Messages : 188
Inscription : 12 avr. 2016, 09:11
Localisation : Grenoble
Contact :

Re: Reproduire Waveforms String Machine

Message par djsoulmachine »

D'où le fait que je privilégie une solution plutôt numérique ou hybride pour que la polyphonie ne soit pas un enfer à réaliser :dead:

Pensez vous qu'il soit possible de générer ces formes d'onde à partir d'une wavetable chargée dans une carte type Arduino/Teensy ?
J'avoue avoir tout le mal du monde à trouver de la doc là dessus... :neutral:

Effectivement, si Yves est de passage par ici, je suis curieux d'avoir son avis :vieux:

Merci pour ta réponse en tout cas ! :sante:
http://www.djsoulmachine.com" onclick="window.open(this.href);return false;

Yamaha CS15 - Moog SlimPhatty & Minitaur - Behringer ModelD
Oberheim Matrix1000 - Roland MKS50 - Hammond XM2
Avatar de l’utilisateur
baloran
Messages : 2179
Inscription : 29 févr. 2012, 13:46
Localisation : Pas de Calais
Contact :

Re: Reproduire Waveforms String Machine

Message par baloran »

Oui pour la wavetable dans un Teensy

Idée en vrac ....
Tu développes une feuille sur un tableur programmable (Excel par exemple :wink: ) qui permettrait de faire la la synthèse additive. En entrée, tu lui décris le contenu harmonique (à base de sinusoide façon Mr Fourier ) et le tableur te fabrique une belle forme d'onde sur un graphique et te sort la table des samples dans un fichier texte façon "const uint_16[] " (ta wavetable....) etc....

Freq = 1
Freq x 2 = 0.8
Freq x 3 = 0.6
Freq x 4 = 0.4
Freq x 5 = 0.2
....
Freq x 50 = 0.02

En jouant sur le contenu harmonique tu arriveras "facilement" à trouver une onde proche de ce que tu cherches. Tu peux faire une analyse FFT d'un sample, cela te donnera une indication sur le contenu harmonique et les coefs à entrer. Tu en profites pour mettre en place un algo qui va simplifier le contenu harmonique en fonction du rang. Pour le 32' ou le 16' tu peux prévoir une grande profondeur harmonique (jusqu'à Freq x 50 par exemple...) . Pour le 2' , sauf si tu échantillonnes à la vitesse de la lumière, il faut réduire la profondeur (Freq x 20 peut être...).

Tu manges du code pour permettre de fabriquer un "oscillateur numérique à tirettes" qui te permettra d'avoir cette onde de base mais aussi de mixer les rangs.

Tu places un beau filtre / Eq , un beau tri chorus (avant le filtre par exemple comme sur les Crumars Multiman....) et hop... naissance du melotron string machine :wink:

Tu peux alors adapter le son au rang, à l'octave , proposer plusieurs ondes de base etc.... Gros taf quoi ;)

:sante:
Quand l'été est si pluvieux ou l'hiver si froid...
Avatar de l’utilisateur
djsoulmachine
Messages : 188
Inscription : 12 avr. 2016, 09:11
Localisation : Grenoble
Contact :

Re: Reproduire Waveforms String Machine

Message par djsoulmachine »

baloran a écrit :Oui pour la wavetable dans un Teensy
On est d'accord qu'un Arduino de base n'est pas assez puissant pour adresser ce genre de besoin ?
baloran a écrit :Tu développes une feuille sur un tableur programmable (Excel par exemple ) qui permettrait de faire la la synthèse additive. En entrée, tu lui décris le contenu harmonique (à base de sinusoide façon Mr Fourier ) et le tableur te fabrique une belle forme d'onde sur un graphique et te sort la table des samples dans un fichier texte façon "const uint_16[] " (ta wavetable....) etc....
En faisant des recherches sur le sujet j'avais justement trouvé cette petite feuille excel : http://cdn.makezine.com/make/35/wave-ta ... dsheet.xls" onclick="window.open(this.href);return false;
C'est bien ceci dont tu parles ? Même si manifestement il faut ajouter un grand nombre d'harmonique pour augmenter la précision.
baloran a écrit :et hop... naissance du melotron string machine
Haha non, je compte lancer ce projet en plus de mon Mellotron dont il ne reste que la partie menuiserie à finaliser :biggrin:
baloran a écrit : Gros taf quoi ;)
:sante:
Je pense oui ^^
En tout cas un grand merci pour ta réponse : :sante:
http://www.djsoulmachine.com" onclick="window.open(this.href);return false;

Yamaha CS15 - Moog SlimPhatty & Minitaur - Behringer ModelD
Oberheim Matrix1000 - Roland MKS50 - Hammond XM2
Avatar de l’utilisateur
Buxi
Messages : 452
Inscription : 13 nov. 2015, 00:18

Re: Reproduire Waveforms String Machine

Message par Buxi »

djsoulmachine a écrit :On est d'accord qu'un Arduino de base n'est pas assez puissant pour adresser ce genre de besoin ?
Salut

Je ne voudrais pas dire de conneries, en tout cas je voudrais préciser que je suis très très très loin d'avoir les compétences de Yves ou de Baloran.
Ce que je dis est donc à prendre avec des pincettes...

En ce qui concerne un "arduino de base", c'est à dire un arduino Uno par exemple, oui clairement ce n'est pas adapté à ton projet (là j'en suis sûr...).
Par contre il existe l'Arduino DUE qui possède deux sorties DAC.
Peut-être que ça peut t'intéresser...
https://nicolas-merle.bandcamp.com" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
Salmacis
Messages : 588
Inscription : 25 janv. 2012, 13:30

Re: Reproduire Waveforms String Machine

Message par Salmacis »

Et avec une petite distorsion de phase....ça doit être possible. La forme d'onde ressemble bien a un sinus lu a différentes vitesses.
Le fichier excell j'ai pratiqué...c'est bien et pas cher.... :-)
Avatar de l’utilisateur
baloran
Messages : 2179
Inscription : 29 févr. 2012, 13:46
Localisation : Pas de Calais
Contact :

Re: Reproduire Waveforms String Machine

Message par baloran »

djsoulmachine a écrit : C'est bien ceci dont tu parles ?
Oui presque, j'imagine tout de même plutôt une macro VB pour calculer le résultat sur une profondeur réglable ;)
Quand l'été est si pluvieux ou l'hiver si froid...
Avatar de l’utilisateur
yusynth
Messages : 4844
Inscription : 12 nov. 2009, 19:15
Localisation : Grenoble
Contact :

Re: Reproduire Waveforms String Machine

Message par yusynth »

Ta forme d'onde ressemble plutôt à une impulsion (ou une dent de scie) qui passe dans un filtre passe-bande...
yusynth, doc modulaire
"Patche" ou lis, fais ton choix, j'ai fait le mien...
Avatar de l’utilisateur
djsoulmachine
Messages : 188
Inscription : 12 avr. 2016, 09:11
Localisation : Grenoble
Contact :

Re: Reproduire Waveforms String Machine

Message par djsoulmachine »

yusynth a écrit :Ta forme d'onde ressemble plutôt à une impulsion (ou une dent de scie) qui passe dans un filtre passe-bande...
Je vote pour l'impulsion également. Générer un pulse de la bonne largeur avec un arduino puis le passer dans un filtre analogique (à choisir) serait une solution également, Merci Yves !
baloran a écrit :Oui presque, j'imagine tout de même plutôt une macro VB pour calculer le résultat sur une profondeur réglable ;)
Salmacis a écrit :Le fichier excell j'ai pratiqué...c'est bien et pas cher.... :-)
L'un de vous deux aurait ce genre d'engin dans un tiroir ? :oups:

Un grand merci d'avance !

Buxi a écrit :Par contre il existe l'Arduino DUE qui possède deux sorties DAC.
Peut-être que ça peut t'intéresser...
Oui je m'étais justement renseigné lorsque je l'avais vu passer dans ton Buxitron mais si je ne dis pas de bêtises, il a été remplacé par un autre.
Dans tous les cas les Teensy sont de plus en plus en vogue pour les projets audio.
http://www.djsoulmachine.com" onclick="window.open(this.href);return false;

Yamaha CS15 - Moog SlimPhatty & Minitaur - Behringer ModelD
Oberheim Matrix1000 - Roland MKS50 - Hammond XM2
Avatar de l’utilisateur
baloran
Messages : 2179
Inscription : 29 févr. 2012, 13:46
Localisation : Pas de Calais
Contact :

Re: Reproduire Waveforms String Machine

Message par baloran »

Avantage du DUE : le nbr E/S "natives", cad sans passer par un "port extender". Sinon il est plutôt en fin de vie...
Avantage du(des) Teensy : le prix, la compacité, le dynamisme de la communauté, la bibliothèque audio. J'ai acquis un Teensy 3.6 pour tester ce qu'il a dans le ventre dans ce domaine justement, mais pas encore eu le temps de m'y pencher ;)
Ne pas oublier aussi le Rasperry, compatible pure data, qui semble être bien sympa pour l'expérimentation audio / UI.
Quand l'été est si pluvieux ou l'hiver si froid...
SmashedTransistors
Messages : 216
Inscription : 02 avr. 2015, 00:33

Re: Reproduire Waveforms String Machine

Message par SmashedTransistors »

Avec de l'automodulation de phase on fait assez bien ce genre de "dents de scie" à bande limitée (et avec faible aliasing).

Au niveau des boards,
Il y a aussi l'Axoloti http://www.axoloti.com/ qui pour moins de 100€ (port et taxes comprises) intègre de base des entrées sorties analogiques 48kHz et le MIDI.
Sans ajouter de multiplexage il dispose de 20 GPIOs dont 15 peuvent être utilisées comme entrées analogiques.

En le poussant (un peu :D ), je suis arrivé à en tirer un orgue paraphonique sur six octaves:
https://soundcloud.com/thierry-rocheboi ... tpipeorgan" onclick="window.open(this.href);return false;

Si ça t'intéresse, je peux voir si en modifiant mon code, je peux en faire une string machine potable.
Avatar de l’utilisateur
oryjen
Messages : 9987
Inscription : 15 nov. 2009, 22:16

Re: Reproduire Waveforms String Machine

Message par oryjen »

:urgh: :urgh: :urgh:

Ne me dis pas que tu as joué ça sur un mini-clavier... :talk:
Avatar de l’utilisateur
djsoulmachine
Messages : 188
Inscription : 12 avr. 2016, 09:11
Localisation : Grenoble
Contact :

Re: Reproduire Waveforms String Machine

Message par djsoulmachine »

SmashedTransistors a écrit :En le poussant (un peu :D ), je suis arrivé à en tirer un orgue paraphonique sur six octaves:
https://soundcloud.com/thierry-rocheboi ... tpipeorgan" onclick="window.open(this.href);return false;
IMPRESSIONNANT :urgh: :urgh: :urgh:
Si ça t'intéresse, je peux voir si en modifiant mon code, je peux en faire une string machine potable.
Du coup oui je suis curieux :urgh:
Avec de l'automodulation de phase on fait assez bien ce genre de "dents de scie" à bande limitée (et avec faible aliasing).
C'est quoi ? :oups:
http://www.djsoulmachine.com" onclick="window.open(this.href);return false;

Yamaha CS15 - Moog SlimPhatty & Minitaur - Behringer ModelD
Oberheim Matrix1000 - Roland MKS50 - Hammond XM2
Avatar de l’utilisateur
djsoulmachine
Messages : 188
Inscription : 12 avr. 2016, 09:11
Localisation : Grenoble
Contact :

Re: Reproduire Waveforms String Machine

Message par djsoulmachine »

Bon du coup j'ai fait une rapide tentative de synthèse additive avec une feuille excel trouvée ici : http://sunsite.univie.ac.at/Spreadsite/ ... urtone.htm" onclick="window.open(this.href);return false;

- J'ai fait une FFT (4096 points) du signal brut provenant du DO d'un Solina.
- J'ai exporté les fréquences dans un fichier texte duquel j'ai extrait les 25 premières harmoniques (multiples de 523Hz).

Image

- J'en ensuite normalisé les coefficients et les ai entré dans la feuille Excel.

Image

Observations :
- Le spectre semble en accord avec la FFT (attention echelle LOG dans Audacity et echelle linéaire dans Excel).
- Le signal reconstitué ressemble bien à un pulse mais... je ne retrouve pas non plus le signal d'origine...

Questions :
- Est-ce due au fait que je ne prends pas suffisamment d'harmoniques en compte ?
- Est-ce due au fait que je ne renseigne aucune information sur la phase ?
- Est-ce que tout simplement la synthèse additive ne peux pas approximer le signal que je cherche à reproduire ?


Un grand merci d'avance !
http://www.djsoulmachine.com" onclick="window.open(this.href);return false;

Yamaha CS15 - Moog SlimPhatty & Minitaur - Behringer ModelD
Oberheim Matrix1000 - Roland MKS50 - Hammond XM2
SmashedTransistors
Messages : 216
Inscription : 02 avr. 2015, 00:33

Re: Reproduire Waveforms String Machine

Message par SmashedTransistors »

Heu, mon doigté d'organiste étant ce qu'il est, j'ai lâchement utilisé un fichier MIDI (de la Classical Archive) pour ma démo.
Je vous épargne la démo où je teste la polyphonie en étendant le bras sur le clavier.

----------------

L'automodulation de phase consiste à moduler la phase d'un oscillateur par sa propre sortie.
Ca a été inventé en 78 par Norio Tomisawa de chez Yamaha et utilisé sur les DX.

https://patentimages.storage.googleapis ... 9447-1.png

https://patentimages.storage.googleapis ... 9447-3.png

https://patentimages.storage.googleapis ... 9447-4.png

----------------

J'ai regardé le schéma du Solina.
La forme d'onde de base est un carré.
Le carré est filtré par un passe haut => train d'impulsions positives et négatives.
Les impulsions négatives sont rabotées par des diodes.

----------------
Questions :
- Est-ce due au fait que je ne prends pas suffisamment d'harmoniques en compte ?
- Est-ce due au fait que je ne renseigne aucune information sur la phase ?
- Est-ce que tout simplement la synthèse additive ne peux pas approximer le signal que je cherche à reproduire ?
Yep, je dirais que c'est une question de phase.
En termes de caractéristiques, on a le premier harmonique d'ampli comparable au fondamental, puis une décroissance de -6dB par octave qui s'accentue au delà de 3kHz.
Avatar de l’utilisateur
yusynth
Messages : 4844
Inscription : 12 nov. 2009, 19:15
Localisation : Grenoble
Contact :

Re: Reproduire Waveforms String Machine

Message par yusynth »

djsoulmachine a écrit :- Est-ce due au fait que je ne renseigne aucune information sur la phase ?
Oui pour la ressemblance de la forme d'onde la phase est capitale.
yusynth, doc modulaire
"Patche" ou lis, fais ton choix, j'ai fait le mien...
SmashedTransistors
Messages : 216
Inscription : 02 avr. 2015, 00:33

Re: Reproduire Waveforms String Machine

Message par SmashedTransistors »

Par contre, l'oreille est peu sensible à la phase.
- sauf cas où il y a forte cohérence de phase : battements, impulsions/transitoires.

Sur une machine à strings, on aime bien avoir des sons bien déphasés. "Smooth"
Avoir un oscillateur maître et des diviseurs d'octave ça crée des coïncidences de phase. Son froid à la Farfisa.

=> l'utilisation d'un bon chorus/phaser/reverb permet de rebattre les phases.
Il paraît que le tricot russe réchauffe tout en étant doux.

Bref, j'ai passé la soirée... et un petit bout de la nuit.. oups... :palm: à bricoler l'Axoloti.
Bilan (personnel et provisoire):
  • avec le spectre de djsoulmachine je trouve le son un peu étouffé, mais je crois qu'on peut doubler les sons à l'octave sur le solina pour l'enrichir, me trompe-je ?
  • le fait d'avoir un premier harmonique aussi puissant que le fondamental joue pas mal sur le caractère du son, je trouve que ça lui donne un côté "cuivré".
  • la méthode consistant à utiliser un passe haut sur mes oscillateurs automodulés ne suffit pas pour obtenir ce caractère. grmmlll
  • une automodulation d'amplitude permet de le faire (youpi, tra la la et toutes ces sortes de choses :satisfait: )
  • avec cette méthode, je tiens 85 notes en paraphonie sur l'axoloti (avec encore un peu de CPU pour vibrato et chorus...)
  • le vibrato + chorus restent primordiaux.
Juste comme ça

.. avec les deux bras sur le clavier :palm:
Répondre
cron