Zum Inhalt springen
🛠️ToolsShed

Syllable Counter

Zähle Silben in Wörtern und Text, analysiere Lesbarkeits-Metriken und überprüfe Stress-Muster.

Über dieses Tool

Der Silbenzähler ist ein leichtes Tool zum Analysieren der rhythmischen Struktur von Text durch das Zählen von Silben in Wörtern und das Messen der Textkomplexität durch Lesbarkeitsmetriken. Das Verständnis der Silbenverteilung hilft Schreibenden, Dichtern und Sprachlernenden, den Textfluss zu erkennen und zu beurteillen, ob der Inhalt für sein Zielpublikum geeignet ist. Im Gegensatz zu wörterbuchgestützten Systemen, die serverseitige Abfragen erfordern, funktioniert dieses Tool sofort in Ihrem Browser mittels einer Vokalgruppen-Heuristik, die häufige englische Muster bearbeitet.

Um das Tool zu nutzen, fügen Sie einfach Ihren Text in das Eingabefeld ein oder geben ihn ein und klicken auf Analysieren. Das Tool zeigt die Gesamtsilbenzahl, Wortanzahl, durchschnittliche Silben pro Wort und eine Lesbarkeitsklassifizierung von einfach (unter 1,5 Silben pro Wort) bis komplex (über 2,5). Eine Wort-für-Wort-Analyse zeigt die einzelnen Silbenzahlen und hilft Ihnen zu erkennen, welche Wörter am meisten zur Textdichte beitragen. Dies ist besonders nützlich für Dichter, die das Versmaß verfeinern, Autoren, die Inhalte für Schulstufen-Angemessenheit anpassen, oder Songwriter, die Texte an den Rhythmus einer Melodie angleichen.

Der Zähler wendet Korrektionen für stumme Buchstaben (wie das End-'e' in "cake") an und bearbeitet häufige englische Muster wie -le-Endungen. Für höchste Genauigkeit bei ungewöhnlichen Eigennamen oder Fachbegriffen sollten Sie die Ergebnisse mit einem Aussprachewörterbuch abgleichen. Das Tool ist für Englisch optimiert; andere Sprachen haben unterschiedliche Silbentrennungsregeln und können bestenfalls ungefähre Ergebnisse liefern.

Häufig gestellte Fragen

Code-Implementierung

import re

def count_syllables(word: str) -> int:
    word = word.lower().strip(".,!?;:'"")
    if not word:
        return 0
    # Special case: silent 'e' at end
    if word.endswith('e') and len(word) > 2:
        word = word[:-1]
    # Count vowel groups
    vowels = "aeiouy"
    count = 0
    prev_was_vowel = False
    for char in word:
        is_vowel = char in vowels
        if is_vowel and not prev_was_vowel:
            count += 1
        prev_was_vowel = is_vowel
    return max(1, count)

def count_syllables_in_text(text: str) -> dict:
    words = re.findall(r"[a-zA-Z']+", text)
    total = sum(count_syllables(w) for w in words)
    return {
        "words": len(words),
        "syllables": total,
        "avg_per_word": round(total / len(words), 2) if words else 0
    }

text = "The quick brown fox jumps over the lazy dog"
result = count_syllables_in_text(text)
print(f"Words: {result['words']}")
print(f"Syllables: {result['syllables']}")
print(f"Avg per word: {result['avg_per_word']}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.