Ceci est une ancienne révision du document !


FoxDot

FoxDot est un langage de livecoding qui permet d'écrire de la musique, de la transformer et de la jouer en temps réel. FoxDot est développé en python par Ryan Kirkbride

Installation de supercollider et foxdot sur debian stetch 9.5

# installer supercollider
sudo apt-get install supercollider

# installer les sc3-plugins en suivant https://github.com/supercollider/sc3-plugins

# démarrer supercollider : démarrer / son et vidéo / supercollider IDE 
# dans supercollider
# Quarks.install("https://github.com/Qirky/FoxDotQuark.git")
# Quarks.install("https://github.com/supercollider-quarks/BatLib.git")

pip3 install --user FoxDot --upgrade
sudo apt-get install python3-tk
# démarrer supercollider : démarrer / son et vidéo / supercollider IDE 
# dans supercollider
# écrire dans la partie gauche de la fenêtre : FoxDot.start , pui faire CTRL+ENTER sur la ligne pour l'exécuter 
# puis dans un terminal
python3 -m FoxDot &

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 Ctrl + ↵ Enter après avoir placé le curseur sur la ligne
Une variable est composée d'une lettre et d'un chiffre, exemples : d1, f4, etc.

print(SynthDefs)               # afficher tous les instruments
print(Player.get_attributes()) # afficher tous les attributs
print(FxList)                  # afficher tous les effets
print(Samples)                 # afficher tous les échantillons

Ce qui donne avec la version 0.8.3 :

foxdot : tous les instruments

foxdot_0.8.3_tous_les_instruments.txt
['bass', 'orient', 'spark', 'keys', 'glass', 'arpy', 'dbass', 'zap', 'nylon', 'blip', 'saw', 'loop', 'play2', 'scratch', 'marimba', 'bell', 'soft', 'scatter', 'lazer', 'sitar', 'play1', 'fuzz', 'pasha', 'creep', 'swell', 'feel', 'quin', 'dirt', 'squish', 'bug', 'pads', 'sinepad', 'dab', 'jbass', 'donk', 'crunch', 'razz', 'prophet', 'charm', 'stretch', 'snick', 'space', 'gong', 'soprano', 'rave', 'ripple', 'sawbass', 'pulse', 'karp', 'star', 'noise', 'ambi', 'audioin', 'varsaw', 'klank', 'pluck', 'growl', 'dub', 'twang', 'viola']

foxdot : tous les attributs

foxdot_0.8.3_tous_les_attributs.txt
('degree', 'oct', 'freq', 'dur', 'delay', 'buf', 'blur', 'amplify', 'scale', 'bpm', 'sample', 'env', 'sus', 'fmod', 'pan', 'rate', 'amp', 'midinote', 'channel', 'vibdepth', 'vib', 'slide', 'slidedelay', 'sus', 'slidefrom', 'glidedelay', 'glide', 'bend', 'benddelay', 'coarse', 'rate', 'striate', 'buf', 'pshift', 'hpf', 'hpr', 'lpr', 'lpf', 'swell', 'bpnoise', 'bpr', 'bpf', 'chop', 'tremolo', 'beat_dur', 'echotime', 'echo', 'spin', 'cut', 'mix', 'room', 'formant', 'shape', 'drive')

foxdot : tous les effets

foxdot_0.8.3_tous_les_effets.txt
<'bandPassFilter': keyword='bpf', other args=['bpnoise', 'bpr', 'sus']>
<'chop': keyword='chop', other args=['sus']>
<'coarse': keyword='coarse', other args=['sus']>
<'combDelay': keyword='echo', other args=['echotime', 'beat_dur']>
<'filterSwell': keyword='swell', other args=['sus', 'hpr']>
<'formantFilter': keyword='formant'>
<'glissando': keyword='glide', other args=['glidedelay', 'sus']>
<'highPassFilter': keyword='hpf', other args=['hpr']>
<'lowPassFilter': keyword='lpf', other args=['lpr']>
<'overdriveDistortion': keyword='drive'>
<'pitchBend': keyword='bend', other args=['benddelay', 'sus']>
<'pitchShift': keyword='pshift'>
<'reverb': keyword='room', other args=['mix']>
<'slideFrom': keyword='slidefrom', other args=['slidedelay', 'sus']>
<'slideTo': keyword='slide', other args=['slidedelay', 'sus']>
<'spinPan': keyword='spin', other args=['sus']>
<'striate': keyword='striate', other args=['rate', 'buf', 'sus']>
<'tremolo': keyword='tremolo', other args=['beat_dur']>
<'trimLength': keyword='cut', other args=['sus']>
<'vibrato': keyword='vib', other args=['vibdepth']>
<'wavesShapeDistortion': keyword='shape'>

foxdot : tous les samples

foxdot_0.8.3_tous_les_samples.txt
'!': Yeah!
'#': Crash
'$': Beatbox
'%': Noise bursts
'&': Chime
'*': Clap
'+': Clicks
'-': Hi hat closed
'/': Reverse sounds
'1': Vocals (One)
'2': Vocals (Two)
'3': Vocals (Three)
'4': Vocals (Four)
':': Hi-hats
'=': Hi hat open
'@': Gameboy noise
'A': Gameboy kick drum
'B': Short saw
'C': Choral
'D': Dirty snare
'E': Ringing percussion
'F': Trumpet stabs
'G': Ambient stabs
'H': Clap
'I': Rock snare
'J': Ambient stabs
'K': Percussive hits
'L': Noisy percussive hits
'M': Acoustic toms
'N': Gameboy SFX
'O': Heavy snare
'P': Tabla long
'Q': Electronic stabs
'R': Metallic
'S': Tamborine
'T': Cowbell
'U': Misc. Fx
'V': Hard kick
'W': Distorted
'X': Heavy kick
'Y': High buzz
'Z': Loud stabs
'\\': Lazer
'^': 'Donk'
'a': Gameboy hihat
'b': Noisy beep
'c': Voice/string
'd': Woodblock
'e': Electronic Cowbell
'f': Pops
'g': Ominous
'h': Finger snaps
'i': Jungle snare
'j': Whines
'k': Wood shaker
'l': Robot noise
'm': 808 toms
'n': Noise
'o': Snare drum
'p': Tabla
'q': Ambient stabs
'r': Metal
's': Shaker
't': Rimshot
'u': Soft snare
'v': Soft kick
'w': Dub hits
'x': Bass drum
'y': Percussive hits
'z': Scratch
'|': Hangdrum
'~': Ride cymbal

Et une petite cheatsheet à télécharger : foxdot cheatsheet

Ajouter des répertoires de samples
on peut modifier le fichier ci-dessous pour indiquer de nouveaux répertoires qui pourront être utilisés avec play (plutot que loop)

/home/emoc/.local/lib/python3.5/site-packages/FoxDot/lib/Buffers.py

Les échantillons sont rangés dans

/home/emoc/.local/lib/python3.5/site-packages/FoxDot/sndv

Troop

Troop est un serveur qui permet de jouer à plusieurs, collaborativement. Il peut s'utiliser avec FoxDot ou d'autres langages de livecoding.

Installation de Troop : https://github.com/Qirky/Troop/

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.

  • ressource/logiciel/foxdot_troop/start.1632054323.txt.gz
  • Dernière modification: 2021/09/19 14:25
  • par emoc