MyNixOS website logo
Description

Count Syllables in Character Vectors.

Counts syllables in character vectors for English words. Imputes syllables as the number of vowel sequences for words not found.

nsyllable

CRANVersion Downloads TotalDownloads R buildstatus codecov

About

Counts syllables in character vectors. For English, this looks up syllables from the Carnegie Mellon University Pronouncing Dictionary, or guesses the syllables as the number of vowel sequences for words not found. User-supplied syllable word lists are also supported.

We hope to add lookup tables for additional languages in the future.

How to Install

From CRAN:

install.packages("nsyllable")

From GitHub:

# remotes package required to install nsyllable from Github 
remotes::install_github("quanteda/nsyllable") 

Usage

nsyllable() counts the syllables in each element of a character vector, and returns the integer vector of the syllable counts. If use.names = TRUE, then the output vector is named. The default (and currently, only) language implemented is English.

library("nsyllable")

charvec <- c("testing", "Aachen", "supercalifragilisticexpialidocious")
nsyllable(charvec)
## [1]  2  2 14
nsyllable(charvec, use.names = TRUE)
##                            testing                             Aachen 
##                                  2                                  2 
## supercalifragilisticexpialidocious 
##                                 14

User-supplied dictionaries can also be used, and these will override the language argument. Below, “excellent” is still (correctly) counted, but not because it looked up the results in the English dictionary, but because it counted the vowel sequences. This gets “noel” wrong, however.

nsyllable(c("excellent", "noel", "film"), use.names = TRUE)
## excellent      noel      film 
##         3         2         1

# redefine the syllables as it's pronounced in parts of Ireland
mydict <- c("film" = 2L)
# looks up "excellent" and does the vowel count
nsyllable(c("excellent", "noel", "film"), syllable_dictionary = mydict, use.names = TRUE)
## excellent      noel      film 
##         3         1         2

To not use the English dictionary and count only vowel sequences, set syllable_dictionary to NULL. This will likely to be a good approximation for many Western languages.

nsyllable(c("Dies", "ist", "eine", "Demonstration"), syllable_dictionary = NULL,
          use.names = TRUE)
##          Dies           ist          eine Demonstration 
##             1             1             2             4
Metadata

Version

1.0.1

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows