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.
Original author(s) | Daniel C. Howe |
---|---|
Developer(s) | RiTa Contributors |
Stable release | v3.0.2[1]
/ January 1, 2022 |
Written in | JavaScript, Java |
Platform | Cross-platform |
Type | Natural Language |
License | GPL |
Website | rednoise |
Features
edit- 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
edit// 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[i], 20, 20 + i * 18);
}
println(RiTa.analyze("The elephant took a bite!"));
}
Related projects
edit- 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
edit- 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
editRiTa is free, libre and open-source according to the GNU General Public License.
Notes
editThe name RiTa is derived from the old Norse, meaning to mark, scratch, or scribble.
See also
editReferences
edit- Howe, Daniel C. (2009), RiTa: Creativity Support for Computational Literature (PDF), ACM Press, pp. 205–210[permanent dead link ]
- 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
edit- 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)