{"id":383,"date":"2024-10-21T01:33:22","date_gmt":"2024-10-20T23:33:22","guid":{"rendered":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/?post_type=project&#038;p=383"},"modified":"2024-11-12T11:58:44","modified_gmt":"2024-11-12T10:58:44","slug":"mido-sequencer","status":"publish","type":"project","link":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/project\/mido-sequencer\/","title":{"rendered":"Mido Sequencer"},"content":{"rendered":"\n<p>Un step s\u00e9quenceur <strong>MIDI <\/strong>qui envoi des signaux \u00e0 un p\u00e9riph\u00e9rique externe, ou \u00e0 <strong>Microsoft GS Wavetable Synth<\/strong>, qui permet de faire jouer les sons du PC.<\/p>\n\n\n\n<p>La biblioth\u00e8que <strong>mido <\/strong>aide au traitement des signaux <strong>MIDI<\/strong>, s\u00e9quences binaires qui permettent d&rsquo;envoyer des informations \u00e0 la plupart des synth\u00e9tiseurs et autres instruments.<\/p>\n\n\n\n<p>Ce projet est toujours en cours d&rsquo;am\u00e9lioration, je teste diverses m\u00e9thodes pour cr\u00e9er des petits outils qui correspondent \u00e0 mes besoins, et des modules pour faire partie de plus gros projets.<\/p>\n\n\n\n<div style=\"height:43px\" 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=\"622\" height=\"626\" src=\"http:\/\/localhost\/WORDPRESS\/1024_portfolio_test\/wordpress\/wp-content\/uploads\/2024\/10\/image-10.png\" alt=\"\" class=\"wp-image-384 size-full\" srcset=\"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-10.png 622w, https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-10-298x300.png 298w, https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-10-150x150.png 150w\" sizes=\"auto, (max-width: 622px) 100vw, 622px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>L&rsquo;interface est faite avec <strong>wx <\/strong>et <strong>matplolib <\/strong>pour la partie s\u00e9quenceur.<\/p>\n<\/div><\/div>\n\n\n\n<div style=\"height:43px\" 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=\"484\" height=\"486\" src=\"http:\/\/localhost\/WORDPRESS\/1024_portfolio_test\/wordpress\/wp-content\/uploads\/2024\/10\/image-11.png\" alt=\"\" class=\"wp-image-385 size-full\" srcset=\"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-11.png 484w, https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-11-300x300.png 300w, https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-11-150x150.png 150w\" sizes=\"auto, (max-width: 484px) 100vw, 484px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>La lecture \u00e0 intervalles r\u00e9guliers est g\u00e9r\u00e9 par une classe qui se comporte comme le setInterval de JS. Je ne pense pas que ce soit la meilleure m\u00e9thode, mais elle fonctionne pour mes besoins.<\/p>\n<\/div><\/div>\n\n\n\n<div style=\"height:43px\" 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=\"577\" height=\"437\" src=\"http:\/\/localhost\/WORDPRESS\/1024_portfolio_test\/wordpress\/wp-content\/uploads\/2024\/10\/image-13.png\" alt=\"\" class=\"wp-image-387 size-full\" srcset=\"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-13.png 577w, https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-content\/uploads\/2024\/10\/image-13-300x227.png 300w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>L&rsquo;application est s\u00e9par\u00e9e en classes. La Frame g\u00e8re la fen\u00eatre et son contenu, le Player g\u00e8re la lecture des notes et les envois de signaux MIDI, Step est l&rsquo;entit\u00e9 qui repr\u00e9sente les barres sur le s\u00e9quenceur et les \u00e9v\u00e9nements \u00e0 envoyer.<\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Un step s\u00e9quenceur MIDI qui permet d&rsquo;envoyer des signaux \u00e0 un p\u00e9riph\u00e9rique externe, ou de faire jouer les sons du PC.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":[],"categories":[],"tags":[40,38,41,37,39],"techno":[36],"class_list":["post-383","project","type-project","status-publish","hentry","tag-matplotlib","tag-mido","tag-numpy","tag-sequenceur","tag-wx","techno-python"],"_links":{"self":[{"href":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-json\/wp\/v2\/project\/383","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=383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-json\/wp\/v2\/categories?post=383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-json\/wp\/v2\/tags?post=383"},{"taxonomy":"techno","embeddable":true,"href":"https:\/\/www.ninapariat.space\/sites\/ninap_portfolio\/wp-json\/wp\/v2\/techno?post=383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}