{"id":4064,"date":"2021-12-21T10:04:39","date_gmt":"2021-12-21T09:04:39","guid":{"rendered":"https:\/\/www.pschatzmann.ch\/home\/?p=4064"},"modified":"2021-12-25T15:22:12","modified_gmt":"2021-12-25T14:22:12","slug":"ai-thinker-audiokit-a-simply-synthesizer-with-stk","status":"publish","type":"post","link":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/","title":{"rendered":"AI Thinker AudioKit &#8211; A simple Synthesizer with STK"},"content":{"rendered":"<p>As you might know from my <a href=\"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/06\/the-ai-thinker-audio-kit-experience-or-nothing-is-right\/\">last posts<\/a> I am currently extending my <a href=\"https:\/\/github.com\/pschatzmann\/arduino-audio-tools\">Arduino Audio Tools<\/a> library to support the <a href=\"https:\/\/docs.ai-thinker.com\/en\/esp32-audio-kit\">AI Thinker Audio Kit<\/a> which is based on the ES8388 audio chip.<\/p>\n<p>I didn&#8217;t do much with my <a href=\"https:\/\/github.com\/pschatzmann\/Arduino-STK\">Arduino STK project<\/a> lately, so I think this is the perfect opportunity to promote it a little bit.<\/p>\n<h3>The STK Synthesizer<\/h3>\n<p>First we import the libraries and declare the variables that we use:<\/p>\n<pre><code>#include \"AudioTools.h\"\n#include \"AudioLibs\/AudioKit.h\"\n#include \"StkAll.h\"\n\nAudioKitStream kit;\nClarinet clarinet(440);\nVoicer voicer;\nArdStreamOut output(&amp;kit);\nfloat noteAmplitude = 128;\nint group = 0;\n\n<\/code><\/pre>\n<p>We use a clarinet which is one of the many [STK instruments]{https:\/\/pschatzmann.github.io\/Arduino-STK\/html\/classstk_1_1Instrmnt.html}. We will assign it later to the <a href=\"https:\/\/pschatzmann.github.io\/Arduino-STK\/html\/classstk_1_1Voicer.html\">voicer<\/a>. To output the data into a Stream we use the ArdStreamOut class. Next we need to deal with the key logic:<\/p>\n<pre><code>void actionKeyOn(bool active, int pin, void* ptr){\n  int note = *((int*)ptr);\n  voicer.noteOn(note, noteAmplitude, group);\n}\n\nvoid actionKeyOff(bool active, int pin, void* ptr){\n  int note = *((int*)ptr);\n  voicer.noteOff(note, noteAmplitude, group);\n}\n\n\/\/ We want to play some notes on the AudioKit keys \nvoid setupActions(){\n  \/\/ assign buttons to notes\n  auto act_low = AudioActions::ActiveLow;\n  static int note[] = {48,50,52,53,55,57}; \/\/ midi keys\n  kit.audioActions().add(PIN_KEY1, actionKeyOn, actionKeyOff, act_low, &amp;(note[0])); \/\/ C3\n  kit.audioActions().add(PIN_KEY2, actionKeyOn, actionKeyOff, act_low, &amp;(note[1])); \/\/ D3\n  kit.audioActions().add(PIN_KEY3, actionKeyOn, actionKeyOff, act_low, &amp;(note[2])); \/\/ E3\n  kit.audioActions().add(PIN_KEY4, actionKeyOn, actionKeyOff, act_low, &amp;(note[3])); \/\/ F3\n  kit.audioActions().add(PIN_KEY5, actionKeyOn, actionKeyOff, act_low, &amp;(note[4])); \/\/ G3\n  kit.audioActions().add(PIN_KEY6, actionKeyOn, actionKeyOff, act_low, &amp;(note[5])); \/\/ A3\n}\n\n<\/code><\/pre>\n<p>We use a callback function when a key is pressed and another one when the key is released. There we can just forward these events to the STK voicer. Please note that the voicer deals with Midi notes, so that&#8217;s what we need to provide as additional parameter in your action setup.<\/p>\n<p>Finally we move to the Arduino setup and loop methods:<\/p>\n<pre><code>void setup() {\n  Serial.begin(115200);\n  AudioLogger::instance().begin(Serial,AudioLogger::Warning);\n\n  voicer.addInstrument(&amp;clarinet, group);\n\n  \/\/ define data format\n  auto cfg = kit.defaultConfig(TX_MODE);\n  cfg.channels = 1;\n  cfg.bits_per_sample = 16;\n  cfg.sample_rate = Stk::sampleRate();\n  kit.begin(cfg);\n\n  \/\/ play notes with keys\n  setupActions();\n\n}\n\nvoid loop() {\n   for (j=0;j&lt;1024;j++) {\n      output.tick( voicer.tick() );\n   }\n   kit.processActions();\n}\n\n<\/code><\/pre>\n<p>We add the instrument to the voicer, and setup the output of the AudioKit as one channel. Finally we call our setupActions() that we have seen above.<\/p>\n<p>In the loop we just output the audio data to the the stream output and handle the keyboard events.<\/p>\n<h2>Source Code<\/h2>\n<p>The (potentially updated) source code can be found in the <a href=\"https:\/\/github.com\/pschatzmann\/arduino-audio-tools\/tree\/main\/examples\/examples-audiokit\/streams-synthstk-audiokit\">examples directory<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As you might know from my last posts I am currently extending my Arduino Audio Tools library to support the AI Thinker Audio Kit which is based on the ES8388 audio chip. I didn&#8217;t do much with my Arduino STK project lately, so I think this is the perfect opportunity [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1398,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[20,22],"tags":[28,34,26],"class_list":["post-4064","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-machine-sound","tag-esp32audiokit","tag-stk","tag-synthesizer"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AI Thinker AudioKit - A simple Synthesizer with STK - Phil Schatzmann<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI Thinker AudioKit - A simple Synthesizer with STK - Phil Schatzmann\" \/>\n<meta property=\"og:description\" content=\"As you might know from my last posts I am currently extending my Arduino Audio Tools library to support the AI Thinker Audio Kit which is based on the ES8388 audio chip. I didn&#8217;t do much with my Arduino STK project lately, so I think this is the perfect opportunity [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/\" \/>\n<meta property=\"og:site_name\" content=\"Phil Schatzmann\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-21T09:04:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-25T14:22:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2020\/05\/vintage-synthesizer-1601941_960_720.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"639\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"pschatzmann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"pschatzmann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/\"},\"author\":{\"name\":\"pschatzmann\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"headline\":\"AI Thinker AudioKit &#8211; A simple Synthesizer with STK\",\"datePublished\":\"2021-12-21T09:04:39+00:00\",\"dateModified\":\"2021-12-25T14:22:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/\"},\"wordCount\":254,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/vintage-synthesizer-1601941_960_720.jpg\",\"keywords\":[\"ESP32AudioKit\",\"STK\",\"Synthesizer\"],\"articleSection\":[\"Arduino\",\"Machine Sound\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/\",\"name\":\"AI Thinker AudioKit - A simple Synthesizer with STK - Phil Schatzmann\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/vintage-synthesizer-1601941_960_720.jpg\",\"datePublished\":\"2021-12-21T09:04:39+00:00\",\"dateModified\":\"2021-12-25T14:22:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/vintage-synthesizer-1601941_960_720.jpg\",\"contentUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/vintage-synthesizer-1601941_960_720.jpg\",\"width\":960,\"height\":639},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/21\\\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI Thinker AudioKit &#8211; A simple Synthesizer with STK\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#website\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/\",\"name\":\"Phil Schatzmann Consulting\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\",\"name\":\"pschatzmann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\",\"contentUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\",\"width\":305,\"height\":305,\"caption\":\"pschatzmann\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AI Thinker AudioKit - A simple Synthesizer with STK - Phil Schatzmann","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/","og_locale":"en_US","og_type":"article","og_title":"AI Thinker AudioKit - A simple Synthesizer with STK - Phil Schatzmann","og_description":"As you might know from my last posts I am currently extending my Arduino Audio Tools library to support the AI Thinker Audio Kit which is based on the ES8388 audio chip. I didn&#8217;t do much with my Arduino STK project lately, so I think this is the perfect opportunity [&hellip;]","og_url":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/","og_site_name":"Phil Schatzmann","article_published_time":"2021-12-21T09:04:39+00:00","article_modified_time":"2021-12-25T14:22:12+00:00","og_image":[{"width":960,"height":639,"url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2020\/05\/vintage-synthesizer-1601941_960_720.jpg","type":"image\/jpeg"}],"author":"pschatzmann","twitter_card":"summary_large_image","twitter_misc":{"Written by":"pschatzmann","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/#article","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/"},"author":{"name":"pschatzmann","@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"headline":"AI Thinker AudioKit &#8211; A simple Synthesizer with STK","datePublished":"2021-12-21T09:04:39+00:00","dateModified":"2021-12-25T14:22:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/"},"wordCount":254,"commentCount":0,"publisher":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2020\/05\/vintage-synthesizer-1601941_960_720.jpg","keywords":["ESP32AudioKit","STK","Synthesizer"],"articleSection":["Arduino","Machine Sound"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/","url":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/","name":"AI Thinker AudioKit - A simple Synthesizer with STK - Phil Schatzmann","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/#primaryimage"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2020\/05\/vintage-synthesizer-1601941_960_720.jpg","datePublished":"2021-12-21T09:04:39+00:00","dateModified":"2021-12-25T14:22:12+00:00","breadcrumb":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/#primaryimage","url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2020\/05\/vintage-synthesizer-1601941_960_720.jpg","contentUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2020\/05\/vintage-synthesizer-1601941_960_720.jpg","width":960,"height":639},{"@type":"BreadcrumbList","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/21\/ai-thinker-audiokit-a-simply-synthesizer-with-stk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pschatzmann.ch\/home\/"},{"@type":"ListItem","position":2,"name":"AI Thinker AudioKit &#8211; A simple Synthesizer with STK"}]},{"@type":"WebSite","@id":"https:\/\/www.pschatzmann.ch\/home\/#website","url":"https:\/\/www.pschatzmann.ch\/home\/","name":"Phil Schatzmann Consulting","description":"","publisher":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pschatzmann.ch\/home\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1","name":"pschatzmann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png","url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png","contentUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png","width":305,"height":305,"caption":"pschatzmann"},"logo":{"@id":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png"}}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/4064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/comments?post=4064"}],"version-history":[{"count":29,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/4064\/revisions"}],"predecessor-version":[{"id":4174,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/4064\/revisions\/4174"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media\/1398"}],"wp:attachment":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media?parent=4064"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/categories?post=4064"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/tags?post=4064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}