Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ressource:logiciel:foxdot_troop:start [2021/09/19 14:57]
emoc [aide-mémoire]
ressource:logiciel:foxdot_troop:start [2023/11/29 23:09] (Version actuelle)
emoc
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 42: Ligne 42:
 ==== aide-mémoire ==== ==== aide-mémoire ====
  
-Un bloc de code est composé de lignes qui se suivent sans ligne vide, il est exécuté d'un coup. \\  +Un bloc de code est composé de **lignes qui se suivent sans ligne vide**, il est exécuté d'un coup. \\  
-On exécute ​une ligne ou un bloc avec <​key>​Ctrl</​key>​ + <​key>​Enter</​key>​ après avoir placé le curseur sur la ligne \\+On exécute un bloc avec <​key>​Ctrl</​key>​ + <​key>​Enter</​key>​ après avoir placé le curseur sur la ligne \\ 
 +On peut aussi exécuter une seule ligne avec <​key>​Alt</​key>​ + <​key>​Enter</​key> ​\\
 Un «player» est toujours composé de deux caractères,​ pour jouer à plusieurs on recommande d'​utiliser une lettre (initiale du pseudo) + un chiffre, exemples : d1, f4, etc. \\ Un «player» est toujours composé de deux caractères,​ pour jouer à plusieurs on recommande d'​utiliser une lettre (initiale du pseudo) + un chiffre, exemples : d1, f4, etc. \\
 Par défaut, Foxdot fonctionne avec les paramètres suivants : Par défaut, Foxdot fonctionne avec les paramètres suivants :
Ligne 56: Ligne 57:
  
 **Un instrument** \\ **Un instrument** \\
-  p1 >> pads((0,​2,​4)) ​        // Les parenthèses définissent un accord +  p1 >> pads((0,​2,​4)) ​        Les parenthèses définissent un accord 
-  p1 >> pads([0,​1,​2,​(3,​5,​7)]) ​// Les crochets carrés définissent une séquence+  p1 >> pads([0,​1,​2,​(3,​5,​7)]) ​Les crochets carrés définissent une séquence
   p1 >> pads([0,​1,​2,​3],​ dur=[1,​1/​2,​1/​2],​ amp=[1.5,​0.5],​ sus=2, pan=[-1,1], oct=[5,​5,​5,​(4,​6)])   p1 >> pads([0,​1,​2,​3],​ dur=[1,​1/​2,​1/​2],​ amp=[1.5,​0.5],​ sus=2, pan=[-1,1], oct=[5,​5,​5,​(4,​6)])
  
-**Un rythme** \\ +**Des rythmes** \\ 
- +Chaque ​instrument de percussion est défini par un caractère qui correspond à un répertoire de samples
-chaque ​instrument de percussion est défini par un caractère qui correspond à un répertoire de samples+
   d1 >> play("​x-o-"​)   d1 >> play("​x-o-"​)
   d1 >> play("​x-o-",​ sample=[0,​1,​2])   d1 >> play("​x-o-",​ sample=[0,​1,​2])
  
 +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(-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("​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
 +  d1 >> play("​x-(-[-o])",​ dur=[3/​4,​3/​4,​1/​2],​ rate=[1,​2,​0.5,​-1])
 +  ​
 <code python> <code python>
 Clock.bpm = 120 Clock.bpm = 120
  
-h1 >> play("​x ​     xx x     "​)+h1 >> play("​x ​     xx x     "​) ​ # l'​espace correspond à un silence
 h2 >> play(" ​   o       ​o ​  "​) h2 >> play(" ​   o       ​o ​  "​)
 h3 >> play("​- - - - - - - - ") h3 >> play("​- - - - - - - - ")
- 
-h3 >> play("​- - - - - = - = ") 
   ​   ​
 h1.stop(); h2.stop(); h3.stop(); h1.stop(); h2.stop(); h3.stop();
Ligne 245: 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 252: Ligne 266:
 Et une petite cheatsheet à télécharger : {{ :​ressource:​logiciel:​foxdot_troop:​foxdot_cheat_sheet.pdf |foxdot cheatsheet}} Et une petite cheatsheet à télécharger : {{ :​ressource:​logiciel:​foxdot_troop:​foxdot_cheat_sheet.pdf |foxdot cheatsheet}}
 ==== Divers ==== ==== Divers ====
 +
 +**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''​ \\
 +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 257: Ligne 292:
   /​home/​emoc/​.local/​lib/​python3.5/​site-packages/​FoxDot/​lib/​Buffers.py   /​home/​emoc/​.local/​lib/​python3.5/​site-packages/​FoxDot/​lib/​Buffers.py
 Les échantillons sont rangés dans Les échantillons sont rangés dans
-  /​home/​emoc/​.local/​lib/​python3.5/​site-packages/​FoxDot/​sndv+  /​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 264: 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 271: 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 282: 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|}}
  • ressource/logiciel/foxdot_troop/start.1632056276.txt.gz
  • Dernière modification: 2021/09/19 14:57
  • par emoc