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édenteProchaine révisionLes deux révisions suivantes | ||
ibniz [2019/01/19 13:27] – serge | ibniz [2023/07/20 10:50] – [en vrac] emoc | ||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
L' | L' | ||
- | {{ youtube> | + | {{ youtube> |
Ligne 27: | Ligne 27: | ||
./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 76: | Ligne 82: | ||
==== 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:// | ||
- | ==== Principes & Fonctionnement ==== | + | ===== Principes & Fonctionnement |
Je propose de documenter un peu le fonctionnement d' | Je propose de documenter un peu le fonctionnement d' | ||
Ligne 121: | Ligne 127: | ||
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 132: | Ligne 138: | ||
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 139: | Ligne 145: | ||
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 147: | Ligne 153: | ||
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 166: | Ligne 172: | ||
==== 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/ | ||
Ligne 223: | Ligne 229: | ||
'' | '' | ||
+ | ===== Exemples ===== | ||
+ | |||
+ | < | ||
+ | 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 ===== | ===== Expérimentation ===== | ||
==== Modification de la font ==== | ==== Modification de la font ==== | ||
Ligne 418: | Ligne 499: | ||
* 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 " | + | * Un PAD avec plein de " |
+ | * Une {{ :: | ||
- | {{tag> | + | {{tag> |
ibniz.txt · Dernière modification : 2024/03/05 16:23 de Benjamin Labomedia