4 ms·
This is so great--both in terms of the project & the write-up. Thanks for sharing your work! :) A "quick" dump of some thoughts it provoked: (1) Really like t
by follower 2y ago
This is so great--both in terms of the project & the write-up. Thanks for sharing your work! :)
A "quick" dump of some thoughts it provoked:
(1) Really like the "meaning-nonsense continuum" concept--and that neither extreme is explicitly labelled in the image immediately following where the term is introduced. :)
(And, yes, "Gravity learns about regret." is indeed kind of beautiful.)
(Aside: Adding alt text to the generated images would be beneficial both for copy/pasting & accessibility reasons. :) )
(2) This statement made me smile: "If you don’t enjoy reading and contemplating these sentences like this, we are simply very different people." Because while I very much fall into the category of "enjoy reading and contemplating these sentences" I can also imagine people who definitely don't. :D
(3) Part of the reason for (2) was because I'd already encountered a couple of the "don't work" examples where my immediate thought was "wait, how about in this situation though?". e.g. "Aligning with compass."
Which then got me thinking about stylistic, metaphor or time-period related aspects of grammar, e.g. pirate treasure map instructions written in cryptic sentence fragments.
(4) Which leads into the whole "procedurally generated diagrams/documents" aspect of the project that I also think is particularly cool. It immediately got me thinking of being in a game and walking into an inventor character's lab or a magician's library and finding all manner of technical or arcane drawings generated for either environment or game mechanic purposes (e.g. in a detective/mystery game like "Shadows of Doubt").
Then again, since I was a kid I've always had an interest in browsing technical component and, err, office stationery catalogues, so maybe it's just me. :D
It also made me think back to "Interminal" an entry to the 2020 ProcJam procedural generation game jam, which generated an airport terminal including duty-free stores with procedurally generated perfumes (including "name, visual identity and smell"): https://nothke.itch.io/interminal https://nothke.itch.io/interminal
(5) The "physicalization" aspect of the project to render it in a tangible form is also cool--particularly because (at least to me but maybe also to all those vinyl-owning kids with no turntable :D ) a physical form seems to the amplify the "meaningfulness" of a message...
The underlying "digitalized cursive handwriting" project was also of interest--though I only skimmed its write-up in an attempt to avoid yet another rabbit hole. :)
The handwriting system seemed like it might also be amenable to animated use--which then made me think, "Wait! I've seen something about that recently...", had no idea what, but then some background retrieval process just produced the answer as I was writing, it was Noclip's recent "The Making of Pentiment" documentary: https://www.youtube.com/embed/ffIdgOBYwbc https://www.youtube.com/embed/ffIdgOBYwbc
(6) With regard to the technical execution/implementation side of things: I've observed that a project's need for text generation often raises a question of what implementation approach to use, in terms of a DIY vs pre-existing solution.
One issue which affects text generation specifically is "general solutions" often seem to tend toward specialization over time (e.g. "text generation for interactive fiction", "text generation for branching narrative-driven games", tools such as Yarn Spinner[0] & Ink[1]), which ends up making the solutions less suitable for simpler/different use cases & increases difficulty of the learning curve.
This was something I ran into during a small sub-project[2] last year where the text generation was somewhat "incidental" to overall project goal. I started out with a "quick DIY" solution but still ended up spending enough time on that aspect that I started to wonder if I'd be better not entirely re-inventing the wheel.
Around this time I ran into the "Blur Markup Language"[3][4][5] project which has the tag line "write text that changes" and--while I haven't yet used it--seems like it might be a promising "mid-level abstraction" solution for text generation, so thought I'd mention it as a potential option for others with text generation needs.
(7) In terms of other helpful text generation related resources, I've found various "word lists" to be of use, so thought I'd mention this "weasel words" list as a starting point: https://github.com/words/weasels/blob/main/data.txt#L14 https://github.com/words/weasels/blob/main/data.txt#L14
(The repo README also links to other word lists under the same org including word categories such as "buzzwords", "filler", "hedges" & words listed in order of associated positive/negative sentiment.)
Thanks again for sharing your work & look forward to seeing where your projects go in future, should you share more in future. :)
---- footnotes ----
[0] https://github.com/YarnSpinnerTool/YarnSpinner https://github.com/YarnSpinnerTool/YarnSpinner
[1] https://github.com/inkle/ink https://github.com/inkle/ink
[2] I wanted to generate "scripted dialogue" samples[2a] to demonstrate the 900+ individual Text-To-Speech speaker voices in the Piper TTS[2b] LibriTTS voice model[2c], in a form that is: useful for evaluating the voices; not incredibly tedious to listen to; and, makes it possible to identify which speaker you are currently hearing.
[2a] Subset of resulting generated[2d] speech output can be heard in the second example here: https://rancidbacon.gitlab.io/piper-tts-demos/ https://rancidbacon.gitlab.io/piper-tts-demos/
[2b] https://github.com/rhasspy/piper https://github.com/rhasspy/piper
[2c] https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_US/libritts/high/MODEL_CARD https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_...
[2d] Text generation script: https://gitlab.com/RancidBacon/larynx-dialogue/-/blob/feature-piper-port/tools/generate-demo-speakers-dialogue.py https://gitlab.com/RancidBacon/larynx-dialogue/-/blob/featur...
[3] https://bml-lang.org https://bml-lang.org
[4] BML intro/overview: https://bml-lang.org/docs/guide/language-basics/ https://bml-lang.org/docs/guide/language-basics/
[5] Online BML editor with syntax cheat sheet: https://bml-lang.org/sandbox/ https://bml-lang.org/sandbox/
- amygoodchild 2y agoThank you for this interesting "dump" of thoughts! I have a few replies which for some reason came out backwards. (6) I too started this incidental to another project (the diagrams) and now have ended up in this rabbit hole where it's become its own project. (4) Creating this kind of "narrative" for the diagrams is definitely something I have considered. e.g. there could be a character who had written them all and we found them in a book in the character's lab. I have this recurring thought about them being found on a CRT monitor in a forest, half buried in the ground and covered in moss. But I haven't been able to get a CRT aesthetic working well with them and for now I'm sticking with the hand drawn look. (1) Yeah I did consider labelling but I am not the arbiter of what makes sense haha. Also actually I think there are probably different axes in which you could create that kind of scale. Like sense versus truth for example. There is probably a whole article to write just around that. Thanks again, I definitely will continue to share my work :)