{"id":496,"date":"2023-06-28T16:17:28","date_gmt":"2023-06-28T14:17:28","guid":{"rendered":"https:\/\/the-smooth.space\/blog\/?p=496"},"modified":"2025-01-14T17:09:35","modified_gmt":"2025-01-14T16:09:35","slug":"tesserakt-library","status":"publish","type":"post","link":"https:\/\/the-smooth.space\/blog\/tesserakt-library\/","title":{"rendered":"TesserAkt library"},"content":{"rendered":"<div class=\"external-markdown\"><p><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https:\/\/camo.githubusercontent.com\/67bbe61209c097ea6765401d6c4292444dd82e022efb83fe3c0c34d572dabcc5\/68747470733a2f2f646f63732e676f6f676c652e636f6d2f64726177696e67732f642f652f32504143582d31765432364e7a69594d614c7247486c764e7370694a39644f6a585236685a795678724777666b6756314d77764d545774415768355a55714d7369743567536c6c58656d6347616a6a64647166716e632f7075623f773d31333126683d313239\"><img decoding=\"async\" src=\"https:\/\/camo.githubusercontent.com\/67bbe61209c097ea6765401d6c4292444dd82e022efb83fe3c0c34d572dabcc5\/68747470733a2f2f646f63732e676f6f676c652e636f6d2f64726177696e67732f642f652f32504143582d31765432364e7a69594d614c7247486c764e7370694a39644f6a585236685a795678724777666b6756314d77764d545774415768355a55714d7369743567536c6c58656d6347616a6a64647166716e632f7075623f773d31333126683d313239\" alt=\"Tesser_logo\" data-canonical-src=\"https:\/\/docs.google.com\/drawings\/d\/e\/2PACX-1vT26NziYMaLrGHlvNspiJ9dOjXR6hZyVxrGwfkgV1MwvMTWtAWh5ZUqMsit5gSllXemcGajjddqfqnc\/pub?w=131&amp;h=129\" style=\"max-width: 100%;\"><\/a><\/p>\n<p>The <a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesserakt\/src\/master\/\" rel=\"nofollow\"><strong>TesserAkt<\/strong> library<\/a> is a collection of MaxForLive devices designed for real-time midi manipulation. These devices were developed in the context of the Fraktale Lab, within the artistic research project <a href=\"https:\/\/www.the-smooth.space\/\" rel=\"nofollow\">Atlas of Smooth Spaces<\/a> (<a href=\"https:\/\/pf.fwf.ac.at\/de\/wissenschaft-konkret\/project-finder\/51560\" rel=\"nofollow\">FWF 640<\/a>) at the University of Music and Performing Arts Vienna.<\/p>\n<p>Dieses Werk wurde mit freundlicher Unterst\u00fctzung des \u00f6sterreichischen Bundesministeriums f\u00fcr Kunst, Kultur, \u00f6ffentlicher Dienst und Sport realisiert.<\/p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https:\/\/camo.githubusercontent.com\/987913256952b1ca7a122f100e2a56cdffb58291d7c9928ab8e682af9abda038\/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f342f34322f424d4b4f45535f41545f4c6f676f2e7376672f36343070782d424d4b4f45535f41545f4c6f676f2e7376672e706e67\"><img decoding=\"async\" src=\"https:\/\/camo.githubusercontent.com\/987913256952b1ca7a122f100e2a56cdffb58291d7c9928ab8e682af9abda038\/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f342f34322f424d4b4f45535f41545f4c6f676f2e7376672f36343070782d424d4b4f45535f41545f4c6f676f2e7376672e706e67\" alt=\"BMK\u00d6ES\" data-canonical-src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/4\/42\/BMKOES_AT_Logo.svg\/640px-BMKOES_AT_Logo.svg.png\" style=\"max-width: 100%;\"><\/a><\/p>\n<p><a href=\"https:\/\/www.bmkoes.gv.at\/\" rel=\"nofollow\">www.bmkoes.gv.at<\/a><\/p>\n<div class=\"markdown-heading\"><h3 class=\"heading-element\">Credits and access<\/h3><a id=\"user-content-credits-and-access\" class=\"anchor\" aria-label=\"Permalink: Credits and access\" href=\"#credits-and-access\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"><\/span><\/a><\/div>\n<p>This environement is developed and mantained by <a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/\" rel=\"nofollow\">Adrian Artacho<\/a>. The online repository can be found here:<\/p>\n<p><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesserakt\/src\/master\/\" rel=\"nofollow\">https:\/\/bitbucket.org\/AdrianArtacho\/tesserakt\/<\/a><\/p>\n<hr>\n<table>\n<thead>\n<tr>\n<th>Name<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_cmd\/\" rel=\"nofollow\">Tesser_cmd<\/a><\/td>\n<td>Launches a function based on midi input<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_automidi\/\" rel=\"nofollow\">tesser_automidi<\/a><\/td>\n<td>Similar to 'autotune', reshapes a midi input<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_block\/\" rel=\"nofollow\">tesser_block<\/a><\/td>\n<td>Blocks CC\/Midinotes dynamically<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_buffer\/\" rel=\"nofollow\">tesser_buffer<\/a><\/td>\n<td>This device allows to save and recall bits of audio<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_cc2note\/\" rel=\"nofollow\">tesser_cc2note<\/a><\/td>\n<td>Converts a midi inout onto midinotes<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_cc2params\/\" rel=\"nofollow\">tesser_cc2params<\/a><\/td>\n<td>Maps CC input onto ranges and parameters<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_cc2signal\/\" rel=\"nofollow\">tesser_cc2signal<\/a><\/td>\n<td>Create a signal-structured stream of midi<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_chains\/\" rel=\"nofollow\">tesser_chains<\/a><\/td>\n<td>Renames midinotes based on lists<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_clip2cc\/\" rel=\"nofollow\">tesser_clip2cc<\/a><\/td>\n<td>Translates midinotes to CC values<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_clips\/\" rel=\"nofollow\">tesser_clips<\/a><\/td>\n<td>Launches clips via midinotes or CC<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_cue\/\" rel=\"nofollow\">tesser_cue<\/a><\/td>\n<td>Aural warnings to the performer<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_delay\/\" rel=\"nofollow\">tesser_delay<\/a><\/td>\n<td>Takes a midi input and delays it by an amount of time<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_dynamic\/\" rel=\"nofollow\">tesser_dynamic<\/a><\/td>\n<td>Manipulate note velocity in different ways<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_fade\/\" rel=\"nofollow\">tesser_fade<\/a><\/td>\n<td>Fades in\/out (increases\/reduces midi velocities)<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_fractal\/\" rel=\"nofollow\">tesser_fractal<\/a><\/td>\n<td>Fractal Video manipulation<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_function\/\" rel=\"nofollow\">tesser_function<\/a><\/td>\n<td>Manipulates midi input based on a function<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_funnel\/\" rel=\"nofollow\">tesser_funnel<\/a><\/td>\n<td>Maps differently sized lists of midi IN\/OUT values<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_gate\/\" rel=\"nofollow\">tesser_gate<\/a><\/td>\n<td>Open\/Close the midi stream dynamically<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_gesture\/\" rel=\"nofollow\">tesser_gesture<\/a><\/td>\n<td>Extract a gesture from a stream of midi values<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_inscore\/\" rel=\"nofollow\">tesser_inscore<\/a><\/td>\n<td>Interfaces with INScore (midi input)<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_livescore\/\" rel=\"nofollow\">tesser_livescore<\/a><\/td>\n<td>Score display of midi<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_mirror\/\" rel=\"nofollow\">tesser_mirror<\/a><\/td>\n<td>Mirrors midi values dynamically based on a 'center'<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_mutate\/\" rel=\"nofollow\">tesser_mutate<\/a><\/td>\n<td>Introduces mutation in a given midi sequence<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_note2cc\/\" rel=\"nofollow\">tesser_note2cc<\/a><\/td>\n<td>Converts midinotes onto CC<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_pedal\/\" rel=\"nofollow\">tesser_pedal<\/a><\/td>\n<td>Specific midi keyboard pedal interface<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_pgch\/\" rel=\"nofollow\">tesser_pgch<\/a><\/td>\n<td>Generate program change messages based on midi<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_ramp\/\" rel=\"nofollow\">tesser_ramp<\/a><\/td>\n<td>Generates ramp of values for a given time<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_ranges\/\" rel=\"nofollow\">tesser_ranges<\/a><\/td>\n<td>Allows\/Blocks specific midi ranges dynamically<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_recall\/\" rel=\"nofollow\">tesser_recall<\/a><\/td>\n<td>Saves and recalls midi sequences dynamically<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_route\/\" rel=\"nofollow\">tesser_route<\/a><\/td>\n<td>Routes midi input dynamically<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_scale\/\" rel=\"nofollow\">tesser_scale<\/a><\/td>\n<td>Scales midi input dynamically<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_signal2midi\/\" rel=\"nofollow\">tesser_signal2midi<\/a><\/td>\n<td>Takes in a signal (audio) and converts it to midi<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_threshold\/\" rel=\"nofollow\">tesser_threshold<\/a><\/td>\n<td>Allows\/Blocks midi input based on threshold values<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_videoloop\/\" rel=\"nofollow\">tesser_videoloop<\/a><\/td>\n<td>Live capture looping<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/bitbucket.org\/AdrianArtacho\/tesser_visuals\/\" rel=\"nofollow\">tesser_visuals<\/a><\/td>\n<td>Produce visuals (Max\/jitter) based on midi<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":12,"featured_media":1704,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"disable_featured_image":false,"footnotes":""},"categories":[47,40,83],"tags":[],"coauthors":[71],"class_list":["post-496","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code","category-fractal-lab","category-output"],"featured_media_urls":{"thumbnail":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null-150x150.png",150,150,true],"medium":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null-300x300.png",300,300,true],"medium_large":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false],"large":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false],"1536x1536":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false],"2048x2048":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false],"inspiro-featured-image":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false],"inspiro-loop":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null-500x320.png",500,320,true],"inspiro-loop@2x":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false],"portfolio_item-thumbnail":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null-500x400.png",500,400,true],"portfolio_item-thumbnail@2x":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false],"portfolio_item-masonry":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false],"portfolio_item-masonry@2x":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false],"portfolio_item-thumbnail_cinema":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null-500x335.png",500,335,true],"portfolio_item-thumbnail_portrait":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false],"portfolio_item-thumbnail_portrait@2x":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false],"portfolio_item-thumbnail_square":["https:\/\/the-smooth.space\/blog\/wp-content\/uploads\/2023\/06\/code-null.png",500,500,false]},"_links":{"self":[{"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/posts\/496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/comments?post=496"}],"version-history":[{"count":4,"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/posts\/496\/revisions"}],"predecessor-version":[{"id":1497,"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/posts\/496\/revisions\/1497"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/media\/1704"}],"wp:attachment":[{"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/media?parent=496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/categories?post=496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/tags?post=496"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/the-smooth.space\/blog\/wp-json\/wp\/v2\/coauthors?post=496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}