コンテンツへスキップ
🛠️ToolsShed

Syllable Counter

単語とテキストのシラブルをカウントし、読みやすさメトリクスを分析し、ストレスパターンを確認します。

このツールについて

音節カウンターは、単語の音節を数え、可読性指標を通じてテキストの複雑さを測定することで、テキストのリズム構造を分析するための軽量ツールです。音節の分布を理解することは、執筆者、詩人、言語学習者がテキストの流れを認識し、コンテンツが想定される読者に適しているかどうかを判断するのに役立ちます。辞書ベースのシステムとは異なり、サーバー検索が不要なため、このツールはブラウザで即座に動作し、一般的な英語パターンを処理する母音グループのヒューリスティックを使用します。

ツールを使用するには、入力フィールドにテキストを貼り付けるか入力し、分析をクリックするだけです。ツールは総音節数、単語数、単語あたりの平均音節数、および可読性分類(シンプル:単語あたり1.5未満、複雑:2.5以上)を表示します。単語ごとの詳細な分析では個別の音節数を示し、どの単語がテキスト密度に最も寄与するかを特定するのに役立ちます。これは詩人が韻律を調整する際、執筆者が学年レベルの適切さのためにコンテンツを調整する際、または作詞家がメロディのビートに合わせて歌詞を合わせる際に特に有用です。

カウンターは、"cake"の最後の'e'のような無音文字の補正を適用し、-leの語尾などの一般的な英語パターンを処理します。珍しい固有名詞や専門用語での最高の精度のため、発音ガイドで結果を相互参照してください。このツールは英語向けに最適化されており、他の言語は異なる音節分割規則を持ち、最良の場合でも概算結果が得られる可能性があります。

よくある質問

コード実装

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.