phonetic-languages-simplified-generalized-examples-array: Helps to create texts with the given phonetic properties (e. g. poetic).

[ PhLADiPreLiO, espeak, game, ipa, language, library, math, mit, phladiprelio, phonetic-languages, phonetics, prosodic-languages, prosody, writing-systems ] [ Propose Tags ] [ Report a vulnerability ]

Is rewritten from the modules of the phonetic-languages-simplified-examples-array package. Can be used not only for Ukrainian, but also for other languages. To present the created text you can use e. g. html-presentation-text package: https://hackage.haskell.org/package/html-presentation-text .


[Skip to Readme]

Modules

[Last Documentation]

  • EspeakNG_IPA
  • Phonetic
    • Languages
      • General
        • GetInfo
          • Phonetic.Languages.General.GetInfo.Parsing
        • Phonetic.Languages.General.GetTextualInfo
        • Phonetic.Languages.General.Lines
          • Phonetic.Languages.General.Lines.Parsing
        • Phonetic.Languages.General.Parsing
        • Phonetic.Languages.General.Simple
          • Phonetic.Languages.General.Simple.Parsing
      • Simplified
        • Array
          • General
            • Phonetic.Languages.Simplified.Array.General.FuncRep2RelatedG2

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.1.0, 0.2.0.0, 0.2.0.1, 0.2.1.0, 0.3.0.0, 0.4.0.0, 0.4.1.0, 0.4.1.1, 0.4.2.0, 0.4.2.1, 0.5.0.0, 0.5.0.1, 0.6.0.0, 0.6.1.0, 0.6.2.0, 0.7.0.0, 0.8.0.0, 0.8.1.0, 0.9.0.0, 0.10.0.0, 0.10.1.0, 0.11.0.0, 0.11.1.0, 0.11.2.0, 0.11.3.0, 0.12.0.0, 0.12.1.0, 0.13.0.0, 0.13.1.0, 0.14.0.0, 0.14.1.0, 0.15.0.0, 0.16.0.0, 0.17.0.0, 0.18.0.0, 0.18.1.0, 0.18.2.0, 0.19.0.0, 0.19.0.1 (info)
Change log ChangeLog.md
Dependencies base (>=4.8 && <5), cli-arguments (==0.6.0.0), foldable-ix (==0.2.1.0), heaps (>=0.3.6.1 && <1), mmsyn2-array (==0.3.0.0), mmsyn3 (==0.1.6.0), parallel (>=3.2.0.6 && <4), phonetic-languages-basis (==0.2.0.0), phonetic-languages-constraints-array (==0.1.2.0), phonetic-languages-filters-array (==0.5.0.0), phonetic-languages-permutations-array (==0.3.4.0), phonetic-languages-phonetics-basics (==0.9.1.0), phonetic-languages-plus (==0.6.0.0), phonetic-languages-simplified-base (==0.6.1.0), phonetic-languages-simplified-generalized-examples-common (==0.5.1.0), phonetic-languages-simplified-generalized-properties-array (==0.12.0.0), process (>=1.6.2 && <2), string-interpreter (==0.7.0.0), subG (==0.5.3.0) [details]
License MIT
Copyright Oleksandr Zhabenko
Author Oleksandr Zhabenko
Maintainer olexandr543@yahoo.com
Category Language, Math, Game
Home page https://hackage.haskell.org/package/phonetic-languages-simplified-generalized-examples-array
Uploaded by OleksandrZhabenko at 2022-09-13T19:59:07Z
Distributions
Downloads 7576 total (126 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2022-09-13 [all 2 reports]

Readme for phonetic-languages-simplified-generalized-examples-array-0.19.0.0

[back to package description]

The version 0.15.0.0 fixed the long existing issues with not working prepending needed concatenations for the text in the module Data.Phonetic.Languages.PrepareText. Added also the possibility to not only prepend needed words, but also append. This introduces breaking changes, so please, check the code that uses library functions afterwards.

The version 0.2.0.0 is prepared to the Day of the Saints Cyril and Methodius, the 'Apostles to the Slavs', and to the Day of Slavic writing systems and culture.

The functions in the modules Phonetic.Languages.General.Simple.Parsing, Phonetic.Languages.General.Lines.Parsing, Phonetic.Languages.General.GetInfo.Parsing highly depend on the data types in the phonetic-languages-phonetics-basics package.

They use the parsing with the failing possibilities, so for them, to work properly, you need to specify every piece of data accordingly to the specifications in the imported modules and in the new modules themselves.

Otherwise, the functions definitely will not work correctly.

Are provided mainly for testing purposes, may be not enough performant for production usage.

Espeak-ng Additional Usage and IPA

You can use additionally the espeak-ng program (see: https://github.com/espeak-ng/espeak-ng) and in the Unix / Linux terminal (bash shell) you can enter as a command something like:

cat - | tr -d [:punct:] | espeak-ng -v{lang} -x -g 1 -s 130 --ipa

where {lang} is the needed language code (see, the output of the espeak-ng --voices and besides the manual page for the espeak-ng).

The IPA symbols information can be taken from the https://www.internationalphoneticassociation.org/content/full-ipa-chart or the https://www.internationalphoneticassociation.org/sites/default/files/phonsymbol.pdf Please, take into account the license information: the IPA chart and all its subparts are copyright 2018/2005 by the International Phonetic Association. As of July 2012, they are made freely available under a Creative Commons Attribution-Sharealike 3.0 Unported License (CC-BY-SA). This license allows any kind of re-use (including commercial reproduction and derivative works), as long as attribution is given and the reproduction or derivative work is under the same license. See http://creativecommons.org/licenses/by-sa/3.0/ for further description.

It is rather easy to create the corresponding GWritingSystemPRPLX information using the IPA, but you can use some other respesentation. The idea for this is that you can use IPA line produced by the espeak-ng as the input 'String'.

Some Ideas to Be Checked (Hypotheses)

The phonetic-languages-simplified-generalized-examples-array library is based on the idea of the defined phonetic phenomenae durations in time while speaking. Definitely, they have some durations, the question of interest is that there are no stable ones, immutable ones. The durations vary not only from situation to situation, from one speaker to another one, from circumstances etc., but also the durations for some phonemes can vary depending on their neighbouring ones and, therefore, being some (probably, a new one in every case) function of the neighbour phonemes. This fact is not taken into account in this version of the package and library, but it has some meaning.

A Child Learns to Read, or Somebody New to the Language

When a child just begins to read words in the language (or, there can be just somebody new to the language) he or she starts with phonemes pronunciation for every meaningful written (and, hence, read) symbol. Afterwards, after some practice, he / she starts to read smoothly. Nevertheless, if the text is actually a poetic piece, e. g. some poem, it is OFTEN (may be, usually, or sometimes, or occasionally, etc.) just evident that the text being read in such a manner has some rhythmicity properties, despite the fact that the phonemes are read and pronounced in a manner of irregular and to some extent irrelevant to the normal speech mode lengths (durations). We can distinguish (often) the poetic text from the non-poetic one just by some arrangement of the elements.

The same situation occurs when a person with an accent (probably, strong, or rather uncommon) reads a poetic text. Or in other situations. The library design works just as in these situations. It assumes predefined durations, but having several reasonable (sensible) ones we can evaluate (approximately, of course) the rhythmicity properties and some other ones, just as the algorithms provided here.

This, to the mind of the author, is a ground for using the library and its functionality in such cases.

Using the Espeak and IPA functionality

You can use the EspeakNG_IPA module for this since the 0.4.0.0 version.

"w" and "x" Series of properties

Since the 0.5.0.0 version you can use also "w" and "x" series (lines) of properties. They use more complex approach and are intended for 4 elements in the rhythmic groups. For more information, please, refer to the section 'WX argument' in the Ukrainian instruction:

The short (possibly) instruction how to use the programs of the package phonetic-languages-simplified-examples-array in Ukrainian is here:

https://oleksandrzhabenko.github.io/uk/rhythmicity/PhLADiPreLiO.Ukr.21.pdf

or: https://oleksandrzhabenko.github.io/uk/rhythmicity/PhLADiPreLiO.Ukr.21.html

in html format,

or here:

(try https://web.archive.org/web/20220913192723/https://oleksandrzhabenko.github.io/uk/rhythmicity/PhLADiPreLiO.Ukr.21.pdf

or https://web.archive.org/web/20220913192509/https://oleksandrzhabenko.github.io/uk/rhythmicity/PhLADiPreLiO.Ukr.21.html

in html format ).

The instruction in English is here:

https://oleksandrzhabenko.github.io/uk/rhythmicity/PhLADiPreLiO.Eng.21.pdf

or:

https://oleksandrzhabenko.github.io/uk/rhythmicity/PhLADiPreLiO.Eng.21.html

in html format,

or here:

(try https://web.archive.org/web/20220913192921/https://oleksandrzhabenko.github.io/uk/rhythmicity/PhLADiPreLiO.Eng.21.pdf

or https://web.archive.org/web/20220913193012/https://oleksandrzhabenko.github.io/uk/rhythmicity/PhLADiPreLiO.Eng.21.html

in html format ).

There are also some additional information there about the changes in the 0.6.0.0 version.

Since the 0.6.0.0 version there are made several significant changes. Changed the command line arguments modifiers notation to the small letters, removed the double ++ sign (changed to just single +) to simplify the command line arguments usage. Also changed the way to sign the writing to file for the Phonetic.Languages.General.Simple module. Added new lines of properties for the (hypothetic) polyrhythmicity handling. Among them "c", "s", "t", "u", "v" lines are. Changed the dependencies boundaries. Added the possibility to 'grow lines' to Phonetic.Languages.General.Lines and Phonetic.Languages.General.GetTextualInfo modules.

Since the 0.7.0.0 version the "c", "s", "t", "u" and "v" series can have negative (by sign) result of the properties. This does not influence the general behavior of the functions.

Since the 0.8.0.0 version there are also new "weighted" properties lines used.

Since the 0.9.0.0 version there are also recursive interactive mode of the Phonetic.Languages.General.Simple module functions.

Since the version 0.13.0.0 added the pairwise permutations mode (with +p command line argument) where just pairwise permutations are used and the length of the line can be up to 10 words or their concatenations.

Since the 0.14.0.0 version you can use two reduced set of permutations modes in addition to the default full universal set of permutations mode. To use them, please, add "+p {1 or 2}" to the command line arguments. For more information, please, refer to the instructions following the links above.

The version 0.16.0.0 fixes issues with changing the structure of output (intervals rearrangements) so that the programs now work as described. If you used earlier changing structure with the arguments then all the results must be re-considered (re-done) with fixed version 0.16.0.0. The author ask for pardon because of such longlasted issue. Improved documentation. Fixed issues with string interpreter (see the appropriate information) and added the possibility to adjust splitting.