{"id":3956,"date":"2021-12-08T10:56:18","date_gmt":"2021-12-08T09:56:18","guid":{"rendered":"https:\/\/www.pschatzmann.ch\/home\/?p=3956"},"modified":"2024-02-29T03:55:29","modified_gmt":"2024-02-29T02:55:29","slug":"using-the-ai-thinker-audio-kit-buttons","status":"publish","type":"post","link":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/","title":{"rendered":"Using the AI Thinker Audio Kit Buttons"},"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.<br \/>\n.<\/p>\n<p>Originally I was of the opinion that the program logic for <strong>reading of the GPIO pins<\/strong> and the processing of the related actions should belong into a specific <strong>Arduino sketch<\/strong> and should not be part of an Audio Framework.<\/p>\n<p>The <strong>Audio Kit<\/strong> made me revise this because I think that an Arduino Sketch should be <strong>as concise as possible<\/strong>. Therefore I have created the AudioActions class that has been integrated into the AudioKit.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/pschatzmann.github.io\/Resources\/img\/audio-toolkit.png\" alt=\"Audio Kit\" \/><\/p>\n<p>Since the Audio Kit <strong>does not have any display<\/strong>, I think to use <strong>TTS<\/strong> is a good choice to feed back information to the user.<\/p>\n<p>Here is the example:<\/p>\n<h3>Arduino Sketch<\/h3>\n<pre><code>#include \"flite_arduino.h\"\n#include \"AudioTools.h\"\n#include \"AudioDevices\/ESP32AudioKit\/AudioKit.h\"\n\nusing namespace audio_tools;\n\nAudioKitStream kit;\nFlite flite(kit);\n\nvoid button1(){\n  flite.say(\"Button One\");  \n}\nvoid button2(){\n  flite.say(\"Button Two\");  \n}\nvoid button3(){\n  flite.say(\"Button Three\");  \n}\nvoid button4(){\n  flite.say(\"Button Four\");  \n}\n\n\/\/ Arduino setup\nvoid setup(){\n  Serial.begin(115200);\n\n  auto cfg = kit.defaultConfig();\n  cfg.bits_per_sample = 16;\n  cfg.channels = 1;\n  cfg.sample_rate = 8000;\n  kit.begin(cfg);\n\n  \/\/ Assign pins to methods\n  kit.addAction(PIN_KEY1, button1);\n  kit.addAction(PIN_KEY2, button2);\n  kit.addAction(PIN_KEY3, button3);\n  kit.addAction(PIN_KEY4, button4);\n\n  \/\/ example with actions using lambda expression\n  auto down = []() { flite.say(\"Volume down\"); kit.volumeDown(); };\n  kit.addAction(PIN_KEY5, down);\n  auto up = []() { flite.say(\"Volume up\"); kit.volumeUp();  };\n  kit.addAction(PIN_KEY6, up);\n\n  \/\/ we are ready to process actions now\n  flite.say(\"The application has started. Please push a button to select the function\");\n\n}\n\n\/\/ Arduino Loop\nvoid loop() {\n  kit.processActions();\n}\n<\/code><\/pre>\n<p>You just need to define you <strong>handler methods<\/strong> (button1, button2&#8230;) and assign them to the <strong>GPIO pins<\/strong>. The PIN_KEY5 and PIN_KEY6 have been predefined in the AudioKitStream to handle the volume. But you can overwrite this with your own methods &#8211; as demonstrated in the sketch.<\/p>\n<p>I think it could not be easier then this!<\/p>\n<h3>Source Code<\/h3>\n<p>The <a href=\"https:\/\/github.com\/pschatzmann\/arduino-audio-tools\/tree\/main\/examples\/examples-audiokit\/streams-pins-audiokit\">source code for this example<\/a> can also be found on Github. Please note that this example was working at the time of publishing. If you want to try it out please use this (potentially updated) example.<\/p>\n<h3>Dependencies<\/h3>\n<p>You need to install the following libraries:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/pschatzmann\/arduino-flite\">FLITE<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/pschatzmann\/arduino-audio-tools\">Arduino Audio Tolls<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/pschatzmann\/arduino-audiokit\">AudioKit<\/a><\/li>\n<\/ul>\n<h3>Final Comments<\/h3>\n<p>I was quite happy with the AudioKit so far, but after some more trials I noted that the Kit has quite some design bugs: One of them is that there are pin conflicts: When the SD card is activated the key 1 and key 2 do not work any more!<\/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. . Originally I was of the opinion that the program logic for reading of the GPIO pins and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3882,"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,27],"class_list":["post-3956","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-machine-sound","tag-esp32audiokit","tag-tts"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Using the AI Thinker Audio Kit Buttons - 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\/08\/using-the-ai-thinker-audio-kit-buttons\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using the AI Thinker Audio Kit Buttons - 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. . Originally I was of the opinion that the program logic for reading of the GPIO pins and [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/\" \/>\n<meta property=\"og:site_name\" content=\"Phil Schatzmann\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-08T09:56:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-29T02:55:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/12\/audio-toolkit.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\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=\"3 minutes\" \/>\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\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/\"},\"author\":{\"name\":\"pschatzmann\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"headline\":\"Using the AI Thinker Audio Kit Buttons\",\"datePublished\":\"2021-12-08T09:56:18+00:00\",\"dateModified\":\"2024-02-29T02:55:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/\"},\"wordCount\":302,\"commentCount\":12,\"publisher\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/audio-toolkit.png\",\"keywords\":[\"ESP32AudioKit\",\"TTS\"],\"articleSection\":[\"Arduino\",\"Machine Sound\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/\",\"name\":\"Using the AI Thinker Audio Kit Buttons - Phil Schatzmann\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/audio-toolkit.png\",\"datePublished\":\"2021-12-08T09:56:18+00:00\",\"dateModified\":\"2024-02-29T02:55:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/audio-toolkit.png\",\"contentUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/audio-toolkit.png\",\"width\":800,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/12\\\/08\\\/using-the-ai-thinker-audio-kit-buttons\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using the AI Thinker Audio Kit Buttons\"}]},{\"@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":"Using the AI Thinker Audio Kit Buttons - 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\/08\/using-the-ai-thinker-audio-kit-buttons\/","og_locale":"en_US","og_type":"article","og_title":"Using the AI Thinker Audio Kit Buttons - 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. . Originally I was of the opinion that the program logic for reading of the GPIO pins and [&hellip;]","og_url":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/","og_site_name":"Phil Schatzmann","article_published_time":"2021-12-08T09:56:18+00:00","article_modified_time":"2024-02-29T02:55:29+00:00","og_image":[{"width":800,"height":500,"url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/12\/audio-toolkit.png","type":"image\/png"}],"author":"pschatzmann","twitter_card":"summary_large_image","twitter_misc":{"Written by":"pschatzmann","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/#article","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/"},"author":{"name":"pschatzmann","@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"headline":"Using the AI Thinker Audio Kit Buttons","datePublished":"2021-12-08T09:56:18+00:00","dateModified":"2024-02-29T02:55:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/"},"wordCount":302,"commentCount":12,"publisher":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/12\/audio-toolkit.png","keywords":["ESP32AudioKit","TTS"],"articleSection":["Arduino","Machine Sound"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/","url":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/","name":"Using the AI Thinker Audio Kit Buttons - Phil Schatzmann","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/#primaryimage"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/12\/audio-toolkit.png","datePublished":"2021-12-08T09:56:18+00:00","dateModified":"2024-02-29T02:55:29+00:00","breadcrumb":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/#primaryimage","url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/12\/audio-toolkit.png","contentUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/12\/audio-toolkit.png","width":800,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/12\/08\/using-the-ai-thinker-audio-kit-buttons\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pschatzmann.ch\/home\/"},{"@type":"ListItem","position":2,"name":"Using the AI Thinker Audio Kit Buttons"}]},{"@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\/3956","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=3956"}],"version-history":[{"count":34,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/3956\/revisions"}],"predecessor-version":[{"id":3960,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/3956\/revisions\/3960"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media\/3882"}],"wp:attachment":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media?parent=3956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/categories?post=3956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/tags?post=3956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}