Law in the Internet Society

FreeVerse? ReadMe? !

-- By MichaelMacKay - 29 Apr 2025

Problem

It is hard to write in meter where some words' stress syllables are in doubt.

Solution

Free software can help people write poetry by automatically scanning their English to help them write verse. My solution retrieves dictionary entries and maps their phonetic pronunciations back to the words written in a text editor that displays the stress pattern as highlighted text in bold (that may also be copy-pasted into other word processors). As a matter of proper scansion, this solution is incomplete, where other rules like elision may apply, but I hope to account for those issues in FreeVerse? .v3!

FreeVerse? .v1

I have a working prototype written in JavaScript? , Python, and HTML. Carnegie Mellon's library of 134,000 words was initially used, but I soon realized that I needed to take another approach after seeing issues with syllabification and stress (e.g. how CMUdict accounted for "natural" where "nach-er-uhl" or "nach-ruhl" exist).

Right now, my MVP runs somewhat slow, but I have FreeVerse? .v2 in the works to dramatically increase speed! To that end, I have been building my own library that is slightly larger than CMU's database and standardizes words differently. Once I have augmented my lookup function and inserted it into .v1 of the app, I will connect that library to the mapping function that prints stressed syllables as highlighted and bolded text.

ReadMe? (coming soon!)

Currently, FreeVerse? .v1 has 1242 lines of code (most annotated) and utilizes a Python API of 17 lines, which means that there are more than 1000 words. However, the final draft of FreeVerse? ReadMe? ! will link to the GitHub? ReadMe and contain 1000 words exactly. Once I have solved for speed, the repo will be released (GNU GPL).


You are entitled to restrict access to your paper if you want to. But we all derive immense benefit from reading one another's work, and I hope you won't feel the need unless the subject matter is personal and its disclosure would be harmful or undesirable. To restrict access to your paper simply delete the "#" character on the next two lines:

Note: TWiki has strict formatting rules for preference declarations. Make sure you preserve the three spaces, asterisk, and extra space at the beginning of these lines. If you wish to give access to any other users simply add them to the comma separated ALLOWTOPICVIEW list.

Navigation

Webs Webs

r1 - 29 Apr 2025 - 20:11:59 - MichaelMacKay
This site is powered by the TWiki collaboration platform.
All material on this collaboration platform is the property of the contributing authors.
All material marked as authored by Eben Moglen is available under the license terms CC-BY-SA version 4.
Syndicate this site RSSATOM