Jusqu'à exemple 6 (gammes)

This commit is contained in:
Gwendal Le Vaillant 2019-07-02 11:30:38 +02:00
parent 699bdff7bb
commit b98cb7a475
5 changed files with 530 additions and 62 deletions

View File

@ -9,9 +9,9 @@ img:hover{
-o-transition: all .3s ease-in;
transition: all .3s ease-in;
opacity: 1;
transform: scale(1.1);
-ms-transform: scale(1.1); /* IE 9 */
-webkit-transform: scale(1.1); /* Safari and Chrome */
transform: scale(1.5);
-ms-transform: scale(1.5); /* IE 9 */
-webkit-transform: scale(1.5); /* Safari and Chrome */
}
</style>
@ -102,18 +102,18 @@ PureData a deux **modes** de fonctionnement :
Pour passer d'un mode à l'autre, il faut utiliser le raccourci **Ctrl+E**.
Toutefois, il est possible de jouer avec une boîte alors qu'on est en mode d'édition, est maintenant la touche **Ctrl** appuyée (par exemple : **Ctrl+Clic** sur une boîte, un slider, ...).
### TODO:
### À faire
* Dupliquer le patch hello world
* Créer une deuxième boîte de message, avec un texte différent
* Créer un second objet "print"
* Passer du mode **édition** au mode **normal**, et cliquer sur les messages pour afficher du texte dans la console.
### Challenges:
### Challenge
* Changer le préfixe "print" qui s'affiche dans la console, pour différentes boîtes "print"
### Resources:
### Ressources :
* **patches**
* [hello world patch](./resources/00_hello_world.pd)
@ -124,28 +124,33 @@ Toutefois, il est possible de jouer avec une boîte alors qu'on est en mode d'é
## Example 2: A simple calculator
## Exemple 2 : calculatrice simple
Arithmetic can be done with **object** boxes.
Besides object and message boxes we also have **number** boxes.
You can click and drag these boxes to change the number inside.
Pour faire des calculs arithmétiques (additions, soustractions, ... et des fonctions ) PureData contient des boîtes d'objets pour les opérations +, -, etc... Pour donner des valeurs à ces boîtes-objet, on peut utiliser des boîtes de message, mais aussi des boîtes de **nombres** (depuis le menu Ajouter).
* L'intérêt est que l'on peut cliquer sur ces nombres (en mode normal, pas en mode d'édition) pour modifier facilement le nombre l'intérieur.
* Le problème des nombres est qu'il ne sont pas sauvegardés lorsque l'on ferme le patch (alors que les messages, eux, sont bien sauvegardés)
![arithmetic operations](./resources/zcwj.jpg)
![two calculators](./resources/p5h3.jpg)
### TODO:
### À faire :
* create this patch yourself and try it out
* why doesn't it always work?
* Re-créer le patch ci-dessus dans PureData, et l'essayer
* Pourquoi est-ce que ça ne fonctionne pas toujours ?
* what are creation arguments?
### Resources:
### Ressources :
* **patches**
* [calculator patch](./resources/01_calculators.pd)
* **Page-mémo**
* [Aide-mémoire pour les objets PureData](https://puredata.info/docs/tutorials/pd-refcard)
* **online information**
* [hot and cold inlets](https://puredata.info/docs/manuals/pd/x2.htm#s3.3)
* [hot and cold inlets (EN)](https://puredata.info/docs/manuals/pd/x2.htm#s3.3)
* [Entrées chaudes/froides, flux de données (FR)](https://fr.flossmanuals.net/puredata/le-flot-de-donnees/)
* **Référence PureData**
* [Opérations arithmétiques dans PureData Vanilla et Extended (EN)](http://booki.flossmanuals.net/pure-data/list-of-objects/math)
---
@ -155,23 +160,28 @@ You can click and drag these boxes to change the number inside.
## Example 3: Bangs and triggers
To deal with the **hot and cold** design of puredata we can use two very useful objects:
Dans Pure Data, les entrées et sorties (*inlets* et *outlets*) des boîtes n'ont pas toutes exactement le même comportement. Concernant les entrées, il existe des **entrées chaudes et froides** (*hot/cold*). Pour chaque boîte, on a :
* à gauche 1 seule entrée chaude
* toutes les entrées restantes à droite sont des entrées froides
Pour gérer ceci, il est très utile d'utiliser les deux objets suivants :
* bangs
* triggers
Bangs are an essential feature of puredata.
They serve as triggers and can be very useful for visual feedback.
Triggers take something (numbers, bangs, lists, messages, ...) as input and output from **right to left**.
By including triggers in our patch we can be certain of the **order of operations**.
Le "Bang" (disponible de puis le menu "Ajouter") est une fonctionnalité essentielle de Pure Data. Un Bang permet à la fois de déclencher (*trigger* en anglais) des boîtes reliées à sa sortie, et de donner un retour visuel sur les actions des boîtes reliées à son entrée.
Les "Triggers" prennent une donnée (nombre, bang, list, message, ...) en entrée, et envoient les sorties **les unes après les autres, de droite à gauche**.
En ajoutant des objets trigger dans nos patches, on peut définir précisément **l'ordre des opérations**.
![triggers and bangs](./resources/y0ps.jpg)
### TODO:
### À faire
* create this patch yourself and try it out
* Créer ce patch et l'essayer
* Modifier les connexions pour bien voir les sorties dans l'ordre de droite à gauche
### Resources:
### Ressources
* **patches**
* [triggers and bangs patch](./resources/02_bangs_and_triggers.pd)
@ -184,21 +194,26 @@ By including triggers in our patch we can be certain of the **order of operation
## Example 4: Timers and toggles
As a real time environment puredata uses the **metro** object to create timed events.
To turn the metro on or off we need to connect a **toggle** to it's input.
En tant qu'environnement temps-réel pour la musique, Pure Data offre l'objet **metro** (métronome) pour créer des évènements réguliers dans le temps.
Pour allumer le métronome, ou l'éteindre, le plus simple est de connecter une boîte Interrupteur à son entrée.
On se rapproche de la création d'un séquenceur / boîte à rythme !
![timers and toggles](./resources/zudu.jpg)
The metro object takes milliseconds as an argument *or* on the **cold** inlet.
Below is a small example conversion grid of BPM notes to msec.
Cet objet metro peut prendre un temps sur **l'entrée froide**, ou bien (ne pas utiliser les deux méthodes) en lui envoyant un argument (via un message "tempo 500 msec" par exemple);
Ci-dessous, voici un grille de quelques exemple de conversion de *BPM* (tempo) en longueur de notes (noire/*quarter*, croche/*8ths*, etc.)
![BPM to msec](./resources/bpm_msec.jpg)
### TODO:
### À faire
* create this patch yourself and try it out
* can you make the output count up with each bang?
* can you make a conversion that takes BPM as input and outputs 8th notes msec values?
* Re-créer ce patch et l'essayer
* Écrire un compteur qui s'incrémente (augmente sa valeur de 1) à chaque bang du métronome
### Challenge
* Écrire un patch de conversion automatique de tempo (en BPM, Beats Per Minutes) pour créer un métronome de noires (*quater-note*)
* Écrire un patch de conversion de tempo vers un métronome *suffle* (typique du jazz)
### Resources:
@ -215,14 +230,14 @@ Below is a small example conversion grid of BPM notes to msec.
## Setting up your audio device
From the **media** menu select the audio settings.
Your settings will be different depending on your platform and soundcard.
If you hear a lot of clicking then you should raise the block size.
A good middle ground is 1024.
Don't forget to turn on the **DSP** in the console window.
Puredata can output very loud sounds so don't turn the volume up too much.
Depuis le menu **media**, sélectionner les Paramètres Audio. Les paramètres vont dépendre de la carte son de l'ordinateur, et du système d'exploitation.
Une bonne valeur est en général 512 échantillons (*samples*).
<p style="text-align:center;color:red;">!!!**PLEASE** don't turn your headphones up too much!!!</p>
Lorsqu'un patch audio sera prêt, il ne faudra pas oublier de cocher la case DSP (*digital signal processing*) pour lancer le moteur de calcul audio de Pure Data.
Attention : PureData permet de créer n'importe quel son, et il n'y a donc pas de limitation du volume en sortie. Il faut d'abord ne jamais mettre le casque trop fort, et on mettra systématiquement un limiteur en sortie (vu juste après).
<p style="text-align:center;color:red;">Attention : Ne jamais mettre les écouteurs trop fort, et toujours mettre un limiteur (objet "clip") à 0.5 avant le bloc de sortie audio. Vos tympans sont très précieux, prenez-en soin !</p>
![audio device](./resources/uawy.jpg)
@ -237,27 +252,31 @@ Puredata can output very loud sounds so don't turn the volume up too much.
## Example 5: A simple synth
## Exemple 5 : Premier synthé !
Up until now we only used data objects and connections.
To create sound and connect audio inputs and output we use objects that have a tilde **~**.
New control objects, **sliders**, are seen here.
You can configure these sliders by right clicking them.
Jusqu'à maintenant, nous n'avons utilisé que des connexions de **données** entre les boîtes. Pour créer du son, nous allons maintenant créer des connexions de **signaux audio** entre des blocs de traitement du signal. Ces blocs sont facilement reconnaissables car ils commencent par un **tilde : ~**.
It's very important to modify the sliders in order to use them with audio signals.
All audio signals flow between -1 and +1 as floating point numbers.
In order to have working volume slider we multiply the audio signal with a value between 0 and 1 where 0.5 is half as loud.
![simple synth with limiter](./screenshots/synth-limiter.png)
Des objets de contrôle très répandus en audio sont les **sliders** (voir ci-dessous). Il peuvent être configurés en faisant un **clic droit** sur eux.
Pour utiliser des sliders comme contrôle de volume audio, il est très important de modifier leur intervalle de valeurs (leur *range*). En effet, il renvoient par défaut des valeurs entre 0 et 127, alors que les signaux audio dans Pure Data sont des flux de **nombres à virgule entre -1,0 et +1,0**.
Pour ne pas avoir de saturation, et pour ne pas avoir de volumes audio trop importants (attention à vos oreilles !) on va régler le slider principal de volume sur la plage de valeurs de 0,0 à 0,1.
Cela correspond à gains de moins l'infini à -20 dB (décibels).
![a simple synth](./resources/tz52.jpg)
### TODO:
### À faire
* create this patch yourself and try it out
* Re-créer les deux patches ci-dessus, et des tester
* Chercher la différence entre les connexions de données, et les connexions de signal audio
### Resources:
### Ressources
* **patches**
* [a simple synth patch](./resources/04_a_simple_synth.pd)
* [a 440Hz synth patch with, limiter](./resources/04_a_simple_synth-limiter.pd)
* [a simple synth patch (! without limiter)](./resources/04_a_simple_synth.pd)
* **online information**
* [waveshaping](http://www.pd-tutorial.com/english/ch03s05.html)
@ -267,24 +286,28 @@ In order to have working volume slider we multiply the audio signal with a value
## Example 6: Some midi and music theory plus a musical synth
## Exemple 6 : Un peu de théorie musicale... et MIDI
Le MIDI permet de représenter des notes (Do, Ré, Mi, .. ou bien *C, D, E*, ...) avec des nombres sur 7 bits, entre 0 et 127. C'est une vieille norme - qui date des années 1980 - qui est toujours très utilisée aujourd'hui.
![midi notes to frequency](./resources/notes.gif)
The major scale is made up of the following pattern:
En musique occidentale, le **système tonal** propose une manière de décomposer de mélodies en **gammes (majeures, mineures, ...)** basées sur 1 note principale : **la tonique**.
* a half note is **1** step
* a whole note is **2** steps
* an octave is **12** steps
* the **5th** always sounds good with the root note! (**7** steps)
Même si maîtriser toutes les subtilités des gammes et des modes requière une très bonne connaissance du solfège, on va quand même pouvoir utiliser ces gammes de manière simple pour créer des séquences de notes dans Pure Data.
| degree | name | step size | relative midi value |
Les gammes sont composés de **degrés**, qui sont un ensemble de notes qui constituent la gamme - en plus de la note tonique.
Par exemple, une des gammes les plus utilisées est la **gamme majeure**. À partir d'une note tonique définie, la gamme majeure est composée des 6 **degrés** suivants :
| Degré | Nom | Écart degré précédente | Écart total en échelle MIDI |
|---|---|---|---|
| 1st | tonic | root | 0 |
| 1st | Tonique | root | 0 |
| 2nd | supertonic | whole | 2 |
| 3rd | mediant | whole | 4 |
| 4th | subdominant | half | 5 |
| 5th | dominant | whole | 7 |
| 3rd | Tierce (majeure) | whole | 4 |
| 4th | Quarte | half | 5 |
| 5th | Dominante | whole | 7 |
| 6th | submediant | whole | 9 |
| 7th | leading note | whole | 11 |
| 8th | tonic | half | 12 |
@ -307,7 +330,7 @@ Below you can see the musical synth that plays the major scale starting at C4.
## Example 7: Controlling the musical synth
## Exemple 7 : contrôle le synthé avec un clavier d'ordinateur
We can control the synth with the **key** object.
The output of this object needs to be routed to the corresponding notes we want with the **route** object.
@ -321,12 +344,17 @@ It can be shown by clicking on the **media** menu and selecting **test audio and
![midi setup and settings](./resources/fnid.jpg)
### Challenge :
* Ré-écrire l'objet "route" avec des blocs "==" et "sel" avant de regarder la solution
### Resources:
* **patches**
* [a musical synth](./resources/05_controlling_the_musical_synth.pd)
* **online information**
* [controlling the synth](http://write.flossmanuals.net/pure-data/controlling-the-synth/)
* ** Blocs "==" et "sel"**
* [patch de solution du challenge](06-keyboard-equal-sel.pd)
---

View File

@ -0,0 +1,178 @@
#N canvas 368 211 552 450 10;
#X obj 306 100 osc~ 440;
#X obj 306 215 dac~;
#N canvas 0 22 450 278 (subpatch) 0;
#X array VisuSignal 1024 float 3;
#A 0 -0.0244406 -0.0304673 -0.0363742 -0.0421383 -0.0477368 -0.053148
-0.0583504 -0.0633238 -0.0680485 -0.0725051 -0.0766767 -0.0805473 -0.0841014
-0.0873254 -0.0902063 -0.0927331 -0.0948958 -0.0966858 -0.0980951 -0.0991186
-0.0997529 -0.0999955 -0.0998453 -0.0993032 -0.098371 -0.0970525 -0.095353
-0.0932782 -0.0908364 -0.0880378 -0.0848936 -0.081416 -0.0776187 -0.0735165
-0.0691257 -0.0644634 -0.0595476 -0.0543973 -0.0490334 -0.043477 -0.0377499
-0.0318745 -0.025874 -0.0197719 -0.013592 -0.00735871 -0.00109638 0.00517017
0.0114164 0.0176177 0.0237498 0.0297887 0.0357106 0.0414924 0.0471112
0.0525445 0.0577712 0.062771 0.0675243 0.0720124 0.0762177 0.0801237
0.0837151 0.0869778 0.0898982 0.0924649 0.0946684 0.0965002 0.097953
0.0990212 0.0997005 0.0999883 0.0998835 0.0993861 0.0984972 0.0972215
0.0955641 0.0935314 0.0911314 0.0883736 0.0852687 0.0818289 0.0780677
0.0739987 0.0696392 0.0650063 0.0601181 0.0549938 0.0496536 0.0441183
0.0384098 0.0325503 0.0265626 0.0204706 0.0142982 0.00806969 0.00180953
-0.00445773 -0.0107075 -0.0169153 -0.0230567 -0.0291074 -0.0350436
-0.0408421 -0.0464801 -0.0519357 -0.0571872 -0.0622143 -0.066997 -0.0715167
-0.0757551 -0.0796953 -0.0833225 -0.0866224 -0.0895822 -0.0921902 -0.0944362
-0.0963113 -0.0978083 -0.0989209 -0.0996437 -0.0999752 -0.0999141 -0.0994607
-0.0986167 -0.0973854 -0.0957717 -0.0937819 -0.0914238 -0.0887052 -0.0856383
-0.0822351 -0.078509 -0.0744747 -0.0701478 -0.0655455 -0.0606857 -0.0555876
-0.0502705 -0.0447558 -0.0390655 -0.0332217 -0.0272475 -0.0211664 -0.015002
-0.00877874 -0.00252091 0.00374687 0.00999987 0.0162135 0.0223635 0.0284256
0.0343761 0.0401916 0.0458493 0.051327 0.056603 0.061656 0.0664669
0.0710167 0.0752876 0.0792628 0.0829268 0.0862652 0.0892648 0.0919139
0.0942006 0.0961173 0.0976566 0.0988124 0.0995802 0.0999569 0.0999412
0.099533 0.0987339 0.0975459 0.0959745 0.0940262 0.0917087 0.0890311
0.0860039 0.0826389 0.0789494 0.0749498 0.0706552 0.0660826 0.0612507
0.0561782 0.0508851 0.0453922 0.039721 0.0338938 0.0279335 0.0218632
0.0157069 0.00948897 0.00323383 -0.00303398 -0.00928987 -0.0155093
-0.0216679 -0.0277414 -0.033706 -0.0395378 -0.0452142 -0.050713 -0.0560126
-0.0610923 -0.0659321 -0.070513 -0.0748171 -0.0788273 -0.0825269 -0.0859023
-0.0889402 -0.0916289 -0.0939578 -0.0959177 -0.0975009 -0.0987013 -0.0995141
-0.099935 -0.099963 -0.0995984 -0.0988427 -0.0976989 -0.0961714 -0.0942662
-0.0919908 -0.0893542 -0.086366 -0.0830379 -0.0793838 -0.0754179 -0.0711559
-0.0666145 -0.0618115 -0.0567657 -0.051497 -0.0460258 -0.0403733 -0.0345623
-0.0286156 -0.0225566 -0.016409 -0.010197 -0.0039449 0.00232276 0.00858137
0.0148061 0.0209727 0.0270568 0.0330347 0.0388828 0.0445782 0.0500987
0.0554224 0.0605285 0.0653962 0.0700068 0.0743425 0.0783862 0.082122
0.0855354 0.0886129 0.0913424 0.0937133 0.0957153 0.0973408 0.098584
0.0994401 0.0999056 0.0999789 0.0996596 0.0989489 0.0978497 0.0963657
0.0945023 0.0922677 0.0896709 0.0867219 0.0834324 0.0798153 0.0758847
0.0716561 0.0671459 0.0623711 0.0573514 0.0521065 0.0466571 0.0410244
0.0352306 0.0292984 0.0232511 0.0171125 0.0109064 0.0046575 -0.00160962
-0.00787038 -0.0141002 -0.0202747 -0.0263696 -0.032361 -0.0382253 -0.0439392
-0.0494802 -0.0548269 -0.0599582 -0.0648541 -0.0694953 -0.0738636 -0.0779419
-0.0817141 -0.085165 -0.0882805 -0.0910494 -0.0934607 -0.095505 -0.0971742
-0.0984619 -0.0993629 -0.0998737 -0.099992 -0.0997163 -0.0990491 -0.0979929
-0.0965519 -0.0947317 -0.0925396 -0.089984 -0.0870751 -0.0838242 -0.0802427
-0.0763462 -0.0721499 -0.0676703 -0.062925 -0.0579326 -0.0527126 -0.0472856
-0.0416729 -0.035896 -0.029978 -0.0239424 -0.0178128 -0.0116132 -0.00536808
0.000898174 0.00716095 0.0133957 0.0195777 0.0256827 0.0316867 0.0375663
0.0432983 0.0488603 0.0542305 0.0593877 0.0643118 0.068983 0.0733826
0.0774939 0.0813009 0.0847886 0.0879433 0.0907527 0.0932058 0.0952928
0.0970056 0.0983359 0.0992801 0.0998344 0.0999967 0.0997663 0.0991442
0.0981328 0.096736 0.0949593 0.0928084 0.0902928 0.0874227 0.0842093
0.0806653 0.0768045 0.072642 0.0681943 0.0634787 0.0585132 0.0533176
0.0479126 0.0423195 0.0365603 0.0306575 0.0246343 0.0185143 0.0123215
0.00608025 -0.000184933 -0.00644932 -0.0126883 -0.0188775 -0.0249925
-0.0310094 -0.0369046 -0.0426549 -0.0482376 -0.0536302 -0.0588122 -0.0637632
-0.0684638 -0.0728955 -0.0770409 -0.0808839 -0.0844092 -0.0876032 -0.0904517
-0.092945 -0.0950733 -0.0968281 -0.0982028 -0.0991918 -0.0997913 -0.099999
-0.0998139 -0.0992357 -0.0982674 -0.0969132 -0.0951784 -0.0930699 -0.0905959
-0.0877661 -0.0845917 -0.081085 -0.0772593 -0.0731295 -0.0687126 -0.064026
-0.0590879 -0.0539177 -0.0485359 -0.0429634 -0.0372221 -0.0313345 -0.0253234
-0.019213 -0.0130271 -0.00679019 -0.000526574 0.00573912 0.0119823
0.0181785 0.0243034 0.0303324 0.0362423 0.0420098 0.0476123 0.0530278
0.0582351 0.0632137 0.0679441 0.0724078 0.0765862 0.0804636 0.0840249
0.0872563 0.090145 0.0926797 0.0948505 0.0966488 0.0980676 0.0991004
0.0997433 0.0999946 0.0998532 0.0993198 0.0983963 0.0970865 0.0953953
0.0933296 0.0908968 0.0881061 0.0849695 0.0814992 0.0777089 0.0736135
0.0692289 0.0645725 0.0596625 0.054518 0.0491586 0.0436063 0.0378827
0.0320105 0.0260125 0.0199124 0.013734 0.00750169 0.00123981 -0.00502695
-0.0112739 -0.0174765 -0.0236105 -0.0296517 -0.0355765 -0.0413616 -0.0469843
-0.0524226 -0.0576545 -0.0626596 -0.0674186 -0.0719128 -0.0761247 -0.0800375
-0.0836361 -0.0869063 -0.0898353 -0.0924108 -0.0946226 -0.0964628 -0.0979242
-0.099001 -0.0996891 -0.0999857 -0.0998897 -0.0994013 -0.0985223 -0.0972552
-0.0956062 -0.0935817 -0.0911898 -0.0884397 -0.0853424 -0.0819099 -0.0781557
-0.0740946 -0.0697413 -0.0651142 -0.0602314 -0.0551121 -0.0497765 -0.0442453
-0.0385404 -0.032684 -0.0266993 -0.0206094 -0.0144385 -0.00821094 -0.00195121
0.00431616 0.0105666 0.0167756 0.0229187 0.0289719 0.0349111 0.0407129
0.0463548 0.0518146 0.0570709 0.0621031 0.0668914 0.0714171 0.0756624
0.0796102 0.0832445 0.0865518 0.0895193 0.0921352 0.0943893 0.0962727
0.0977781 0.0988995 0.0996324 0.0999726 0.0999203 0.0994756 0.0986403
0.0974176 0.0958124 0.0938309 0.091481 0.0887718 0.0857127 0.0823169
0.0785979 0.0745703 0.0702498 0.0656535 0.0607993 0.0557064 0.0503946
0.0448844 0.0391976 0.0333571 0.0273855 0.0213065 0.0151438 0.00892157
0.00266428 -0.00360353 -0.00985721 -0.0160721 -0.0222237 -0.0282881
-0.0342413 -0.0400601 -0.0457216 -0.0512035 -0.0564845 -0.0615435 -0.06636
-0.0709159 -0.0751932 -0.0791753 -0.0828464 -0.0861922 -0.0891995 -0.0918566
-0.094153 -0.0960782 -0.0976261 -0.0987905 -0.099567 -0.0999525 -0.0999455
-0.099546 -0.0987556 -0.0975774 -0.0960149 -0.0940749 -0.0917654 -0.0890957
-0.0860761 -0.0827184 -0.079036 -0.0750431 -0.0707555 -0.0661894 -0.0613629
-0.0562955 -0.0510071 -0.0455184 -0.0398509 -0.034027 -0.0280693 -0.0220014
-0.0158469 -0.00963008 -0.00337547 0.00289235 0.00914877 0.0153693
0.0215294 0.0276051 0.0335724 0.0394079 0.045088 0.050591 0.0558953
0.0609801 0.0658254 0.0704122 0.0747225 0.0787395 0.0824473 0.0858302
0.0888757 0.0915723 0.0939092 0.0958774 0.0974691 0.098678 0.0994994
0.0999301 0.0999674 0.0996116 0.0988646 0.0977294 0.0962104 0.0943136
0.0920464 0.0894178 0.086438 0.0831182 0.0794712 0.0755122 0.0712567
0.0667214 0.061924 0.0568835 0.0516196 0.0461529 0.0405048 0.034697
0.0287531 0.0226964 0.0165505 0.0103397 0.0040882 -0.00217934 -0.00843839
-0.0146644 -0.0208326 -0.0269188 -0.0328993 -0.0387506 -0.0444497 -0.0499743
-0.0553026 -0.0604138 -0.0652879 -0.0699048 -0.0742468 -0.0782972 -0.0820401
-0.0854609 -0.0885461 -0.0912835 -0.0936625 -0.0956737 -0.0973085 -0.0985603
-0.0994251 -0.0998995 -0.0999815 -0.0996709 -0.0989689 -0.0978783 -0.0964033
-0.0945493 -0.0923229 -0.0897339 -0.0867926 -0.0835105 -0.0799005 -0.0759767
-0.0717545 -0.0672505 -0.0624823 -0.0574678 -0.0522276 -0.0467824 -0.0411536
-0.0353631 -0.0294338 -0.0233888 -0.017252 -0.0110473 -0.00479907 0.00146795
0.00772913 0.0139599 0.0201359 0.0262328 0.0322267 0.0380941 0.0438119
0.0493574 0.0547086 0.0598449 0.0647463 0.0693933 0.0737678 0.0778527
0.0816318 0.0850905 0.0882145 0.0909912 0.0934105 0.095463 0.0971406
0.0984368 0.0993464 0.0998659 0.0999932 0.0997277 0.0990692 0.0980217
0.0965892 0.0947775 0.0925936 0.090046 0.0871449 0.0839015 0.0803287
0.0764391 0.0722494 0.067776 0.0630364 0.0580493 0.0528343 0.0474117
0.0418029 0.0360299 0.030115 0.0240817 0.0179539 0.0117557 0.0055113
-0.000754741 -0.00701784 -0.0132534 -0.019437 -0.0255442 -0.0315508
-0.0374334 -0.043169 -0.0487351 -0.0541098 -0.059272 -0.0642015 -0.0688789
-0.0732856 -0.0774036 -0.0812176 -0.0847126 -0.0878749 -0.0906922 -0.0931533
-0.0952487 -0.09697 -0.0983105 -0.0992634 -0.0998265 -0.0999976 -0.0997759
-0.0991625 -0.0981597 -0.0967713 -0.095003 -0.0928616 -0.0903543 -0.0874919
-0.084286 -0.0807491 -0.0768951 -0.0727391 -0.0682975 -0.0635877 -0.0586281
-0.0534377 -0.0480372 -0.042448 -0.0366922 -0.0307923 -0.0247715 -0.0186534
-0.012462 -0.00622167 4.3234e-05 0.00630794 0.0125478 0.0187383 0.0248553
0.0308746 0.0367727 0.0425264 0.0481132 0.053511 0.0586979 0.0636542
0.0683605 0.0727984 0.0769504 0.0808002 0.0843327 0.0875341 0.0903917
0.0928932 0.0950296 0.0967929 0.098176 0.0991736 0.0997818 0.0999981
0.0998218 0.0992535 0.0982944 0.0969488 0.0952225 0.0931222 0.0906563
0.0878344 0.0846676 0.0811682 0.0773501 0.0732277 0.0688171 0.0641362
0.0592036 0.0540385 0.0486611 0.0430927 0.037355 0.0314705 0.0254623
0.0193538 0.0131694 0.0069333 0.000670007 -0.0055959 -0.0118399 -0.0180373
-0.0241641 -0.030196 -0.0361088 -0.0418798 -0.0474862 -0.0529062 -0.0581183
-0.0631023 -0.0678385 -0.0723083 -0.0764942 -0.0803788 -0.0839474 -0.0871863
-0.0900829 -0.0926256 -0.0948047 -0.0966114 -0.0980388 -0.0990812 -0.0997337
-0.0999937 -0.0998611 -0.0993363 -0.0984215 -0.0971201 -0.0954374 -0.0933799
-0.0909556 -0.0881738 -0.0850447 -0.0815816 -0.0777982 -0.0737093 -0.069331
-0.0646804 -0.0597758 -0.0546364 -0.0492823 -0.043734 -0.038014 -0.0321447
-0.0261493 -0.0200512 -0.0138743 -0.00764294 -0.00138149 0.00488546
0.0111332 0.0173371 0.0234728 0.0295163 0.035444 0.0412324 0.0468589
0.0523015 0.0575388 0.0625495 0.0673142 0.0718145 0.0760328 0.0799524
0.0835581 0.0868357 0.0897723 0.0923564 0.0945773 0.0964258 0.0978957
0.0989811 0.0996778 0.0999831 0.0998958 0.0994162 0.0985463 0.0972891
0.0956485 0.0936324 0.0912486 0.0885065 0.0854168 0.0819917 0.0782446
0.0741902 0.0698444 0.0652233 0.0603461 0.0552319 0.0499008 0.0443738
0.0386725 0.0328194 0.0268373 0.0207498 0.0145805 0.00835392 0.00209462
-0.00417286;
#A 1000 -0.0104239 -0.0166341 -0.0227789 -0.0288344 -0.0347766 -0.0405821
-0.0462279 -0.051692 -0.0569531 -0.0619905 -0.0667845 -0.0713163 -0.075568
-0.0795231 -0.0831655 -0.0864804 -0.0894556 -0.0920795 -0.0943418 -0.0962336
-0.0977475 -0.0988776 -0.0996194 -0.09997;
#X coords 0 1 1024 -1 200 140 1;
#X restore 84 285 graph;
#X obj 152 259 tabwrite~ VisuSignal;
#X obj 105 197 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 306 172 clip~ -0.1 0.1;
#X obj 105 224 metro 100;
#X text 254 65 Oscillateur à fréquence fixe 440Hz (note La de référence)
;
#X text 32 165 Métronome pour rafraîchir l'affichage de l'onde sonore
;
#X text 345 212 Sortie audio : même signal sur canaux gauche et droit
;
#X obj 306 132 *~ 0.1;
#X text 403 167 Limitation dure de l'amplitude à 0.1 (sécurité)
;
#X text 354 126 Division de l'amplitude par 10;
#X connect 0 0 10 0;
#X connect 4 0 6 0;
#X connect 5 0 3 0;
#X connect 5 0 1 0;
#X connect 5 0 1 1;
#X connect 6 0 3 0;
#X connect 10 0 5 0;

View File

@ -0,0 +1,69 @@
#N canvas 663 296 552 450 10;
#X obj 223 68 osc~ 440;
#X obj 306 215 dac~;
#X obj 306 132 *~;
#X obj 330 104 line~;
#X text 401 43 on;
#X text 398 72 off;
#X text 387 101 envelope;
#X text 387 114 generator;
#X text 314 23 amplitude controls:;
#N canvas 0 22 450 278 (subpatch) 0;
#X array VisuSignal 1024 float 3;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
#A 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X coords 0 1 1024 -1 200 140 1;
#X restore 74 247 graph;
#X obj 142 221 tabwrite~ VisuSignal;
#X text 148 32 Oscillateur à fréquence fixe 440Hz (note La de référence)
;
#X text 22 127 Métronome pour rafraîchir l'affichage de l'onde sonore
;
#X obj 96 160 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 306 172 clip~ -0.1 0.1;
#X msg 329 48 0.1 1000;
#X msg 349 73 0 1000;
#X text 404 165 Limitation dure de l'amplitude à 0.1;
#X obj 95 186 metro 100;
#X text 345 212 Sortie audio : même signal sur canaux gauche et droit
;
#X connect 0 0 2 0;
#X connect 2 0 14 0;
#X connect 3 0 2 1;
#X connect 13 0 18 0;
#X connect 14 0 10 0;
#X connect 14 0 1 0;
#X connect 14 0 1 1;
#X connect 15 0 3 0;
#X connect 16 0 3 0;
#X connect 18 0 10 0;

View File

@ -0,0 +1,193 @@
#N canvas 0 23 1363 855 10;
#X floatatom 117 501 5 0 0 0 - - -;
#X obj 147 227 key;
#X floatatom 147 256 5 0 0 0 - - -;
#X obj -240 377 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj -240 348 sel 1;
#X text -229 397 Do;
#X text -191 396 Do#;
#X obj -198 377 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj -198 348 sel 1;
#X obj -198 319 == 122;
#X obj -240 319 == 113;
#X obj -155 377 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj -155 348 sel 1;
#X obj -155 319 == 115;
#X obj -111 377 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj -111 348 sel 1;
#X obj -111 319 == 101;
#X text -139 396 Ré;
#X text -99 395 Ré#;
#X obj -69 377 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj -69 348 sel 1;
#X obj -27 377 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj -27 348 sel 1;
#X obj 16 377 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 16 348 sel 1;
#X obj 60 377 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 60 348 sel 1;
#X text -55 395 Mi;
#X text -12 395 Fa;
#X text 26 395 Fa#;
#X text 68 396 Sol;
#X text 107 396 Sol#;
#X text 161 397 La;
#X text 201 396 La#;
#X obj -69 319 == 100;
#X obj -27 319 == 102;
#X obj 16 319 == 116;
#X obj 60 318 == 103;
#X text 245 397 Si;
#X text 289 397 Do;
#X text 327 396 Do#;
#X text 379 396 Ré;
#X text 419 395 Ré#;
#X text 463 395 Mi;
#X obj 103 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 103 347 sel 1;
#X obj 145 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 145 347 sel 1;
#X obj 188 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 188 347 sel 1;
#X obj 232 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 232 347 sel 1;
#X obj 274 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 274 347 sel 1;
#X obj 316 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 316 347 sel 1;
#X obj 359 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 359 347 sel 1;
#X obj 403 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 403 347 sel 1;
#X obj 446 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 446 347 sel 1;
#X obj 103 318 == 121;
#X obj 145 318 == 104;
#X obj 188 317 == 117;
#X obj 232 318 == 106;
#X obj 274 318 == 107;
#X obj 316 318 == 111;
#X obj 359 318 == 108;
#X obj 403 317 == 112;
#X obj 446 317 == 109;
#X text 171 500 Note de courante de l'arpégiatteur;
#X msg -240 429 48;
#X msg -199 429 49;
#X msg -154 429 50;
#X msg -110 430 51;
#X msg -69 430 52;
#X msg -27 430 53;
#X msg 17 430 54;
#X msg 60 430 55;
#X msg 104 430 56;
#X msg 145 430 57;
#X msg 187 430 58;
#X msg 232 429 59;
#X msg 274 427 60;
#X msg 316 427 61;
#X msg 361 427 62;
#X msg 403 427 63;
#X msg 447 428 64;
#X connect 1 0 2 0;
#X connect 2 0 9 0;
#X connect 2 0 10 0;
#X connect 2 0 13 0;
#X connect 2 0 16 0;
#X connect 2 0 34 0;
#X connect 2 0 35 0;
#X connect 2 0 36 0;
#X connect 2 0 37 0;
#X connect 2 0 62 0;
#X connect 2 0 63 0;
#X connect 2 0 64 0;
#X connect 2 0 65 0;
#X connect 2 0 66 0;
#X connect 2 0 67 0;
#X connect 2 0 68 0;
#X connect 2 0 69 0;
#X connect 2 0 70 0;
#X connect 3 0 72 0;
#X connect 4 0 3 0;
#X connect 7 0 73 0;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
#X connect 10 0 4 0;
#X connect 11 0 74 0;
#X connect 12 0 11 0;
#X connect 13 0 12 0;
#X connect 14 0 75 0;
#X connect 15 0 14 0;
#X connect 16 0 15 0;
#X connect 19 0 76 0;
#X connect 20 0 19 0;
#X connect 21 0 77 0;
#X connect 22 0 21 0;
#X connect 23 0 78 0;
#X connect 24 0 23 0;
#X connect 25 0 79 0;
#X connect 26 0 25 0;
#X connect 34 0 20 0;
#X connect 35 0 22 0;
#X connect 36 0 24 0;
#X connect 37 0 26 0;
#X connect 44 0 80 0;
#X connect 45 0 44 0;
#X connect 46 0 81 0;
#X connect 47 0 46 0;
#X connect 48 0 82 0;
#X connect 49 0 48 0;
#X connect 50 0 83 0;
#X connect 51 0 50 0;
#X connect 52 0 84 0;
#X connect 53 0 52 0;
#X connect 54 0 85 0;
#X connect 55 0 54 0;
#X connect 56 0 86 0;
#X connect 57 0 56 0;
#X connect 58 0 87 0;
#X connect 59 0 58 0;
#X connect 60 0 88 0;
#X connect 61 0 60 0;
#X connect 62 0 45 0;
#X connect 63 0 47 0;
#X connect 64 0 49 0;
#X connect 65 0 51 0;
#X connect 66 0 53 0;
#X connect 67 0 55 0;
#X connect 68 0 57 0;
#X connect 69 0 59 0;
#X connect 70 0 61 0;
#X connect 72 0 0 0;
#X connect 73 0 0 0;
#X connect 74 0 0 0;
#X connect 75 0 0 0;
#X connect 76 0 0 0;
#X connect 77 0 0 0;
#X connect 78 0 0 0;
#X connect 79 0 0 0;
#X connect 80 0 0 0;
#X connect 81 0 0 0;
#X connect 82 0 0 0;
#X connect 83 0 0 0;
#X connect 84 0 0 0;
#X connect 85 0 0 0;
#X connect 86 0 0 0;
#X connect 87 0 0 0;
#X connect 88 0 0 0;

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 KiB