Outils pour utilisateurs

Outils du site


ibniz

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édentesRévision précédente
Prochaine révision
Révision précédente
ibniz [2019/02/23 14:35] – [References] sergeibniz [2024/03/05 16:23] (Version actuelle) Benjamin Labomedia
Ligne 7: Ligne 7:
 L'esthétique, autant sonore que visuel, est celle du 8bit. L'esthétique, autant sonore que visuel, est celle du 8bit.
  
-{{ youtube>aKMrBaXJvMs?large}} {{ibniz.jpg}}+{{ youtube>aKMrBaXJvMs?large}} {{media_07:ibniz.jpg}}
  
  
Ligne 22: Ligne 22:
 Installer le paquet //libsdl2-dev// Installer le paquet //libsdl2-dev//
     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://github.com/viznut/IBNIZ/tree/master/src     git clone https://github.com/viznut/IBNIZ/tree/master/src
     cd IBNIZ     cd IBNIZ
     make     make
 +    sudo make install
     ./ibniz pour lancer le logiciel     ./ibniz pour lancer le logiciel
  
 +Ou
 +    git clone https://github.com/viznut/IBNIZ.git
 +    cd IBNIZ/src
 +    sudo apt install libsdl1.2-dev
 +    make
 +    ./ibniz
 ==== Kano ==== ==== Kano ====
 raspbian customisé par os Kano http://www.kano.me/ raspbian customisé par os Kano http://www.kano.me/
Ligne 76: Ligne 85:
  
 ==== IBNIZ pour Android ==== ==== IBNIZ pour Android ====
-Un portage de Ibniz par ce très cher Cedriko <3 en version beta à télécharger là : {{ ::ibniz_android.zip |ibniz_android.zip}}+Un portage de Ibniz par ce très cher Cedriko <3 en version beta à télécharger là : {{ media_07:ibniz_android.zip |ibniz_android.zip}}
 ==== IBNIZ pour iOS ==== ==== IBNIZ pour iOS ====
 Par ici : http://bzztbomb.com/blog/2016/05/15/iosbniz/ Par ici : http://bzztbomb.com/blog/2016/05/15/iosbniz/
Ligne 121: Ligne 130:
 Le principe de ibniz, c'est qu'il y a un compteur incrémenté de 0000.0000 jusqu'à FFFF.FFFF puis repasse à 0 en boucle. C'est de l'hexadécimal, en fait si on convertit en décimale, le compteur est incrémenté de 0 jusqu'à 65535. Cela ressemble graphiquement à une dent de scie. Le principe de ibniz, c'est qu'il y a un compteur incrémenté de 0000.0000 jusqu'à FFFF.FFFF puis repasse à 0 en boucle. C'est de l'hexadécimal, en fait si on convertit en décimale, le compteur est incrémenté de 0 jusqu'à 65535. Cela ressemble graphiquement à une dent de scie.
  
-{{ :ibniz_saw_teeth_65536.png |}}+{{ media_07:ibniz_saw_teeth_65536.png |}}
  
 ==== L'interpretation audio ==== ==== L'interpretation audio ====
Ligne 132: 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/1024.  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/1024. 
  
-{{ :ibniz_saw_teeth_float_audio_with_frames.png |}}+{{ media_07:ibniz_saw_teeth_float_audio_with_frames.png |}}
  
 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 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. 
  
-{{ :ibniz_sin_220hz.png |}}+{{ media_07:ibniz_sin_220hz.png |}}
  
 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 156:
 Enfin, la fonction sinusoide d'Ibniz retourne une valeur entre -1 et 1 or, nous avons besoin de renvoyer une valeur comprise entre 0 et 1 pour produire du son. On peut donc modifier le résultat final comme suit : D'abort on ajoute 1 au résultat qui va donc varier entre 0 et 2, puis on divise par 2 le résultat. Si je met tout bout à bout, cela fait quelque chose comme ceci : (sin (compteur * 220/60) + 1) / 2 Si on traduit ça en Ibniz, il faut convertir les décimal en hexa. 220/60 => DC/3C ; 1 => 1 ; 2 => 2 Donc si tu tape cela dans Ibniz, théoriquement, cela devrait produire un LA si ton Ibniz tourne bien à 60 FPS : DC* 3C/ s 1+ 2/ Enfin, la fonction sinusoide d'Ibniz retourne une valeur entre -1 et 1 or, nous avons besoin de renvoyer une valeur comprise entre 0 et 1 pour produire du son. On peut donc modifier le résultat final comme suit : D'abort on ajoute 1 au résultat qui va donc varier entre 0 et 2, puis on divise par 2 le résultat. Si je met tout bout à bout, cela fait quelque chose comme ceci : (sin (compteur * 220/60) + 1) / 2 Si on traduit ça en Ibniz, il faut convertir les décimal en hexa. 220/60 => DC/3C ; 1 => 1 ; 2 => 2 Donc si tu tape cela dans Ibniz, théoriquement, cela devrait produire un LA si ton Ibniz tourne bien à 60 FPS : DC* 3C/ s 1+ 2/
  
-{{ :ibniz_sin_220hz_adapted_output.png |}}+{{ media_07:ibniz_sin_220hz_adapted_output.png |}}
  
 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 223: Ligne 232:
 ''%%./ibniz -p < MonSet%%'' ''%%./ibniz -p < MonSet%%''
  
 +===== Exemples =====
 +
 +<code>
 +Shortest IBNIZ programs that show something "nice"
 +
 +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: )~
 +
 +</code>
 +
 +==== en vrac ====
 +
 +0!1!2! 0@2@8rs* 1@2@8r.4+s*+    \ rotation
 +
 +Ici aussi : https://github.com/emoc/IBNIZ
 +
 +Et tous les programmes d'une personne qui s'est bien creusée la tête pour comprendre comment fonctionne ibniz : https://github.com/Eugene8388608/ibniz-programs
 +
 +==== 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'explication
 +
 +<code>
 +1{d6r+}
 +2{d4r^}
 +3{d3r*}
 +4{dFr-}
 +2)6r3&1+V
 +</code>
 +
 +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 502:
   * Une version de Ibniz qui permet d'indiquer [[https://github.com/alex-guy/IBNIZ/tree/master/src|la position, la taille et la décoration de la fenêtre]].   * Une version de Ibniz qui permet d'indiquer [[https://github.com/alex-guy/IBNIZ/tree/master/src|la position, la taille et la décoration de la fenêtre]].
   * 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://github.com/alex-guy/Pybniz|Pybniz]].   * 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://github.com/alex-guy/Pybniz|Pybniz]].
-  * Un PAD avec plein de "chansons" http://etherpad.pingbase.net/summerlab-ibniz+  * Un PAD avec plein de "chansons" à télécharger au format TXT {{ media_12:summerlab-ibniz-latest.txt.zip}} 
 +  * Une {{ ::bytebeats_beginners_guide_ttnm_v1-5.pdf |bonne documentation}} sur le principe bytebeat ou comment générer du son avec une ligne de code 
 +  * https://esoteric.codes/blog/ibniz 
 +  * http://countercomplex.blogspot.com/2011/12/ibniz-hardcore-audiovisual-virtual.html
  
-{{tag>logiciels_audio sonification faire_du_bruit documentation logiciels:ibniz}}+{{tag>logiciels_audio sonification faire_du_bruit documentation}}
ibniz.1550932514.txt.gz · Dernière modification : 2019/02/23 14:35 de serge