{"id":390,"date":"2024-10-21T11:44:24","date_gmt":"2024-10-21T09:44:24","guid":{"rendered":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/?post_type=project&#038;p=390"},"modified":"2024-11-12T11:57:06","modified_gmt":"2024-11-12T10:57:06","slug":"pix-to-sounds","status":"publish","type":"project","link":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/project\/pix-to-sounds\/","title":{"rendered":"Pix To Sounds"},"content":{"rendered":"\n<p>Une appli python qui permet de charger une image, d&rsquo;y appliquer quelques manipulations, et de transformer les donn\u00e9es de pixels en sons en cr\u00e9ant une table d&rsquo;harmoniques.<\/p>\n\n\n\n<p>Selon la direction de lecture choisie, l&rsquo;un des axes repr\u00e9sente les fr\u00e9quences, et l&rsquo;autre repr\u00e9sente les \u00e9tapes de lecture. Chaque ligne ou colonne est lue une par une, en transformant les niveaux de gris des pixels en taux d&rsquo;amplification pour la fr\u00e9quence associ\u00e9e.<\/p>\n\n\n\n<p>Attention, cette m\u00e9thode n&rsquo;est pas du tout optimale sur une grosse image ! <\/p>\n\n\n\n<p>Les donn\u00e9es d&rsquo;image sont extraites et modifi\u00e9es avec <strong>PIL Image<\/strong>, et <strong>numpy<\/strong> pour manipuler les matrices de donn\u00e9es. Les donn\u00e9es sont affich\u00e9es sur les graphiques avec <strong>matplotlib<\/strong>.<\/p>\n\n\n\n<p>Pour la partie sonore j&rsquo;utilise la c\u00e9l\u00e8bre librairie <strong>pyo<\/strong>, celle qui est notamment utilis\u00e9e pour cr\u00e9er ses propres modules sur Ableton (Max Msp).<\/p>\n\n\n\n<p>Ce projet est toujours en cours d&rsquo;am\u00e9lioration. <\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"578\" height=\"591\" src=\"http:\/\/localhost\/WORDPRESS\/1024_portfolio_test\/wordpress\/wp-content\/uploads\/2024\/10\/image-14.png\" alt=\"\" class=\"wp-image-392 size-full\" srcset=\"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-14.png 578w, https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-14-293x300.png 293w\" sizes=\"auto, (max-width: 578px) 100vw, 578px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>Interface WX pr\u00e9sentant les contr\u00f4les de manipulations de l&rsquo;image, les r\u00e9glages de la conversion en table d&rsquo;harmoniques, le choix de la direction de lecture et le transport.<\/p>\n\n\n\n<p>J&rsquo;avoue avoir un peu de mal avec WX pour la cr\u00e9ation d&rsquo;interfaces, je suis depuis pass\u00e9e \u00e0 tkinter.<\/p>\n<\/div><\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"584\" height=\"588\" src=\"http:\/\/localhost\/WORDPRESS\/1024_portfolio_test\/wordpress\/wp-content\/uploads\/2024\/10\/image-15.png\" alt=\"\" class=\"wp-image-393 size-full\" srcset=\"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-15.png 584w, https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-15-298x300.png 298w, https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-15-150x150.png 150w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>Ici l&rsquo;interface \u00e0 \u00e9t\u00e9 am\u00e9lior\u00e9e avec le d\u00e9port de certains contr\u00f4les dans les menus, mais cette version est encore incompl\u00e8te.<\/p>\n\n\n\n<p>La ligne bleue sur l&rsquo;image repr\u00e9sente l&rsquo;\u00e9tape en train d&rsquo;\u00eatre lue, le graphique en dessous repr\u00e9sente la valeur d&rsquo;amplification pour chaque fr\u00e9quence (ici 5)<\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Transformation des donn\u00e9es d&rsquo;une image sons par la conversion de donn\u00e9es de pixels en table d&rsquo;harmoniques.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":[],"categories":[],"tags":[42,40,41,43,46],"techno":[36],"class_list":["post-390","project","type-project","status-publish","hentry","tag-manipulation-dimages","tag-matplotlib","tag-numpy","tag-pil","tag-pyo","techno-python"],"_links":{"self":[{"href":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-json\/wp\/v2\/project\/390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-json\/wp\/v2\/project"}],"about":[{"href":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-json\/wp\/v2\/types\/project"}],"wp:attachment":[{"href":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-json\/wp\/v2\/media?parent=390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-json\/wp\/v2\/categories?post=390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-json\/wp\/v2\/tags?post=390"},{"taxonomy":"techno","embeddable":true,"href":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-json\/wp\/v2\/techno?post=390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}