{"id":340,"date":"2025-11-09T09:00:00","date_gmt":"2025-11-09T09:00:00","guid":{"rendered":"https:\/\/www.tb-software.ch\/ai\/sprachgesteuerte-aufzeichnung-fuer-iot\/"},"modified":"2025-11-09T09:00:00","modified_gmt":"2025-11-09T09:00:00","slug":"sprachgesteuerte-aufzeichnung-fuer-iot","status":"publish","type":"post","link":"https:\/\/www.tb-software.ch\/ai\/en\/sprachgesteuerte-aufzeichnung-fuer-iot\/","title":{"rendered":"Voice-Controlled Recording for IoT"},"content":{"rendered":"<p>To control a small device by voice, you need one thing above all else: stable recognition without continuous recording and without false starts. In this post, I present a practical solution that runs locally, uses a dynamic threshold, and automatically starts and stops sequences. The focus is on functionality and everyday usability, not the internet.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.tb-software.ch\/ai\/wp-content\/uploads\/2026\/05\/grafik-1024x502-1.png\" alt=\"\" loading=\"lazy\"><\/p>\n<p>&lt;p&gt;Noteworthy: the transcription can start cleanly before the threshold and also end cleanly afterward. We haven\u2019t missed the first few syllables but entire words, which enhances the quality.&lt;\/p&gt;<\/p>\n<h2>Goal<\/h2>\n<p>Reliably capture short voice commands and save them as text. Everything works offline. Ideal for edge devices, workshop PCs, mini servers, or a quiet office computer. This solution fits the TB-Software style of compact project posts and how-tos. <a href=\"https:\/\/tb-software.ch\/page\/posts\/\">TB-Software<\/a><\/p>\n<h2>This is how it works in operation<\/h2>\n<ol>\n<li>Start via <code>start_voice_recorder.bat<\/code>.<\/li>\n<li>Stay quiet for a few seconds first. The system is calibrating the ambient noise in the room.<\/li>\n<li>Just speak naturally. Recording only begins when your voice clearly exceeds the measured baseline level.<\/li>\n<li>Short sounds like a single \u201chuh\u201d are ignored. A complete sentence like \u201cHello, how are you today\u201d is recorded.<\/li>\n<li>The recording automatically stops after about five seconds of silence.<\/li>\n<li>Du findest das Ergebnis im Ordner <code>log<\/code>Audio als MP3 und Transkript als TXT oder JSON.<\/li>\n<\/ol>\n<h2>Warum dieser Prozess robust ist<\/h2>\n<ul>\n<li><strong>dynamische Schwelle<\/strong> passt sich dem Raum an. Ruhiger Keller, lautes B\u00fcro, variierende L\u00fcfter.<\/li>\n<li><strong>Voraufzeichnung<\/strong> puffert die letzten zwei Sekunden. Nichts am Anfang des Satzes geht verloren.<\/li>\n<li><strong>ruhige Phase<\/strong> verhindert Zwischenbewertungen w\u00e4hrend Denkpausen<\/li>\n<li><strong>Segmentgrenze<\/strong> After silence. Each command is cleanly terminated and can only be processed afterward.<\/li>\n<\/ul>\n<h2>Typical use cases<\/h2>\n<ul>\n<li>Sticky note on the workbench.<\/li>\n<li>Short commands for a home automation gateway.<\/li>\n<li>Hands-free operation in the lab when your hands are full.<\/li>\n<li>Logs during testing, without cloud dependency<\/li>\n<\/ul>\n<h2>Quality in practice<\/h2>\n<p>Recognition runs locally and doesn\u2019t require the internet. Online models often understand a bit more, but for clear sentences at normal distance, the quality is sufficient in many environments. The key factors are the microphone and its proximity to the voice. The closer it is, the less ambient noise, and the cleaner the transcript.<\/p>\n<h2>Tips for stable results<\/h2>\n<ul>\n<li>Microphone positioned 10 to 20 cm in front of the mouth.<\/li>\n<li>Quieter keyboards and fans help.<\/li>\n<li>Use short, clear sentences.<\/li>\n<li>Use a headset in very reverberant rooms.<\/li>\n<\/ul>\n<h2>Files and logs<\/h2>\n<ul>\n<li><code>log\/audio\/\u2026mp3<\/code> contains the recording.<\/li>\n<li><code>log\/transcriptions\/\u2026txt<\/code> is the raw text<\/li>\n<li><code>log\/transcriptions\/\u2026json<\/code> includes details such as timestamps<\/li>\n<\/ul>\n<h2>limits<\/h2>\n<ul>\n<li>Very quiet speakers or strong interference noises can lower the hit rate.<\/li>\n<li>Very short single-word sounds are intentionally not captured to keep the system quiet.<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/www.tb-software.ch\/ai\/wp-content\/uploads\/2026\/05\/grafik-1-2.png\" alt=\"\" loading=\"lazy\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>To control a small device by voice, you primarily need one thing: stable recognition without continuous recording and false starts. In this post, I present a practical solution that runs locally, uses a dynamic threshold, and automatically starts and stops sequences. The focus is on functionality and everyday usability\u2014not the internet. Notably: the transcription\u2026<\/p>\n","protected":false},"author":1,"featured_media":337,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37],"tags":[],"class_list":["post-340","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-applikationsentwicklung"],"_links":{"self":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/posts\/340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=340"}],"version-history":[{"count":0,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/posts\/340\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/media\/337"}],"wp:attachment":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}