ibniz
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
ibniz [2018/12/03 12:40] – Benjamin Labomedia | ibniz [2024/03/05 16:23] (Version actuelle) – Benjamin Labomedia | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Ibniz ====== | ====== Ibniz ====== | ||
+ | |||
+ | ===== Ibniz ===== | ||
IBNIZ est un logiciel qui permet générer de l' | IBNIZ est un logiciel qui permet générer de l' | ||
Ligne 5: | Ligne 7: | ||
L' | L' | ||
- | {{ youtube> | + | {{ youtube> |
- | ====== Installation | + | ===== Installation ===== |
- | ===== Sous Ubuntu / Debian / Raspbian | + | ==== Sous Ubuntu / Debian / Raspbian ==== |
==== Par les dépôts ==== | ==== Par les dépôts ==== | ||
Ligne 20: | Ligne 22: | ||
Installer le paquet // | Installer le paquet // | ||
sudo apt-get install libsdl2-dev | sudo apt-get install libsdl2-dev | ||
+ | Ou plutot en 2024 ?! | ||
+ | sudo apt install libsdl1.2-dev | ||
git clone https:// | git clone https:// | ||
cd IBNIZ | cd IBNIZ | ||
make | make | ||
+ | sudo make install | ||
./ibniz pour lancer le logiciel | ./ibniz pour lancer le logiciel | ||
+ | Ou | ||
+ | git clone https:// | ||
+ | cd IBNIZ/src | ||
+ | sudo apt install libsdl1.2-dev | ||
+ | make | ||
+ | ./ibniz | ||
==== Kano ==== | ==== Kano ==== | ||
raspbian customisé par os Kano http:// | raspbian customisé par os Kano http:// | ||
Ligne 34: | Ligne 45: | ||
{{: | {{: | ||
- | ===== Sous Mac OSX ===== | + | ==== Sous Mac OSX ==== |
==== Installation de Xcode ==== | ==== Installation de Xcode ==== | ||
Ligne 73: | Ligne 84: | ||
Voila pour le mac | Voila pour le mac | ||
- | ===== IBNIZ pour Android | + | ==== IBNIZ pour Android ==== |
- | Un portage de Ibniz par ce très cher Cedriko <3 en version beta à télécharger là : {{ :: | + | Un portage de Ibniz par ce très cher Cedriko <3 en version beta à télécharger là : {{ media_07: |
- | ===== IBNIZ pour iOS ===== | + | ==== IBNIZ pour iOS ==== |
Par ici : http:// | Par ici : http:// | ||
Ligne 119: | Ligne 130: | ||
Le principe de ibniz, c'est qu'il y a un compteur incrémenté de 0000.0000 jusqu' | Le principe de ibniz, c'est qu'il y a un compteur incrémenté de 0000.0000 jusqu' | ||
- | {{ : | + | {{ media_07: |
==== L' | ==== L' | ||
Ligne 130: | Ligne 141: | ||
Ensuite le compteur est incrémenté à une certaine vitesse. Cela dépend de la vitesse de calcul de la machine que tu utilise, mais avec 60 FPS, le compteur compte de 0 à 60 en 1 sec, cela fait 60*1024 incrément audio. Cela veut dire que 60 fois par seconde, la partie décimale du compteur passe de 0 à 1 par incrément de 1/ | Ensuite le compteur est incrémenté à une certaine vitesse. Cela dépend de la vitesse de calcul de la machine que tu utilise, mais avec 60 FPS, le compteur compte de 0 à 60 en 1 sec, cela fait 60*1024 incrément audio. Cela veut dire que 60 fois par seconde, la partie décimale du compteur passe de 0 à 1 par incrément de 1/ | ||
- | {{ : | + | {{ media_07: |
Du côté de la production sonore de Ibniz, en fait, ibniz prend en entrée une valeur comprise entre 0 et 1 et produit un son. Donc par défaut, la dent de scie est envoyé et une dent de scie qui varie 60 fois par seconde entre 0 et 1 cela produit le son par défaut de Ibniz. | Du côté de la production sonore de Ibniz, en fait, ibniz prend en entrée une valeur comprise entre 0 et 1 et produit un son. Donc par défaut, la dent de scie est envoyé et une dent de scie qui varie 60 fois par seconde entre 0 et 1 cela produit le son par défaut de Ibniz. | ||
Ligne 137: | Ligne 148: | ||
D'un autre côté, la note LA, est produite par une sinusoide de fréquence 220 Hz. | D'un autre côté, la note LA, est produite par une sinusoide de fréquence 220 Hz. | ||
- | {{ : | + | {{ media_07: |
Pour produire un LA avec Ibniz, il faut donc produire non pas une dent de scie, mais une sinusoide qui varie entre 0 et 1 à 220 Hz. Le jeu consiste donc à ecrire la bonne fonction mathématique dans Ibniz qui sera capable de convertir la dent de scie entre 0 et 1 qui varie 60 fois par seconde en une sinusoide qui varie entre 0 et 1 220 fois par seconde. | Pour produire un LA avec Ibniz, il faut donc produire non pas une dent de scie, mais une sinusoide qui varie entre 0 et 1 à 220 Hz. Le jeu consiste donc à ecrire la bonne fonction mathématique dans Ibniz qui sera capable de convertir la dent de scie entre 0 et 1 qui varie 60 fois par seconde en une sinusoide qui varie entre 0 et 1 220 fois par seconde. | ||
Ligne 145: | Ligne 156: | ||
Enfin, la fonction sinusoide d' | Enfin, la fonction sinusoide d' | ||
- | {{ : | + | {{ media_07: |
Au sujet du +1 /2 (ou 1+ 2/) : la sinusoide produit un résultat compris entre -1 et 1. Or, lbniz, pour produire du son, ne prend que la partie entre 0 et 1 du résultat. | Au sujet du +1 /2 (ou 1+ 2/) : la sinusoide produit un résultat compris entre -1 et 1. Or, lbniz, pour produire du son, ne prend que la partie entre 0 et 1 du résultat. | ||
Ligne 164: | Ligne 175: | ||
==== L' | ==== L' | ||
- | Pour la vidéo, le compteur est incrémenté par pas de OOOO.OOO1 soit 1/65536. | + | Pour la vidéo, le compteur est incrémenté par pas de 0000.0001 soit 1/65536. |
Pour la vidéo, le compteur va donc avoir les valeur suivantes : 0, 1/65536, 2/65536, ..., 65535/ | Pour la vidéo, le compteur va donc avoir les valeur suivantes : 0, 1/65536, 2/65536, ..., 65535/ | ||
- | ===== Les bases de fonctionnement issues de l' | + | ==== Les bases de fonctionnement issues de l' |
Notes : Les informations ci-dessous sont issues de ce que j'ai compris d' | Notes : Les informations ci-dessous sont issues de ce que j'ai compris d' | ||
Ligne 192: | Ligne 203: | ||
Un nouveau cycle recommence, IBINIZ repars à l' | Un nouveau cycle recommence, IBINIZ repars à l' | ||
- | ===== Les différents modes de fonctionnement | + | ==== Les différents modes de fonctionnement ==== |
IBNIZ dispose de 3 modes de fonctionnement : | IBNIZ dispose de 3 modes de fonctionnement : | ||
Ligne 210: | Ligne 221: | ||
Attention, l' | Attention, l' | ||
- | ====== Enregistrement / Lecture d'un set ====== | + | ===== Enregistrement / Lecture d'un set ===== |
- | ===== Enregistrement | + | ==== Enregistrement ==== |
La commande suivante va lancer IBNIZ puis enregistrer tout ce qui sera taper au clavier en conservant très précisément le délais qui séparera chaque commande. Il est ainsi possible d’enregistrer un live de plusieurs heures. | La commande suivante va lancer IBNIZ puis enregistrer tout ce qui sera taper au clavier en conservant très précisément le délais qui séparera chaque commande. Il est ainsi possible d’enregistrer un live de plusieurs heures. | ||
'' | '' | ||
- | ===== Lecture | + | ==== Lecture ==== |
Pour le rejouer, il faut utiliser la commande suivante : | Pour le rejouer, il faut utiliser la commande suivante : | ||
'' | '' | ||
- | ====== | + | ===== Exemples |
- | ===== Modification de la font ===== | + | |
+ | < | ||
+ | Shortest IBNIZ programs that show something " | ||
+ | |||
+ | All 0-2-char-long programs that stackbalance to +1 in T- or TXY-video | ||
+ | have been tested. | ||
+ | |||
+ | EMPTY PROGRAM: | ||
+ | - gradient & sawtooth | ||
+ | |||
+ | 1-CHARRERS: | ||
+ | - flasher slowing down: q | ||
+ | - glitchy halfscreen: ( | ||
+ | - colorfade: ! | ||
+ | |||
+ | 2-CHARRERS: | ||
+ | - tv noise: *d | ||
+ | - trippy & whining rotator: d* | ||
+ | - *-textured headache: -d | ||
+ | - zooming *-texture: ** | ||
+ | - stopping near negative star: */ | ||
+ | - mcp: %* %/ %* %% | ||
+ | - gradual art: %a | ||
+ | - spotlights among *-textures: a* a/ a% | ||
+ | - flasher: 9/ | ||
+ | - plasmas: Al | ||
+ | - moving glitchsquares: | ||
+ | - jupiter storm: +/ +% -/ -% r/ r% l/ l% | ||
+ | - blinking stripes: +r +l -r -l | ||
+ | - stopping in hyperspace: /* // /% | ||
+ | - stuff with sierpinski triangles: &* && |* |/ |% &- |a | ||
+ | - munching epilepsy: ^* ^/ ^% | ||
+ | - polyrhythmic flasher slowing down: qs | ||
+ | - noisy bar scrolling down slowly: q) | ||
+ | - random squeaks: q@ | ||
+ | - noisy bar in a *-textured night: s) | ||
+ | - squarewave sliding down: )~ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== en vrac ==== | ||
+ | |||
+ | 0!1!2! 0@2@8rs* 1@2@8r.4+s*+ | ||
+ | |||
+ | Ici aussi : https:// | ||
+ | |||
+ | Et tous les programmes d'une personne qui s'est bien creusée la tête pour comprendre comment fonctionne ibniz : https:// | ||
+ | |||
+ | ==== couleurs ==== | ||
+ | |||
+ | p 6F4D.B000 \ tous les pixels de la même couleur | ||
+ | * p : pop la valeur de T depuis la pile | ||
+ | * 6F4D : définition de la teinte de la couleur | ||
+ | * B000 : luminosité | ||
+ | |||
+ | Fl : ne garde que la partie entière | ||
+ | ==== séquences ==== | ||
+ | |||
+ | Une séquence basée sur des sous-routines avec une tentative d' | ||
+ | |||
+ | < | ||
+ | 1{d6r+} | ||
+ | 2{d4r^} | ||
+ | 3{d3r*} | ||
+ | 4{dFr-} | ||
+ | 2)6r3& | ||
+ | </ | ||
+ | |||
+ | Tourne entre 1,2,3,4, quand on change 6 ça tourne de plus en plus vite! c'est une bonne base pour travailler des séquences | ||
+ | |||
+ | * **2)** récupère T au fond de la pile | ||
+ | * **3&** ne conserve que les deux derniers bits (donc compris entre 0 et 3) | ||
+ | * **1+** ajoute 1 le résultat est compris en 1 et 4 | ||
+ | * **V** récupère la sous-routine du chiffre qui précède | ||
+ | ===== Expérimentation ===== | ||
+ | ==== Modification de la font ==== | ||
Pour changer l' | Pour changer l' | ||
Ligne 250: | Ligne 336: | ||
Voici un essai avec des caractères qui bouclent entre eux. {{: | Voici un essai avec des caractères qui bouclent entre eux. {{: | ||
- | ===== Construction d'un set avec un script Python | + | ==== Construction d'un set avec un script Python ==== |
La structure d'un fichier d' | La structure d'un fichier d' | ||
Ligne 382: | Ligne 468: | ||
{{: | {{: | ||
- | ===== Alimenter IBNIZ de l' | + | ==== Alimenter IBNIZ de l' |
Piste : [[http:// | Piste : [[http:// | ||
- | ===== Autres versions | + | ==== Autres versions ==== |
Info : https:// | Info : https:// | ||
Ligne 405: | Ligne 491: | ||
- | ===== References | + | ==== References ==== |
* Le site officiel est http:// | * Le site officiel est http:// | ||
* Une bonne page pour (commencer à) comprendre [[http:// | * Une bonne page pour (commencer à) comprendre [[http:// | ||
Ligne 416: | Ligne 502: | ||
* Une version de Ibniz qui permet d' | * Une version de Ibniz qui permet d' | ||
* Une interface graphique qui permet de gérer différents sets IBNIZ et de lancer plusieurs IBNIZ à des positions et avec des tailles et à des positions différentes : [[https:// | * Une interface graphique qui permet de gérer différents sets IBNIZ et de lancer plusieurs IBNIZ à des positions et avec des tailles et à des positions différentes : [[https:// | ||
+ | * Un PAD avec plein de " | ||
+ | * Une {{ :: | ||
+ | * https:// | ||
+ | * http:// | ||
- | + | {{tag> | |
- | + | ||
- | + | ||
- | + | ||
- | {{tag> | + |
ibniz.txt · Dernière modification : 2024/03/05 16:23 de Benjamin Labomedia