Original author(s) | Daniel C. Howe |
---|---|
Developer(s) | RiTa Contributors |
Stable release | v3.0.2 / January 1, 2022; 2 years ago (2022-01-01) |
Written in | JavaScript, Java |
Platform | Cross-platform |
Type | Natural Language |
License | GPL |
Website | rednoise |
RiTa is an open-source software toolkit for generative writing and English natural language, originally developed using the Java language by Daniel C. Howe and collaborators, and later implemented in JavaScript as rita.js. Current versions of RiTa (Version 3.0 was released in 2023) are implemented in both Java and JavaScript and integrate with p5.js, Processing, Node and Android.
Features
- Heuristic algorithms for inflection, conjugation, stemming, tokenization, etc.
- Regex lexicon search to match phonemes, POS, meter, soundex and rhyme patterns
- Powerful options for text generation via context-free grammars and Markov chains
- Close integration with the writer-oriented RiScript scripting language (interpreted via Antlr)
- Feature extraction of phonemes, part-of-speech, syllables and stresses
- Letter-to-sound engine for analysis of arbitrary words (with or without a lexicon)
Usage examples
// In JavaScript/Node let { RiTa } = require('rita'); console.log(RiTa.rhymes('sweet')); /*[ 'beat', 'beet', 'cheat', 'cleat', 'compete', 'complete', 'conceit', 'concrete', 'deceit', 'defeat', ... ]*/ let features = RiTa.analyze('The elephant took a bite!'); console.log(features); /*{ phones: 'dh-ah eh-l-ah-f-ah-n-t t-uh-k ey b-ay-t !', stresses: '0 1/0/0 1 1 1 !', syllables: 'dh-ah eh/l-ah/f-ah-n-t t-uh-k ey b-ay-t !', pos: 'dt nn vbd dt nn !', tokens: 'The elephant took a bite !' }*/
// In Java/Processing import rita.*; void setup() { size(100, 200); textSize(16); fill(0); String words = RiTa.rhymes("sweet"); for (int i = 0; i < words.length; i++) { text(words, 20, 20 + i * 18); } println(RiTa.analyze("The elephant took a bite!")); }
Related projects
- Tracery/Bracery by Kate Compton
- Nlp-Compromise by Spencer Kelly
- Processing (programming language) by Casey Reas and Ben Fry
- p5.js by Lauren McCarthy
- Twine by Chris Klimas
Projects using RiTa
- Zuckifier, 2015. Sam Lavigne
- @SortingBot, 2015. Darius Kazemi
- The Whole Brilliant Enterprise, 2014. Jer Thorp and the Office for Creative Research
- Game Definitions, 2013. Molleindustria
- Mirroring Tears: Visages, 2011. John Cayley and Penny Florence
- The Readers Project, 2009. John Cayley and Daniel C. Howe
License
RiTa is free, libre and open-source according to the GNU General Public License.
Notes
The name RiTa is derived from the old Norse, meaning to mark, scratch, or scribble.
See also
- Electronic literature
- Digital poetry
- Natural language generation
- Natural language processing
- Generative Art
References
- Howe, Daniel C. (2009), RiTa: Creativity Support for Computational Literature (PDF), ACM Press, pp. 205–210
- Howe, Daniel; Soderman, A. Braxton (2009), The Aesthetics of Generative Literature: Lessons from an Electronic Writing Workshop., Hyperrhiz: New Media Cultures, Visionary Landscapes, Vol. 6., doi:10.20415/hyp/006.e04
- Johnston, David J (3 June 2016). Aesthetic animism : digital poetry's ontological implications. Cambridge: MIT Press. p. 188. ISBN 9780262034517.
- Cayley, John; Howe, Daniel (2012). How It Is in Common Tongues. Providence: NLLF Press. ISBN 978-0948454301., Limited edition artist book
- Jiang, Liangzhong (24 November 2011). Proceedings of the 2011 International Conference on Informatics, Cybernetics, and Computer Engineering (ICCE2011) November 19-20, 2011, Melbourne, Australia. Vol. 3, Computer networks and electronic engineering. Springer-Verlag Berlin Heidelberg. p. 28,29. ISBN 978-3642251948.
- Unsworth, John; Siemens, Ray; Schreibman, Susan (2016). A New Companion to Digital Humanities. John Wiley & Sons. p. 132. ISBN 978-1118680643.
- "Releases - dhowe/rita". Retrieved 23 December 2023 – via GitHub.
External links
- Official website
- RiTa in the ELMCIP Knowledge Base
- Introduction to RiTaJS by Allison Parrish
- Programming from A to Z by Daniel Shiffman
- RiTa(JS) on Github, NPM and UNPKG
- RiTa(Java) on Github and Maven Central
- The Readers Project by John Cayley and Daniel C. Howe
- Electronic Literature as a Model of Creativity and Innovation in Practice (ELMCIP)