Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
ressource:logiciel:foxdot_troop:start [2021/09/20 15:39] emoc [Divers] |
ressource:logiciel:foxdot_troop:start [2022/07/22 10:45] emoc [Instruments, attributs, effets, samples, gammes] |
||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
Voir | Voir | ||
- | * https://github.com/Qirky/FoxDots | + | * https://github.com/Qirky/FoxDot |
* https://foxdot.org/installation/ | * https://foxdot.org/installation/ | ||
- | === Installation de supercollider et foxdot sur debian stetch 9.5 === | + | === Installation de supercollider et foxdot sur debian stretch 9.5 === |
<code> | <code> | ||
Ligne 67: | Ligne 67: | ||
On peut varier les rythmes avec : | On peut varier les rythmes avec : | ||
- | d1 >> play("x-o[--]") # des crochets carrés pour jouer plusieurs samples sur un même pas | + | d1 >> play("x-o[--]") # des crochets carrés pour jouer plusieurs samples sur un même pas |
- | d1 >> play("x-o(-o)") # des parenthèses pour alterner entre plusieurs sons | + | d1 >> play("x-o(-o)") # des parenthèses pour alterner entre plusieurs sons |
- | d1 >> play("x-o{-o*}") # des accolades pour piocher un sample au hasard dans le répertoire correspondant | + | d1 >> play("x-o{-o*}") # des accolades pour piocher un sample au hasard dans le répertoire correspondant |
- | d1 >> play("x-o{-[--]o}") | + | d1 >> play("o ", sample=[3]) # changer l'index du sample dans le répertoire |
+ | d1 >> play("x-o{-[--]o}") # mélange possible! | ||
+ | d1 >> play("x-|o2|-") # entre barres verticales : jouer le sample 2 du répertoire o | ||
+ | d1 >> play("<x-o->< + + [ +]>") # deux couches de percussions, entre chevrons | ||
+ | d1 >> play("<x x xx x>< o o ><: : : : : : : : >", amp=(1, 0.3, 0.4)) # amplification différente pour chaque couche | ||
+ | d1 >> play("< x x ><[::][: ]: : : : : [::][: ]: >< o >", amp=(1, 0.3, 0.8)) | ||
Rate modifie la vitesse de lecture | Rate modifie la vitesse de lecture | ||
Ligne 252: | Ligne 257: | ||
<code python foxdot_0.8.3_toutes_les_gammes.txt> | <code python foxdot_0.8.3_toutes_les_gammes.txt> | ||
['aeolian', 'altered', 'bebopDom', 'bebopDorian', 'bebopMaj', 'bebopMelMin', 'blues', 'chinese', 'chromatic', 'custom', 'default', 'diminished', 'dorian', 'dorian2', 'egyptian', 'freq', 'halfDim', 'halfWhole', 'harmonicMajor', 'harmonicMinor', 'hungarianMinor', 'indian', 'justMajor', 'justMinor', 'locrian', 'locrianMajor', 'lydian', 'lydianAug', 'lydianDom', 'lydianMinor', 'major', 'majorPentatonic', 'melMin5th', 'melodicMajor', 'melodicMinor', 'minMaj', 'minor', 'minorPentatonic', 'mixolydian', 'phrygian', 'prometheus', 'romanianMinor', 'susb9', 'wholeHalf', 'wholeTone', 'yu', 'zhi'] | ['aeolian', 'altered', 'bebopDom', 'bebopDorian', 'bebopMaj', 'bebopMelMin', 'blues', 'chinese', 'chromatic', 'custom', 'default', 'diminished', 'dorian', 'dorian2', 'egyptian', 'freq', 'halfDim', 'halfWhole', 'harmonicMajor', 'harmonicMinor', 'hungarianMinor', 'indian', 'justMajor', 'justMinor', 'locrian', 'locrianMajor', 'lydian', 'lydianAug', 'lydianDom', 'lydianMinor', 'major', 'majorPentatonic', 'melMin5th', 'melodicMajor', 'melodicMinor', 'minMaj', 'minor', 'minorPentatonic', 'mixolydian', 'phrygian', 'prometheus', 'romanianMinor', 'susb9', 'wholeHalf', 'wholeTone', 'yu', 'zhi'] | ||
- | |||
</code> | </code> | ||
+ | {{:ressource:logiciel:foxdot_troop:foxdot_scalen.jpg?direct&1200|}} | ||
+ | |||
+ | (Image d'après [[https://gitlab.com/iShapeNoise/foxdot_codingmusic_part1/-/blob/main/files/FoxDot_CodingMusic_Part1_en.md|Foxdot,coding music part 1]], Jens Meisner) | ||
</panel> | </panel> | ||
</accordion> | </accordion> | ||
Ligne 261: | Ligne 268: | ||
**Comment sont programmés les players ?** \\ | **Comment sont programmés les players ?** \\ | ||
- | Chaque player est un SynthDef écrit en supercollider, il s'agit donc de synthèse sonore, excepté pour les sons de percussions qui sont des samples. On peut retrouver les définitions des SynthDefs dans le répertoire ''/home/user/.local/lib/python3.5/site-packages/FoxDot/osc/scsyndef'' | + | Chaque player est un SynthDef écrit en supercollider, il s'agit donc de synthèse sonore, excepté pour les sons de percussions qui sont des samples. On peut retrouver les définitions des SynthDefs dans le répertoire ''/home/user/.local/lib/python3.5/site-packages/FoxDot/osc/scsyndef'' \\ |
+ | Un exemple avec **glass** : | ||
+ | <code supercollider> | ||
+ | SynthDef.new(\glass, | ||
+ | {|freq=0, peak=1, rate=0, level=0.8, blur=1, vib=0, sus=1, pan=0, fmod=0, atk=0.01, rel=0.01, decay=0.01, bus=0, beat_dur=1, amp=1| | ||
+ | var osc, env; | ||
+ | sus = sus * blur; | ||
+ | freq = In.kr(bus, 1); | ||
+ | freq = [freq, freq+fmod]; | ||
+ | sus=(sus * 1.5); | ||
+ | amp=(amp * 1.5); | ||
+ | freq=(freq * [1, (1 + (0.005 * rate))]); | ||
+ | osc=Klank.ar(`[[2, 4, 9, 16], [1, 1, 1, 1], [2, 2, 2, 2]], (PinkNoise.ar(0.0005).dup * SinOsc.ar((freq / 4), mul: 0.5, add: 1)), freq); | ||
+ | env=EnvGen.ar(Env(levels: [0, amp, 0],times: (sus * 2),curve: 'lin'), doneAction: 0); | ||
+ | osc=(osc * env); | ||
+ | osc = Mix(osc) * 0.5; | ||
+ | osc = Pan2.ar(osc, pan); | ||
+ | ReplaceOut.ar(bus, osc)}).add; | ||
+ | </code> | ||
**Ajouter des répertoires de samples** \\ | **Ajouter des répertoires de samples** \\ | ||
Ligne 269: | Ligne 294: | ||
/home/emoc/.local/lib/python3.5/site-packages/FoxDot/snd | /home/emoc/.local/lib/python3.5/site-packages/FoxDot/snd | ||
+ | **Enregistrer ?** \\ | ||
+ | On peut enregistrer depuis la fenêtre de SuperCollider | ||
+ | Server.default.record | ||
+ | Pour arrêter | ||
+ | Server.default.stopRecording | ||
+ | L'enregistrement se fait en AIFF et le chemin vers le fichier est indiqué dans la fenêtre de supercollider, le fichier est automatiquement horodaté. | ||
===== Ressources ===== | ===== Ressources ===== | ||
Ligne 274: | Ligne 305: | ||
Forum anglophone : https://forum.toplap.org/c/communities/foxdot/17 | Forum anglophone : https://forum.toplap.org/c/communities/foxdot/17 | ||
+ | |||
+ | Tutoriel, en français de Marvin Wortman : http://marvinwortman.me/idlabs_foxdot | ||
**Tutoriels pour workshops** : https://github.com/Qirky/FoxDot-Worksheet | **Tutoriels pour workshops** : https://github.com/Qirky/FoxDot-Worksheet | ||
Ligne 281: | Ligne 314: | ||
* snippets : https://forum.toplap.org/t/share-your-snippets/711 | * snippets : https://forum.toplap.org/t/share-your-snippets/711 | ||
- | article de l'auteur sur Foxdot : http://users.sussex.ac.uk/~thm21/ICLI_proceedings/2016/Colloquium/68_FoxDot.pdf | + | Article de l'auteur sur Foxdot : http://users.sussex.ac.uk/~thm21/ICLI_proceedings/2016/Colloquium/68_FoxDot.pdf |
+ | |||
+ | Autre tutoriel complet (de Jens Meisner) : https://gitlab.com/iShapeNoise/foxdot_codingmusic_part1 | ||
D'autres ressources sur : https://fablabo.net/wiki/Livecoding et https://ressources.labomedia.org/live_coding | D'autres ressources sur : https://fablabo.net/wiki/Livecoding et https://ressources.labomedia.org/live_coding | ||
+ | à propos de supercollider : https://github.com/madskjeldgaard/awesome-supercollider | ||
====== Troop ====== | ====== Troop ====== | ||
Ligne 292: | Ligne 328: | ||
Il est recommandé d'utiliser la même version de Troop sur chaque machine qui se connecte au serveur et que le serveur et les clients soient de la même version. | Il est recommandé d'utiliser la même version de Troop sur chaque machine qui se connecte au serveur et que le serveur et les clients soient de la même version. | ||
+ | |||
+ | Voir [[ressource:logiciel:foxdot_troop:configuration_serveur_troop_debian_10|configuration d'un serveur troop sur debian 10]] | ||
{{:ressource:logiciel:foxdot_troop:foxdot_troop_server.png?direct&600|}} | {{:ressource:logiciel:foxdot_troop:foxdot_troop_server.png?direct&600|}} |