{"id":4477,"date":"2022-02-25T11:13:46","date_gmt":"2022-02-25T10:13:46","guid":{"rendered":"https:\/\/www.pschatzmann.ch\/home\/?p=4477"},"modified":"2022-02-25T11:26:43","modified_gmt":"2022-02-25T10:26:43","slug":"tts-with-pre-recorded-audio-removing-silence","status":"publish","type":"post","link":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/","title":{"rendered":"TTS with Pre-Recorded Audio:  Removing Silence"},"content":{"rendered":"<p>In <a href=\"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/16\/tts-with-prerecorded-audio-building-a-talking-clock\/\">my introductory blog<\/a>, I have described that it would be cool to remove the silence from the recorded samples. If we look at one of the recordings  we can see that they start and end with some silence:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/silence-filter-300x34.png\" alt=\"\" width=\"100%\"  class=\"alignnone size-medium wp-image-4478\" srcset=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/silence-filter-300x34.png 300w, https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/silence-filter-768x87.png 768w, https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/silence-filter.png 1518w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>I have created a <strong>SilenceRemovalConverter<\/strong> which does exactly this. The first parameters indicates the number of samples we consider (if the last n samples were silence we remove the sample), the second the threshold value. Here is a Arduino Sketch that shows how to use it:<\/p>\n<pre><code>#include \"SimpleTTS.h\"\n#include \"AudioCodecs\/CodecMP3Helix.h\"\n#include \"Desktop.h\"\n\nI2SStream i2s;\nSilenceRemovalConverter&lt;int16_t&gt; rem(8, 2);\nConvertedStream&lt;int16_t,SilenceRemovalConverter&lt;int16_t&gt;&gt; out(i2s, rem); \n\nMP3DecoderHelix mp3;\nAudioDictionary dictionary(ExampleAudioDictionaryValues);\nNumberUnitToText utt;\nTextToSpeech tts(utt, out, mp3, dictionary);\n\ndouble number = 1.1;\n\nvoid setup(){\n    Serial.begin(115200);\n    AudioLogger::instance().begin(Serial, AudioLogger::Info);\n    \/\/ setup out\n    auto cfg = i2s.defaultConfig(); \n    cfg.sample_rate = 24000;\n    cfg.channels = 1;\n    i2s.begin(cfg);\n\n    \/\/ define volume\n    volume.setVolume(0.6);\n\n}\n\nvoid increment() {\n    number +=1;\n}\n\nvoid loop() {\n    \/\/ speach output\n    utt.say(number, \"usd\");\n\n    increment();\n    delay(1000);\n}\n<\/code><\/pre>\n<p>If we run the sketch we can see in the log that it is actually working:<\/p>\n<pre><code>11:26:06.707 -&gt; [I] AudioCopy.h : 121 - StreamCopy::copy 1024 -&gt; 1024 -&gt; 1024 bytes - in 1 hops\n11:26:06.707 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:06.741 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:06.741 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:06.741 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:06.776 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:06.776 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:06.813 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:06.813 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:06.813 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:06.850 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:06.850 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 458\n11:26:06.850 -&gt; [I] AudioCopy.h : 121 - StreamCopy::copy 1024 -&gt; 1024 -&gt; 1024 bytes - in 1 hops\n11:26:06.850 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:06.888 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:06.888 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:06.922 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:06.922 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:06.957 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:06.957 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:06.957 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:06.990 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:06.990 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.026 -&gt; [I] AudioCopy.h : 121 - StreamCopy::copy 1024 -&gt; 1024 -&gt; 1024 bytes - in 1 hops\n11:26:07.026 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.026 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.059 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.059 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.093 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.093 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.126 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.126 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.126 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.160 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.160 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.193 -&gt; [I] AudioCopy.h : 121 - StreamCopy::copy 992 -&gt; 992 -&gt; 992 bytes - in 1 hops\n11:26:07.193 -&gt; [I] TextToSpeech.h : 63 - say: dollars\n11:26:07.193 -&gt; [I] AudioCopy.h : 74 - buffer_size=1024\n11:26:07.193 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.193 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.231 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.231 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.265 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.298 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 72\n11:26:07.333 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:07.333 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:07.333 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:07.367 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:07.367 -&gt; [I] AudioCopy.h : 121 - StreamCopy::copy 1024 -&gt; 1024 -&gt; 1024 bytes - in 1 hops\n11:26:07.367 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:07.400 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:07.400 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:07.433 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:07.433 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 230\n11:26:07.433 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 0\n11:26:07.466 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 34\n11:26:07.466 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 946\n11:26:07.502 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1150\n11:26:07.502 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.502 -&gt; [I] Converter.h : 676 - filtered silence from 1152 -&gt; 1152\n11:26:07.537 -&gt; [I] AudioCopy.h : 121 - StreamCopy::copy 1024 -&gt; 1024 -&gt; 1024 bytes - in 1 hops\n\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>In my introductory blog, I have described that it would be cool to remove the silence from the recorded samples. If we look at one of the recordings we can see that they start and end with some silence: I have created a SilenceRemovalConverter which does exactly this. The first [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4478,"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":[27],"class_list":["post-4477","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-machine-sound","category-text-to-speech","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: Removing Silence - 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\/25\/tts-with-pre-recorded-audio-removing-silence\/\" \/>\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: Removing Silence - Phil Schatzmann\" \/>\n<meta property=\"og:description\" content=\"In my introductory blog, I have described that it would be cool to remove the silence from the recorded samples. If we look at one of the recordings we can see that they start and end with some silence: I have created a SilenceRemovalConverter which does exactly this. The first [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/\" \/>\n<meta property=\"og:site_name\" content=\"Phil Schatzmann\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-25T10:13:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-25T10:26:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/silence-filter.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1518\" \/>\n\t<meta property=\"og:image:height\" content=\"171\" \/>\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=\"4 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\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/\"},\"author\":{\"name\":\"pschatzmann\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"headline\":\"TTS with Pre-Recorded Audio: Removing Silence\",\"datePublished\":\"2022-02-25T10:13:46+00:00\",\"dateModified\":\"2022-02-25T10:26:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/\"},\"wordCount\":107,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/silence-filter.png\",\"keywords\":[\"TTS\"],\"articleSection\":[\"Arduino\",\"Machine Sound\",\"Text To Speech\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/\",\"name\":\"TTS with Pre-Recorded Audio: Removing Silence - Phil Schatzmann\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/silence-filter.png\",\"datePublished\":\"2022-02-25T10:13:46+00:00\",\"dateModified\":\"2022-02-25T10:26:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/silence-filter.png\",\"contentUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/silence-filter.png\",\"width\":1518,\"height\":171},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2022\\\/02\\\/25\\\/tts-with-pre-recorded-audio-removing-silence\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TTS with Pre-Recorded Audio: Removing Silence\"}]},{\"@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: Removing Silence - 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\/25\/tts-with-pre-recorded-audio-removing-silence\/","og_locale":"en_US","og_type":"article","og_title":"TTS with Pre-Recorded Audio: Removing Silence - Phil Schatzmann","og_description":"In my introductory blog, I have described that it would be cool to remove the silence from the recorded samples. If we look at one of the recordings we can see that they start and end with some silence: I have created a SilenceRemovalConverter which does exactly this. The first [&hellip;]","og_url":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/","og_site_name":"Phil Schatzmann","article_published_time":"2022-02-25T10:13:46+00:00","article_modified_time":"2022-02-25T10:26:43+00:00","og_image":[{"width":1518,"height":171,"url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/silence-filter.png","type":"image\/png"}],"author":"pschatzmann","twitter_card":"summary_large_image","twitter_misc":{"Written by":"pschatzmann","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/#article","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/"},"author":{"name":"pschatzmann","@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"headline":"TTS with Pre-Recorded Audio: Removing Silence","datePublished":"2022-02-25T10:13:46+00:00","dateModified":"2022-02-25T10:26:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/"},"wordCount":107,"commentCount":0,"publisher":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/silence-filter.png","keywords":["TTS"],"articleSection":["Arduino","Machine Sound","Text To Speech"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/","url":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/","name":"TTS with Pre-Recorded Audio: Removing Silence - Phil Schatzmann","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/#primaryimage"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/silence-filter.png","datePublished":"2022-02-25T10:13:46+00:00","dateModified":"2022-02-25T10:26:43+00:00","breadcrumb":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/#primaryimage","url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/silence-filter.png","contentUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/02\/silence-filter.png","width":1518,"height":171},{"@type":"BreadcrumbList","@id":"https:\/\/www.pschatzmann.ch\/home\/2022\/02\/25\/tts-with-pre-recorded-audio-removing-silence\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pschatzmann.ch\/home\/"},{"@type":"ListItem","position":2,"name":"TTS with Pre-Recorded Audio: Removing Silence"}]},{"@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\/4477","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=4477"}],"version-history":[{"count":6,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/4477\/revisions"}],"predecessor-version":[{"id":4486,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/4477\/revisions\/4486"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media\/4478"}],"wp:attachment":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media?parent=4477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/categories?post=4477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/tags?post=4477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}