Skip to main content

A Python library of methods and functions for syllabic division and prosodic stress detecting for Spanish

Project description

License: LGPL Version: 1.0.2-15 Python versions: 3.5, 3.6, 3.7, 3.8, 3.9

Silabeador

A Python library for syllabic division and stress detection for Spanish

silabeador is a Python library of methods and functions for syllabic division and prosodic stress detecting for Spanish. This library is part of the research project Sound and Meaning in Spanish Golden Age Literature. Automatic verse scansion required a syllable separator tolerant to non-Spanish consonant clusters and unusual and non-Spanish diacritics. Other libraries available take for granted that the words are well-constructed according to the Spanish grammar. This is not always the case in particular text types, as in ü as regularly used or as a metric diacritic (e.g., Si-güen-za vs crü-el).

Installation

pip3 install silabeador

Use

The library provides functions and methods that can be called idependently:

>>> import silabeador

The syllabic division function accepts a string as a single argument and returns a list of syllables.

>>> silabeador.silabea('Uvulopalatofaringoplastia')
['U', 'vu', 'lo', 'pa', 'la', 'to', 'fa', 'rin', 'go', 'plas', 'tia']

The function to recover the stressed syllable's index takes a string as s single argument and returns the stressed syllable's index.

>>> silabeador.tonica('Uvulopalatofaringoplastia')
-2

An alternative version accepts a list of syllables and returns the stressed syllable's index.

>>> silabeador.tonica_s(['U', 'vu', 'lo', 'pa', 'la', 'to', 'fa', 'rin', 'go', 'plas', 'tia'])
-2

An object with those values can also be created:

>>> objeto_silabas = silabeador.silabas('Uvulopalatofaringoplastia')
>>> objeto_silabas.palabra
'Uvulopalatofaringoplastia'
>>> objeto_silabas.silabas
['U', 'vu', 'lo', 'pa', 'la', 'to', 'fa', 'rin', 'go', 'plas', 'tia']
>>> objeto_silabas.tonica
-2

Description

Sillabification

The syllabic division follows the principles described by Quilis (1984/2013, p. 47-49).

Firstly, syllabic nuclei are detected looking for the vowels. Unstressed close vowels join the adjacent vowels in coda or onset to form a diphthong or a triphthong, whilst stressed ones are considered standalone syllabic nuclei. Contiguous consonants are grouped to be parsed apart.

Secondly, consonant clusters are divided considering whether their components are separable and joined to the neighbour nuclei in coda or onset accordingly.

Prosodic stress

Prosodic stress detection follows the Spanish rules described by the Real Academia ("tilde"). Proparoxytone words are always orthographically signalled with an acute accent on the nucleic vowel of the antepenultimate syllable. Paroxytones are not marked unless the word ends with n, s or vowel, in which case they have an acute accent on the nucleic vowel of the penultimate syllable. Oxytone words are only marked if they end in n, s or vowel with an acute accent on the nucleic vowel of the last syllable.

Known problems

Adverbs in -mente have primary and secondary stress. Therefore, they must be divided, and each of their parts parsed independently.

Contributions

Feel free to contribute using the GitHub Issue Tracker for feedback, suggestions, or bug reports.

Licence

This project is under GNU LGPL 2.1. See LICENCE for details.

References

Quilis, Antonio, Métrica española. 1984. Barcelona, Ariel, 1996. "tilde". Diccionario panhispánico de dudas, 2005. https://www.rae.es/dpd/tilde

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

silabeador-1.0.2.post16.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

silabeador-1.0.2.post16-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file silabeador-1.0.2.post16.tar.gz.

File metadata

  • Download URL: silabeador-1.0.2.post16.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.3.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.2

File hashes

Hashes for silabeador-1.0.2.post16.tar.gz
Algorithm Hash digest
SHA256 aedb07f216013db17f61db30d3098ec0e705339dce7ed3d83a17cea6b88e6a68
MD5 473a9ba53511cffc29210141c11e389d
BLAKE2b-256 0545957d8e3f299e24a315b9daf132499f81af81f199c90345b1c46c087fa4d4

See more details on using hashes here.

File details

Details for the file silabeador-1.0.2.post16-py3-none-any.whl.

File metadata

  • Download URL: silabeador-1.0.2.post16-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.3.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.2

File hashes

Hashes for silabeador-1.0.2.post16-py3-none-any.whl
Algorithm Hash digest
SHA256 5179b7ff84470158ce773d81547d53d2b6a9855a8477f992c492dd0d8ea530c3
MD5 22ecd203f368885b6be4a97c4b0fd046
BLAKE2b-256 ccc2cfa3bf7bf4f96ca4b2372b9818e0a26afcef4a308b0db57196602befec9c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page