phonetic-languages-simplified-examples-array: Helps to create Ukrainian texts with the given phonetic properties.

[ Ukrainian, game, language, library, math, mit, phonetic-languages, program, prosodic-languages, prosody, rumba, syllables ] [ Propose Tags ]

Uses more functionality of the arrays and lists. The vector-related functionality is removed and this made the executables and libraries much more lightweight. Deal the Ukrainian as one of the phonetic languages. For the brief introduction in English, please, refer to: https://functional-art.org/2020/papers/Poetry-OleksandrZhabenko.pdf. Since the version 0.3.0.0 the package has the multiple variations mode for lineVariantsG3 executable that allows to use modifications in the text, e. g. synonyms, paraphrases etc. 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]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.3.0.0, 0.4.0.0, 0.4.0.1, 0.4.1.0, 0.4.2.0, 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.0.1, 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.15.1.0, 0.15.2.0, 0.15.2.1, 0.15.2.2, 0.16.0.0, 0.16.1.0, 0.16.2.0, 0.16.2.1, 0.16.2.2, 0.16.3.0, 0.17.0.0, 0.17.1.0, 0.18.0.0, 0.18.0.1, 0.18.0.2, 0.19.0.0, 0.20.0.0 (info)
Change log CHANGELOG.md
Dependencies base (>=4.8 && <5), cli-arguments (==0.6.0.0), heaps (>=0.3.6.1 && <1), lists-flines (==0.1.2.0), mmsyn2-array (==0.3.0.0), mmsyn2-array-ukrainian-data (==0.1.0.0), parallel (>=3.2.0.6 && <4), phonetic-languages-basis (==0.1.1.0), phonetic-languages-constraints-array (==0.1.2.0), phonetic-languages-filters-array (==0.4.0.0), phonetic-languages-permutations-array (==0.3.4.0), phonetic-languages-plus (==0.6.0.0), phonetic-languages-rhythmicity (==0.9.2.0), phonetic-languages-simplified-base (==0.6.0.0), phonetic-languages-simplified-examples-common (==0.5.0.0), phonetic-languages-simplified-properties-array (==0.15.0.0), phonetic-languages-simplified-properties-array-common (==0.2.0.0), phonetic-languages-ukrainian-array (==0.9.3.0), string-interpreter (==0.6.0.0), subG (==0.5.3.0), ukrainian-phonetics-basic-array (==0.6.0.0), uniqueness-periods-vector-stats (==0.3.0.0) [details]
License MIT
Copyright (c) 2020-2022 Oleksandr Zhabenko
Author OleksandrZhabenko
Maintainer olexandr543@yahoo.com
Category Language, Math, Game
Home page https://hackage.haskell.org/package/phonetic-languages-simplified-examples-array
Uploaded by OleksandrZhabenko at 2022-08-09T19:37:30Z
Distributions NixOS:0.19.0.0
Executables propertiesTextG3, rewritePoemG3, lineVariantsG3
Downloads 9238 total (24 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-08-09 [all 1 reports]

Readme for phonetic-languages-simplified-examples-array-0.20.0.0

[back to package description]

The new version adds support for additional properties, as well as multiple properties mode for distributionTextG. The theoretical part of this document has been improved. Fixed some code bugs. Switched in calculations of the average values and standard deviation from population to sample versions (now the standard deviation is slightly higher). Fixed issues with multiple variations of the text mode if it is not used interactively.

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/InstructionUkr.20.pdf

or here:

(try https://web.archive.org/web/20220809192249/https://oleksandrzhabenko.github.io/uk/rhythmicity/InstructionUkr.20.pdf).

The instruction in English is here:

https://oleksandrzhabenko.github.io/uk/rhythmicity/InstructionEng.20.pdf

or here:

(try https://web.archive.org/web/20220809192412/https://oleksandrzhabenko.github.io/uk/rhythmicity/InstructionEng.20.pdf).

Since the version 0.20.0.0 added the second major mode of operation -- SaaW (syllable-as-a-whole), additionally to the previous functionality of PhoPaaW (phonetic-phenomena-as-a-whole).

For more information, see the instructions.

Since the version 0.2.0.0 there exists also comparative mode for the rewritePoemG3 executable. It allows to create from two files with the text variants the new one. For more information in Ukrainian, please, refer to the instruction above to the part of the rewritePoemG3 executable.

Since the version 0.4.0.0 added new line of rhythmicity evaluation functions ("z"-line). The behaviour of the previous functions also changed, so it may be needed (in case where the results have some principal meaning, e. g. in scientific research, not the text itself) to recalculate the results using these functions. Added the possibility to get the Ukrainian informational messages during the work of the lineVariantsG3 executable (using the "+u" command line option not inside the groups of options).

Since the version 0.5.0.0 added two new lines with more complex behaviours ("w" and "x" lines). For more information, please, refer to the section 'WX argument' in the instructions above.

Since the version 0.6.0.0 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 lineVariantsG3 executable. Added new lines of properties for the (hypothetic) polyrhythmicity handling. Among them "c", "s", "t", "u", "v" lines are. Added the possibility to 'grow lines' for the rewritePoemG3 and propertiesTextG3 executables.

Since the version 0.8.0.0 added new weighted properties.

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. Besides added the possibility to specify your own durations using the +d <path to the file with ordered durations> command line arguments. They are used with H... properties, e. g. Hw04, Hw02, Hx36 etc.

  • Examples of usage
  1. lineVariantsG3:

lineVariantsG3 <first argument> [<WX argument> <whether to print the values of the property(ies)> <whether the last word must remain on its place>] <numeric arguments> <property type> <Ukrainian text>

or:

lineVariantsG3 <first argument> [<WX argument> <whether print the values of the property(ies)> <whether the last word must remain on its place>] <numeric arguments> <property type> <Ukrainian text> <somewhere among the arguments as a single group: constraints>

More partucular example of the abovementioned one:

lineVariantsG3 10.0_1.2 zz2 садок вишневий коло хати хрущі над вишнями гудуть (the Ukrainian text here and further is from the Taras Shevchenko poem)

lineVariantsG3 10.0_1.2 5 5 1 2 04z садок вишневий коло хати хрущі над вишнями гудуть

lineVariantsG3 +m 02y 3 03z 3 y0 10 -m +bl <Ukrainian text>

lineVariantsG3 +i +bl 4.3_ +m 02y 3 0y 3 y0 20 y2 40 04z 3 -m садок вишневий коло хати хрущі над вишнями гудуть

lineVariantsG3 +f hello.txt +bl +m 02y 3 0y 3 04y 5 y0 40 z4 50 -m садок вишневий коло хати хрущі над вишнями гудуть

To get the Ukrainian informational messages during the work of the executable (instead of the default English ones), please, use the "+U" command line option anywhere not inside the groups of the options.

You can also use multiple variations mode to look at the synonyms, paraphrases etc.

For this, use instead of just the text as the last arguments the following special construction:

{ <variant1 of the Ukrainian text> / <variant2 of the Ukrainian text> / ... / <variantN of the Ukrainian text> }

with at least two variants inside the curly brackets. They will be processed in chain with the one variant of each and the possibility to choose at the end between these different ones, which finally results in a single line.

Please, remember that the program provides processing for every combination of the variations so if you specify too many of them (e. g. 3 variants of one word and 4 variants of the another one will lead to 3*4 = 12 variations possible), the processing while getting the final result can become longer than expected.

Recursive mode:

lineVariantsG3 +r

is incompatible with the constraints (+a ... -a).

Since the 0.11.0.0 version there is also the most complex mode of multiple sources processment or recursive interactive cycle mode. For this use +t {two-digits number} ... ^t command line arguments group with the two-digits number being one of the following: 20, 21, 30, 31, 40, 41, 50, 51, 60, 61, 70, 71.

For example:

lineVariantsG3 +r 3 w04 +t 71 "sadok.txt" "other_poem.txt" "just_text.txt" ^t

  1. propertiesTextG3:

propertiesTextG3 <first argument> [<WX argument> <whether to grow lines>] <file with Ukrainian text> <control of the quantity of the intervals> <control of printing the line of the text, too> <control of the sectioning into the lines> <property type>

propertiesTextG3 <first argument> [<WX argument> <whether to grow lines>] <file with Ukrainian text> <control of the quantity of the intervals> <control of printing the line of the text, too> <control of the sectioning into the lines> <property type> | distributionTextG <the same argument of the quantity of the lines> <whether to output also by-line statistics>

PowerShell -Command "propertiesTextG3 <first argument> [<WX argument> <whether to grow lines>] <file with Ukrainian text> <control of the quantity of the intervals> <control of printing the line of the text, too> <control of the sectioning into the lines> <property type> | distributionTextG <the same argument of the quantity of the lines> <whether to output also by-line statistics>"

Note: Below the +RTS -N --RTS corresponds to the architectures where the parallelism is possible so that -N is one of the possible options for RTS. If the following with RTS arguments does not work, then remove the +RTS -N --RTS block from the command line. One of the examples where RTS does not support parallelism of this kind is armhf (e. g. Linux on Raspberry PI in 32-bit mode).

propertiesTextG3 sadok0.txt +RTS -N --RTS s 1 0 +m y0 0y 02z 03y z2 y3 yy3 -m

propertiesTextG3 sadok0.txt +RTS -N --RTS s 1 0 03z +b | distributionTextG s 1 +W

propertiesTextG3 sadok0.txt +RTS -N --RTS s 1 0 03z +g 73 +b | distributionTextG s 1 +W

propertiesTextG3 <filepath to the file with the Ukrainian text for analysis> @n

  1. rewritePoemG3:

rewritePoemG3 <first argument > [<whether to grow lines>] <Ukrainian text file>
<property type> <numerical arguments>

rewritePoemG3 <first argument > [<whether to grow lines>] <Ukrainian text file>
+m <properties types> -m <numerical arguments>

rewritePoemG3 +c <files to read text variants from> <final file>

Since the 0.9.0.0 version there is a possibility to run lineVariantsG3 in the recursive mode. It is not compatible with the contstraints so should be used not simultaneously with them (because they change their meaning).

Since the 0.13.0.0 version there is the possibility also to provide your own functions for the syllable durations. They are read from the file with special Haskell-like syntaxis. For more information, please, refer to the instructions above.

Since the 0.16.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.

In the version 0.18.0.0 there were fixes of the issues with interval rearrangements and string interpreter. Also improved the documentation and added examples of two sets of durations that is available as a ready-to-use file by the persistent link: https://web.archive.org/web/20220610171812/https://raw.githubusercontent.com/OleksandrZhabenko/phonetic-languages-data/main/0.20.0.0/56.csv