{"id":4439,"date":"2022-02-16T20:02:46","date_gmt":"2022-02-16T19:02:46","guid":{"rendered":"https:\/\/www.pschatzmann.ch\/home\/?p=4439"},"modified":"2022-02-25T11:19:56","modified_gmt":"2022-02-25T10:19:56","slug":"tts-with-prerecorded-audio-building-a-talking-clock","status":"publish","type":"post","link":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/","title":{"rendered":"TTS with Pre-Recorded Audio: Building a Talking Clock"},"content":{"rendered":"<p>Last year I was digging into Arduino Based TTS Solutions and came to the conclusion that the <a href=\"https:\/\/www.pschatzmann.ch\/home\/2021\/06\/23\/text-to-speach-in-arduino-conclusions\/\">available engines will not provide any quality audio<\/a> and therefore recommended to consider an approach which is based on <strong>recorded audio samples<\/strong>.<\/p>\n<p>Today I took the opportunity to create the new <a href=\"https:\/\/github.com\/pschatzmann\/arduino-simple-tts\">arduino-simple-tts<\/a> project which is based on this approach. As a proof of concept I have implemented the <strong>speaking of numbers<\/strong> and of <strong>the output of time<\/strong>. All the relevant words have been recorded as <strong>mp3 files<\/strong> and are stored in <strong>program memory<\/strong>.<\/p>\n<h2>Arduino Sketch<\/h2>\n<p>Here is a Example Sketch which implements a Speaking Clock:<\/p>\n<pre><code>#include \"SimpleTTS.h\"\n#include \"AudioCodecs\/CodecMP3Helix.h\"\n#include \"AudioLibs\/AudioKit.h\"\n#include \"TimeInfo.h\"\n\n\/\/ Output\nTimeToText ttt;\nAudioKitStream i2s; \/\/ replace with alterntive Audio Sink if needed: AnalogAudioStream, I2SStream etc.\nMP3DecoderHelix mp3;\nAudioDictionary dictionary(ExampleAudioDictionaryValues);\nTextToSpeech tts(ttt, i2s, mp3, dictionary);\n\n\/\/ Determine Time\nTimeInfo timeInfo;\nconst char* ssid = \"SSID\";\nconst char* password = \"password\";\n\nvoid setup() {\n  Serial.begin(115200);\n  AudioLogger::instance().begin(Serial, AudioLogger::Info);\n\n  \/\/ setup i2s\n  auto cfg = i2s.defaultConfig();\n  cfg.sample_rate = 24000;\n  cfg.channels = 1;\n  i2s.begin(cfg);\n\n  \/\/ We announce the time only every 5 minutes\n  timeInfo.setEveryMinutes(5);\n  \/\/ start WIFI and time\n  timeInfo.begin(ssid, password);\n  ttt.say(timeInfo.time());\n}\n\nvoid loop() {\n  \/\/ speach output\n  if (timeInfo.update()){\n    ttt.say(timeInfo.time());\n  }\n}\n<\/code><\/pre>\n<p>The <strong>TimeToText class<\/strong> is translating the time into words which is the input to the <strong>TextToSpeech class<\/strong> which handles the audio. This class is based on my <a href=\"https:\/\/github.com\/pschatzmann\/arduino-audio-tools\">Arduino Audio Tools<\/a> library: so we need to feed it with a OutputSink and a MP3 Decoder. The audio samples are determined with the help of the <strong>AudioDictionary<\/strong>. As part of the sketch I have implemented the <strong>TimeInfo<\/strong> class which just retrieves the time information from a time server and determines if we need to announce a new time.<\/p>\n<p>The <a href=\"https:\/\/github.com\/pschatzmann\/arduino-simple-tts\/tree\/main\/examples\/talking-clock\">full source code<\/a> is available on Github<\/p>\n<h2>Memory Requirements<\/h2>\n<p>The sketch which includes the audio data is only using 37% of the program storage:<\/p>\n<pre><code>Sketch uses 1171698 bytes (37%) of program storage space. Maximum is 3145728 bytes.\nGlobal variables use 48232 bytes (14%) of dynamic memory, leaving 279448 bytes for \n<\/code><\/pre>\n<p>I think this is quite impressive and we have quite some headroom before we need to resort to the samples being stored on a SD drive.<\/p>\n<h2>Next Steps<\/h2>\n<p>I see three things that could be improved:<\/p>\n<ul>\n<li>There are some unnatural long gaps between some numbers: <a href=\"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/\">We could filter them out<\/a>. <\/li>\n<li>We need some <a href=\"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/20\/tts-with-pre-recorded-audio-preparing-the-audio-files\/\">functionality that helps us to record the text input<\/a> <\/li>\n<li>It would be cool to extend the example to support speak recognition that would reply to the request: &#8220;what&#8217;s the time?&#8221;<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Last year I was digging into Arduino Based TTS Solutions and came to the conclusion that the available engines will not provide any quality audio and therefore recommended to consider an approach which is based on recorded audio samples. Today I took the opportunity to create the new arduino-simple-tts project [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4449,"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,35],"tags":[28,27],"class_list":["post-4439","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-machine-sound","category-text-to-speech","tag-esp32audiokit","tag-tts"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TTS with Pre-Recorded Audio: Building a Talking Clock - 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\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TTS with Pre-Recorded Audio: Building a Talking Clock - Phil Schatzmann\" \/>\n<meta property=\"og:description\" content=\"Last year I was digging into Arduino Based TTS Solutions and came to the conclusion that the available engines will not provide any quality audio and therefore recommended to consider an approach which is based on recorded audio samples. Today I took the opportunity to create the new arduino-simple-tts project [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/\" \/>\n<meta property=\"og:site_name\" content=\"Phil Schatzmann\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-16T19:02:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-25T10:19:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/talking-clock.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"225\" \/>\n\t<meta property=\"og:image:height\" content=\"225\" \/>\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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/\"},\"author\":{\"name\":\"pschatzmann\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"headline\":\"TTS with Pre-Recorded Audio: Building a Talking Clock\",\"datePublished\":\"2022-02-16T19:02:46+00:00\",\"dateModified\":\"2022-02-25T10:19:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/\"},\"wordCount\":304,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/talking-clock.jpeg\",\"keywords\":[\"ESP32AudioKit\",\"TTS\"],\"articleSection\":[\"Arduino\",\"Machine Sound\",\"Text To Speech\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/\",\"name\":\"TTS with Pre-Recorded Audio: Building a Talking Clock - Phil Schatzmann\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/talking-clock.jpeg\",\"datePublished\":\"2022-02-16T19:02:46+00:00\",\"dateModified\":\"2022-02-25T10:19:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/talking-clock.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/talking-clock.jpeg\",\"width\":225,\"height\":225},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/16\\\/tts-with-prerecorded-audio-building-a-talking-clock\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TTS with Pre-Recorded Audio: Building a Talking Clock\"}]},{\"@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":"TTS with Pre-Recorded Audio: Building a Talking Clock - 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\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/","og_locale":"en_US","og_type":"article","og_title":"TTS with Pre-Recorded Audio: Building a Talking Clock - Phil Schatzmann","og_description":"Last year I was digging into Arduino Based TTS Solutions and came to the conclusion that the available engines will not provide any quality audio and therefore recommended to consider an approach which is based on recorded audio samples. Today I took the opportunity to create the new arduino-simple-tts project [&hellip;]","og_url":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/","og_site_name":"Phil Schatzmann","article_published_time":"2022-02-16T19:02:46+00:00","article_modified_time":"2022-02-25T10:19:56+00:00","og_image":[{"width":225,"height":225,"url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/talking-clock.jpeg","type":"image\/jpeg"}],"author":"pschatzmann","twitter_card":"summary_large_image","twitter_misc":{"Written by":"pschatzmann","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/#article","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/"},"author":{"name":"pschatzmann","@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"headline":"TTS with Pre-Recorded Audio: Building a Talking Clock","datePublished":"2022-02-16T19:02:46+00:00","dateModified":"2022-02-25T10:19:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/"},"wordCount":304,"commentCount":1,"publisher":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/talking-clock.jpeg","keywords":["ESP32AudioKit","TTS"],"articleSection":["Arduino","Machine Sound","Text To Speech"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/","url":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/","name":"TTS with Pre-Recorded Audio: Building a Talking Clock - Phil Schatzmann","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/#primaryimage"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/talking-clock.jpeg","datePublished":"2022-02-16T19:02:46+00:00","dateModified":"2022-02-25T10:19:56+00:00","breadcrumb":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/#primaryimage","url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/talking-clock.jpeg","contentUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/talking-clock.jpeg","width":225,"height":225},{"@type":"BreadcrumbList","@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pschatzmann.ch\/home\/"},{"@type":"ListItem","position":2,"name":"TTS with Pre-Recorded Audio: Building a Talking Clock"}]},{"@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\/4439","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=4439"}],"version-history":[{"count":21,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/4439\/revisions"}],"predecessor-version":[{"id":4484,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/4439\/revisions\/4484"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media\/4449"}],"wp:attachment":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media?parent=4439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/categories?post=4439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/tags?post=4439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}