76
Les nouveautés de la musique libre / Re : http://review.audioactivity.net
« le: janvier 10, 2012, 13:15:43 pm »
tu peux permettre le podcasting en ajoutant une section Medias
Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.
Utilisation de la librairie Hachoir
Hachoir is a Python library that allows to view and edit a binary stream field by field. In other words, Hachoir allows you to "browse" any binary stream just like you browse directories and files. A file is split in a tree of fields, where the smallest field is just one bit. There are other fields types: integers, strings, bits, padding types, floats, etc. Hachoir is the French word for a meat grinder (meat mincer), which is used by butchers to divide meat into long tubes; Hachoir is used by computer butchers to divide binary files into fields.
Hachoir is composed of the parser core (hachoir-core), various file format parsers (hachoir-parser), and other peripheral programs. For example, you can use hachoir-metadata to extract information from your favourite photos or videos. Hachoir also allows you to edit files (of supported formats) without the original (often proprietary) program that was used to create them.
Installation de
la librairie Hachoir
---]]] http://hachoir.org/index.html
Il est nécessaire d'installer hachoir-core,
hachoir-metadata, hachoir-urwid et hachoir-editor pour que les scripts
d'exemple fonctionnent.
Se placer en ligne de commande dans chaque répertoire et lancer python
setup.py install en tant que root.
( Le fichier manquant nécessaire à l'installation de hachoir-editor à renommer en py)
Première utilisation possible
Dans le répertoie hachoir-tools se trouve un fuzzer.
L'idée est de détourner l'usage purement sécurité vers un usage ludique en
créant des images aléatoires, buggées.
Il est possible de placer les images sources sous plusieurs
formats ( tous les
formats possibles ) afin d'obtenir des résultats différents.
J'ai modifié le script pour pouvoir créer les images buggées ( remplacer le fichier file_fuzzer.py par celui ci )
./stress.py directorysource
http://jkp.antisocial.be/images/image-hachoir-bmp.jpg Format Bmp
http://jkp.antisocial.be/images/image-hachoir-gif.jpg Format Gif
http://jkp.antisocial.be/images/image-hachoir-pcx.jpgFormat Pcx
http://jkp.antisocial.be/images/image-hachoir-tga.jpgFormat Tga
Deuxième utilisation possible
Il est possible de modifier à la main les paramètres de nombreux
fichiers et par exemple les paramètres d'un fichier Jpeg.
Tous ces champs
sont lisibles grâce à l'utilitaire hachoir-urwid.
http://jkp.antisocial.be/images/image-hachoir-urwid.png
Code Python:
from hachoir_parser import
createParser
from hachoir_editor import
createEditor
from hachoir_core.field import
writeIntoFile
parser=createParser(u"lena.jpg")
editor=createEditor(parser)
editor["huffman[0]/content/huffman_table[0]/count[9]].value=
15
writeIntoFile(editor, u"resultat.jpg")
http://jkp.antisocial.be/images/image-hachoir-quantization0-qt1-coeff01-49.jpg
Troisième utilisation possible
Création de plusieurs images en mettant tous les paramètres à 0
Code Python:
#!/usr/bin/python
from hachoir_core.cmd_line import (getHachoirOptions,
configureHachoir, unicodeFilename)
from hachoir_core.stream import InputStreamError, FileInputStream
from hachoir_core.i18n import _
from hachoir_parser import guessParser, HachoirParserList,createParser
from hachoir_editor import createEditor
from hachoir_core.field import writeIntoFile
from hachoir_urwid import exploreFieldSet
from hachoir_urwid.version import VERSION, WEBSITE
from optparse import OptionGroup, OptionParser
#import hachoir_core
import sys
from random import choice
import re
li=[]
def displayTree(tree):
for field in tree:
if "image_data" in field.path:
break
li.append(field.path)
if field.is_field_set: displayTree( field )
def main():
i=0
k=0
stream=FileInputStream(unicodeFilename(sys.argv[1]))
parser=guessParser(stream)
displayTree(parser)
while k<=4:
for item in li:
pattern=r'(start_image$|app0$|content$|jfif$|photoshop|signature$|adobe|quantization\[0\]$|qt\[0\]|qt\[1\]|start_frame$|component\[0\]$|component\[1\]$|component\[2\]$|huffman\[0\]$|restart_interval$|huffman_table\[0\]$|huffman_table\[1\]$|huffman_table\[2\]$|huffman_table\[3\]$|start_scan\[0\]$)'
if re.search(pattern, item):
print ''
else:
parser2=createParser(unicodeFilename(sys.argv[1]))
editor=createEditor(parser2)
editor[item].value=0
fichier=res-"+str(k)+"-"+str(i) + ".jpg"
unicodefichier=unicode(fichier, 'utf-8')
#print unicodefichier
writeIntoFile(editor, unicodefichier)
i=i+1
k=k+1
if __name__ == "__main__":
main()
Création de plusieurs images en mettant des valeurs en Random
Code Python:
#!/usr/bin/python
from hachoir_core.cmd_line import (getHachoirOptions,
configureHachoir, unicodeFilename)
from hachoir_core.stream import InputStreamError, FileInputStream
from hachoir_core.i18n import _
from hachoir_parser import guessParser, HachoirParserList,createParser
from hachoir_editor import createEditor
from hachoir_core.field import writeIntoFile
from hachoir_urwid import exploreFieldSet
from hachoir_urwid.version import VERSION, WEBSITE
from optparse import OptionGroup, OptionParser
#import hachoir_core
import sys
from random import choice
from random import randint
import re
li=[]
def displayTree(tree):
for field in tree:
if "image_data" in field.path:
break
li.append(field.path)
if field.is_field_set: displayTree( field )
def main():
j=0
while j<=1000:
i=randint(0,255)
k=randint(0,65555)
stream=FileInputStream(unicodeFilename(sys.argv[1]))
parser=guessParser(stream)
displayTree(parser)
item=choice(li)
parser2=createParser(unicodeFilename(sys.argv[1]))
editor=createEditor(parser2)
editor[item].value=i
fichier=res-"+str(k)+".jpg"
unicodefichier=unicode(fichier, 'utf-8')
#print unicodefichier
writeIntoFile(editor, unicodefichier)
j=j+1
if __name__ == "__main__":
main()
http://jkp.antisocial.be/images/image-hachoir-random.jpg
http://jkp.antisocial.be/images/image-hachoir-random-2.jpg
2 plugins crées à partir de la fonction de James Padolsey pour faire du net minimal
http://james.padolsey.com/javascript/find-and-replace-text-with-javascript/
inspirés par
http://blogspot.jodi.org/
et par un projet que j'avais déjà visité mais oublié
http://www.gleuch.com/projects/ctrl-f-d
version avec barre
http://jkp.antisocial.be/scripts/Minimal.xpi
résultat
http://jkp.antisocial.be/images/image-Minimal-lefigaro.png
http://jkp.antisocial.be/images/image-Minimal-lepost.png
http://jkp.antisocial.be/images/image-Minimal-liberation.png
http://jkp.antisocial.be/images/image-Minimal-rue89.png
http://jkp.antisocial.be/images/image-Minimal-II-lemonde.png
version ultra minimal
http://jkp.antisocial.be/scripts/Minimal-II.xpi
résultat
http://jkp.antisocial.be/images/image-Minimal-II-codelab.png
http://jkp.antisocial.be/images/image-Minimal-II-musiques-incongrues.png
http://jkp.antisocial.be/images/image-Minimal-II-Radiofrance.png
A noter cette autre plugin ---> autre idée :-)
https://addons.mozilla.org/fr/firefox/addon/sarkofree/
merci à r33p pour les retours
[flv]http://jkp.antisocial.be/videos/flux-bgucore.flv[/flv]
Flx Bgucore fait à partir de
d'images extraites des flux rss du monde, liberation, nouvel obs....
récupérées avec simple pie plus json
enchaînées et positionnées avec jquery plus jcycle.
plus bguocisés avec le script GlitchMonkey ( http://d.hatena.ne.jp/youpy/ ) issu de GreaseMonkey ( firefox ).
le tout en temps réel.
le zip ici
http://jkp.antisocial.be/scripts/JKP-Flux-Bgucore.zip
le temps passe trop vite
j'ai trouvé une solution
http://tempus-fugit.antisocial.be/
Mix de boucles timestretché en déplacant la souris sur les carrés de couleur.
La sélection des boucles se fait par interaction sur le clavier.
[vimeo]http://vimeo.com/32729858[/vimeo]
http://jkp.antisocial.be/musique/JKP-Pure-Mix.zip
variation autour du patch smp-slice d'Hardoff.
premier temps, on découpe le fichier wav en plusieurs slices suivant deux méthodes
découpage égale en 16 parties
ou utilisation d'un détecteur de beat.
ensuite
les slices sont joués selon une séquence préécrite que vous choississez en déplacant la souris sur les carrés de couleurs.
il y a quelques bugs mais bon.
[vimeo]http://vimeo.com/32729545[/vimeo]
http://jkp.antisocial.be/musique/JKP-Pure-Decoupage.zip
Premier patch pour androidparty, l'objectif était de créer un accessoire pour un costume de policier avec un fausse radio.
pas de fond parce que je n'arrive toujours pas à en ajouter un .
http://jkp.antisocial.be/musique/JKP-Woop_woop_that's_the_sound_of_da_police.zip
le format XPM
http://fr.wikipedia.org/wiki/X_PixMap
Bgucore#005
cryptage canal+
http://jkp.antisocial.be/images/JKP-Bgucore005.jpg
Fonctionnement
Le script applique un effet visuel semblable à l'ancien cryptage de Canal+.
python JKP-Bgucore005.py nomdufichier ( Xpm )
http://jkp.antisocial.be/scripts/JKP-Bgucore005.txt
Bgucore#006
cut/paste random
http://jkp.antisocial.be/images/JKP-Bgucore006.jpg
Fonctionnement
cut/paste en mode random
python JKP-Bgucore006.py nomdufichier ( Xpm )
http://jkp.antisocial.be/scripts/JKP-Bgucore006.txt
Bgucore#007
random sur la table des couleurs
http://jkp.antisocial.be/images/JKP-Bgucore007.jpg
Fonctionnement
initialisation de la table des couleurs en mode random
python JKP-Bgucore007.py nomdufichier ( Xpm ) [1-252] ( nombre de couleur à randomiser )
http://jkp.antisocial.be/scripts/JKP-Bgucore007.txt
A noter
Gimp parfois n'aime pas les images que je crée alors que eog les convertit en jpg..