İçeriğe geç
🛠️ToolsShed

Syllable Counter

Sözcük ve metindeki heceleri sayın, okunabilirlik ölçümlerini analiz edin ve vurgu düzenlerini kontrol edin.

Bu araç hakkında

Hece Sayacı, metindeki sözcüklerin hecelerini sayarak ve okunabilirlik ölçütleri aracılığıyla metin karmaşıklığını ölçerek metnin ritimsel yapısını analiz etmek için tasarlanmış hafif bir araçtır. Hece dağılımını anlamak, yazarlar, şairler ve dil öğrenenlerin metnin nasıl aktığını ve içeriğin amaçlanan kitleye uygun olup olmadığını tanımasına yardımcı olur. Sunucu araması gerektiren sözlük tabanlı sistemlerin aksine, bu araç sesli harf grubu sezgisini kullanarak tarayıcınızda anında çalışır ve ortak İngilizce desenleri işler.

Aracı kullanmak için metninizi girdi alanına yapıştırmanız veya yazmanız yeterlidir, ardından Analiz et'i tıklayın. Araç toplam hece sayısını, kelime sayısını, kelime başına ortalama hece sayısını ve basit (kelime başına 1,5'ten az) ile karmaşık (2,5'ten fazla) arasında değişen okunabilirlik sınıflandırması gösterir. Kelime kelime analiz, bireysel hece sayılarını gösterir ve hangi sözcüklerin metin yoğunluğuna en çok katkı sağladığını belirlemenize yardımcı olur. Bu, şairlerin ölçüyü geliştirirken, yazarların içeriği sınıf düzeyine göre ayarlarken veya bestelecilerin sözleri bir melodinin ritmine uydurmaya çalışırken özellikle yararlıdır.

Sayaç, sessiz harflere ("cake"deki son 'e' gibi) düzeltmeler uygular ve -le gibi ortak İngilizce desenlerini işler. Nadir özel isimler veya uzmanlaşmış terminoloji ile en yüksek doğruluk için sonuçları bir telaffuz kılavuzu ile karşılaştırın. Araç İngilizce için optimize edilmiştir; diğer dillerin farklı heceleme kuralları vardır ve en iyi durumda yaklaşık sonuçlar verebilir.

Sıkça Sorulan Sorular

Kod Uygulaması

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.