<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Speech to Text Archive - Das ist die Welt von Thomas</title>
	<atom:link href="https://www.schiffler.eu/thema/speech-to-text/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.schiffler.eu/thema/speech-to-text/</link>
	<description>meine Gedanken, mal strukturiert, mal nicht ...</description>
	<lastBuildDate>Fri, 27 Feb 2026 10:18:01 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.schiffler.eu/wp-content/uploads/2025/07/cropped-Profilfoto_2024-32x32.png</url>
	<title>Speech to Text Archive - Das ist die Welt von Thomas</title>
	<link>https://www.schiffler.eu/thema/speech-to-text/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Voicefile aufnehmen per Browser &#8211; mit PHP und JavaScript</title>
		<link>https://www.schiffler.eu/voicefile-aufnehmen-stt-benchmark-word-error-rate-wer/</link>
					<comments>https://www.schiffler.eu/voicefile-aufnehmen-stt-benchmark-word-error-rate-wer/#respond</comments>
		
		<dc:creator><![CDATA[Thomas Schiffler]]></dc:creator>
		<pubDate>Sat, 24 Oct 2020 08:27:00 +0000</pubDate>
				<category><![CDATA[eigene Projekte]]></category>
		<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Speech to Text]]></category>
		<category><![CDATA[STT]]></category>
		<category><![CDATA[Voice-First]]></category>
		<category><![CDATA[WER]]></category>
		<category><![CDATA[Word Error Rate]]></category>
		<guid isPermaLink="false">https://www.schiffler.eu/?p=1126</guid>

					<description><![CDATA[<p>Ich beschäftige mich aktuell ein wenig mit dem Voice-First Ansatz. Hierbei stolpere ich ständig über die unterschiedlichen Qualitäten der Speech &#8230; <a href="https://www.schiffler.eu/voicefile-aufnehmen-stt-benchmark-word-error-rate-wer/" class="more-link">More <span class="screen-reader-text">Voicefile aufnehmen per Browser &#8211; mit PHP und JavaScript</span> <span class="meta-nav">&#8594;</span></a></p>
<p>Der Beitrag <a href="https://www.schiffler.eu/voicefile-aufnehmen-stt-benchmark-word-error-rate-wer/">Voicefile aufnehmen per Browser &#8211; mit PHP und JavaScript</a> erschien zuerst auf <a href="https://www.schiffler.eu">Das ist die Welt von Thomas</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ich beschäftige mich aktuell ein wenig mit dem <a href="https://www.schiffler.eu/thema/voice-first/">Voice-First Ansatz</a>. Hierbei stolpere ich ständig über die unterschiedlichen Qualitäten der Speech to Text Anbieter. Die im Internet auffindbaren Benchmarks der einzelnen Anbieter sind meist auf der englischen Sprache und für Deutsch wenig Aussagekräftig. Um einen eigenen Benchmark durchführen zu können benötigt man eine große Datenbasis an Sprachfiles und Transkriptionen der darin befindlichen Texte. Ein Voicefile aufnehmen ist über den Browser gar nicht so kompliziert. Also habe ich mich hingesetzt und fix <a rel="noreferrer noopener" href="https://github.com/tschiffler/WebVoiceRecorder" target="_blank">ein kleines Script</a> geschrieben welches mich beim Aufbau einer &#8222;eigenen Datenbasis&#8220; ein wenig unterstützen soll. </p>



<h2 class="wp-block-heading">Warum ein Voicefile aufnehmen?</h2>



<p class="wp-block-paragraph">Zur Durchführung eines Benchmarks unterschiedlicher Speech to Text Anbieter ist eine breite Datenbasis wichtig. Zu diesem Zweck werden Aufnahmen von möglichst vielen Personen benötigt. Wichtig ist hierbei nun das nicht nur die Aufnahmen vorliegen, sondern klar ist, welche Datei welchen Text beinhaltet. Um nun nicht alle Dateien einzeln anhören zu müssen kam die Überlegung auf, dass es sinnvoll sein könnte, die zu sprechenden Texte vorzugeben. </p>



<h2 class="wp-block-heading">Wie funktioniert das Voicefile aufnehmen?</h2>



<p class="wp-block-paragraph">Somit war die Idee zum <a href="https://github.com/tschiffler/WebVoiceRecorder" target="_blank" rel="noreferrer noopener">WebVoiceRecorder</a> geboren. Die Idee ist recht einfach:</p>



<ul class="wp-block-list">
<li>über einen Adminbereich können User angelegt werden</li>



<li>jedem User kann eine Liste von zu sprechenden Texten zugeordnet werden</li>



<li>nachdem ein User sich einloggt stimmt er den Datenschutzbestimmungen zu (Nutzung der Files)</li>



<li>der Nutzer bekommt den zu sprechenden Text angezeigt</li>



<li>die Aufzeichnung erfolgt direkt über den Browser</li>



<li>das Voicefile wird auf dem Server abgelegt</li>



<li>ein Export (ToDo) der gesprochenen Daten zum <a href="https://labelstud.io/" target="_blank" rel="noreferrer noopener">Label Studio</a> unterstützt beim Labeln der Daten</li>
</ul>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_1.png"><img fetchpriority="high" decoding="async" width="660" height="331" data-id="1125" src="https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_1.png" alt="WebVoiceRecorder - Login" class="wp-image-1125" srcset="https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_1.png 660w, https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_1-300x150.png 300w" sizes="(max-width: 660px) 100vw, 660px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_2.png"><img decoding="async" width="654" height="457" data-id="1124" src="https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_2.png" alt="WebVoiceRecorder - Datenschutzbestimmungen" class="wp-image-1124" srcset="https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_2.png 654w, https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_2-300x210.png 300w" sizes="(max-width: 654px) 100vw, 654px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_3.png"><img decoding="async" width="585" height="213" data-id="1123" src="https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_3.png" alt="WebVoiceRecorder - Record Voicefile" class="wp-image-1123" srcset="https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_3.png 585w, https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_3-300x109.png 300w" sizes="(max-width: 585px) 100vw, 585px" /></a></figure>
</figure>



<h2 class="wp-block-heading">öffentliches Projekt bei Github</h2>



<p class="wp-block-paragraph">Bei der Suche geeigneter JavaScript Libraries zur Aufzeichnung eines Mikrofon-Streams über den Browser bin ich auf <a rel="noreferrer noopener" href="https://github.com/mattdiamond/Recorderjs" target="_blank">recorder.js</a> gestoßen. Dieses Plugin stellt die Kernfunktionalitäten meiner kleinen Anwendung bereit und ist unter der <a rel="noreferrer noopener" href="https://de.wikipedia.org/wiki/MIT-Lizenz" target="_blank">MIT-Lizenz</a> veröffentlicht. Also entschloss ich mich dazu auch mein Script unter derselben Lizenz <a href="https://github.com/tschiffler/WebVoiceRecorder" target="_blank" rel="noreferrer noopener">auf Github zu veröffentlichen</a>:</p>


<div class="wp-block-image is-style-rounded">
<figure class="aligncenter size-medium"><a href="https://github.com/tschiffler/WebVoiceRecorder" target="_blank" rel="WebVoiceRecorder auf Github noopener noreferrer"><img loading="lazy" decoding="async" width="300" height="179" src="https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_4-300x179.png" alt="WebVoiceRecorder - Github Project" class="wp-image-1122" srcset="https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_4-300x179.png 300w, https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_4-768x458.png 768w, https://www.schiffler.eu/wp-content/uploads/2020/10/voiceRecorder_4.png 935w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></figure>
</div>


<h2 class="wp-block-heading">Überschaubarer Aufwand &#8211; großer Nutzen</h2>



<p class="wp-block-paragraph">Mit der gesamten Implementierung dieser Funktion habe ich mich in Summe nur gerade mal knapp 2 Stunden beschäftigt. Der Aufwand war also in der Tat überschaubar. Normalerweise setze ich weniger auf PHP als Programmiersprache, für solch kleine Dinge schätze ich die Sprache jedoch sehr. </p>



<p class="wp-block-paragraph">Im nächsten Schritt versuche ich das Script an das <a rel="noreferrer noopener" href="https://labelstud.io/" target="_blank">Label Studio</a> anzubinden und die Daten vorgelabelt in die Überprüfung zu geben. Die Scripte für den STT-Benchmark werden dann auf dieser Datenbasis aufsetzen. Der eigentliche Benchmark der Anbieter ist dann im Grunde, rein technisch gesehen, nur noch Fleißarbeit. </p>



<h2 class="wp-block-heading">OpenSource Projekt auf Github veröffentlicht</h2>



<p class="wp-block-paragraph">Wer Interesse an dem kleinen Script hat findet den gesamten Quelltext auf Github unter <a href="https://github.com/tschiffler/WebVoiceRecorder" target="_blank" rel="noreferrer noopener">https://github.com/tschiffler/WebVoiceRecorder</a>. Verbesserungsvorschläge und Erweiterungen werden natürlich gerne (am liebsten per Pull-Request) angenommen und mit integriert <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Der Beitrag <a href="https://www.schiffler.eu/voicefile-aufnehmen-stt-benchmark-word-error-rate-wer/">Voicefile aufnehmen per Browser &#8211; mit PHP und JavaScript</a> erschien zuerst auf <a href="https://www.schiffler.eu">Das ist die Welt von Thomas</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.schiffler.eu/voicefile-aufnehmen-stt-benchmark-word-error-rate-wer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Object Caching 45/53 objects using APC
Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Minified using APC
Database Caching 13/24 queries in 0.002 seconds using APC

Served from: www.schiffler.eu @ 2026-06-27 00:24:39 by W3 Total Cache
-->