#tools

5 notes

Memorize Anything with AI Music

2024-11-19 · 7 min read

#ai #music #pedagogy

The Problem

You want to memorize a list of vocabulary items.

This is both boring and hard, and it’s not how you learned English, so let’s use AI to make it fun and easy.

I was inspired in this experiment by a true mnemonic masterpiece I heard over a decade ago. “Luw Song” by Clint Kirby. Learning Greek verb endings has never been easier since this pioneering work. He doesn’t even pronounce the endings consistently, but that makes it all the more memorable and hysterical. Thank you Clint!

In this post, I’ll show you how to use AI to create a fun, musical mnemonic to memorize anything.

Prompting ChatGPT for musical mnemonic excellence

Okay let's make a dr seuss like zany story using the vocabulary items from this list. Make it rhyme where possible (the class will be singing it). It's good to make it odd, but let's try to have some kind of narrative coherence to it. Don't introduce a lot of extra content, and be sure to get the actual glosses in there from the vocab list (be specific). I know you can do this. 
 
Here's the list: [insert list of words here you want to memorize]
 
ἀποκρίνομαι, ἀπεκρινάμην​​​I answer
δεῖ (3rd pers. sg.; impf ἐδει)​​​It is necessary
δύναμαι, ἡδυνήθην (impf. ἐδυνάμην, ἠδυνάμην)​I am able, am powerful
ἔρχομαι, ἦλθον​​​​​I come, go
νύξ, νυκτός, ἡ​​​​​night
ὅστις, ἥτις, ὅτι​​​​​whoever, whichever, whatever
πορεύομαι, ἐπορεύθην​​​​I go, proceed; live
συνάγω, συνήγαγον​​​​I gather together, bring together; lead
τόπος, -ου, ὁ​​​​​place; location
ὡς​​​​​​as, like; that; approximately; when, after

The first result was just too long for me I thought. I thought repetition might be useful (though I’m not sure it’s better than long and story-like!), so I asked for a shorter version.

That's great. Let's make it much more compact. Go for concise, and go for accurate glosses (OTI means 'that' or 'because', so "Whatever—ὅτι—may come, we’re now bold and free," could be confusing), etc.

Great. I got this:

Got it! Here's a more concise and gloss-accurate version of the rhyming story:

The Night of the Wandering Νύξ

In a τόπος, a place, as the νύξ, night, fell,
I heard a voice answer, ἀποκρίνομαι, well.
"It is δεῖ, necessary," the voice said with cheer,
"To πορεύομαι, go, and leave without fear."

"I δύναμαι, I’m able!" I shouted, then ran,
And ἦλθον, I came, to a marvelous plan.
"Gather, συνάγω!" I called to the crowd,
And off we all went, so lively and loud.

"Whoever—ὅστις—goes will find something bright,
And as—ὡς—the stars, we’ll light up the night!"
So off we proceeded, our hearts burning strong,
In that τόπος of νύξ, where we all belong.

Now we need to get it into a song.

Since I had heard Suno was releasing its v4 model for usage, I thought I’d give it a shot. I only had the v3.5 model, but it worked well and was free.

In the lyrics field, I pasted the song lyrics above, but with one slight change: I didn’t want it to pronounce the Greek properly (we’re using Erasmian pronunciation, not Modern Greek). So I asked ChatGPT to transliterate the Greek terms into the closest Latin letters following the erasmian pronunciation. A couple tweaks later, I got this:

In a topos, a place, as the nux, night, fell,
I heard a voice answer, apokrinomai, well.
“It is ‘day’, necessary,” the voice said with cheer,
“To poru-oh-my, go, and leave without fear.”

“I dunamai, I’m able! I shouted, then ran,
And elthon, I came, to a marvelous plan.
“Gather, sunago!” I called to the crowd,
And off we all went, so lively and loud.

“Whoever—hostis—goes will find something bright,
And as—hoas—the stars, we’ll light up the night!”
So off we proceeded, our hearts burning strong,
In that topos of nux, where we all belong.

For the Style of Music field, I entered:

Anthem style. Wholesome. Clear vocals.

The title was “The Night of the Wandering Νύξ”.

I like the result. Here’s the link.

Going Multimodal

Then I thought, it’s really the blending of text and music that makes Clint’s song so effective. What if I could use images too?

Back to ChatGPT:

I want to generate some images to go along with this. Please describe the prompts we *would* use for each image (but don't create an image yet). Be sure to explicitly include the Greek vocab items and glosses that need to be in each image.

It gave me these prompts:

Here are the prompts for each image, ensuring the Greek vocab items and their glosses are explicitly included:

Image 1: “The Topos at Night”
A dark and mysterious place (“τόπος” with the gloss “place”) under a starry sky, with a glowing moon representing “νύξ” (night). In the foreground, a signpost reads “τόπος - place” and “νύξ - night” in Greek and English, while faint whispers seem to emanate from the darkness, symbolizing an answering voice.

Image 2: “The Command to Go”
A shimmering, ghostly figure speaking to a traveler, saying, “ἀποκρίνομαι - I answer” and “δεῖ - it is necessary.” The words are written in glowing letters in the air. The traveler looks determined, preparing to embark on a journey, holding a lantern to symbolize readiness.

Image 3: “I Am Able!”
The traveler stands tall and confident, shouting, “δύναμαι - I am able!” against a backdrop of winding paths. Greek and English versions of “δύναμαι - I am able” glow above the traveler, emphasizing their determination.

Image 4: “The Gathering Crowd”
The traveler is joined by a diverse group of companions, all smiling and excited as they prepare to journey together. Overhead, glowing text reads “συνάγω - I gather together.” A small sign nearby includes “τόπος - place” in Greek and English to remind viewers of the setting.

Image 5: “Whoever Dares”
A whimsical scene of the group walking under a glowing night sky filled with constellations forming the Greek word “ὅστις - whoever.” The companions’ faces are full of wonder, and a starry trail leads them forward. The words “ὅστις - whoever” and “ὡς - as, like” are floating in the sky, representing discovery and imagination.

Image 6: “The Journey’s End”
The companions stand together triumphantly on a hilltop, overlooking a radiant sunrise. The words “πορεύομαι - I go, proceed” and “ἦλθον - I came, I went” appear as banners in the scene, symbolizing the completion of their journey. The glowing night fades, but a signpost still shows “τόπος - place” and “νύξ - night” as a callback to where they started.

These prompts are designed to highlight the Greek vocabulary visually and conceptually, providing clear and memorable learning aids. Would you like to proceed with creating any of these?

Perfect. I asked it to generate the images one by one.

Since the text wasn’t amazing (in the future this part of the post will be completely irrelevant as text generation, even cross-linguistically, becomes perfect), I decided to use iMovie to stitch it all together.

imovie.png

Pasting the text into the “titles” in iMovie was annoying at first. I couldn’t ‘paste without styles’, so I wound up creating a Word doc, setting up the fonts, sizing, colours, etc., and then pasting from there.

formatting.png

Curious about the result? Here’s the final video, The Night of the Wandering Νύξ.

Here’s a link to the complete ChatGPT conversation.

Can’t wait to see what other make!

Permalink →

#ai #translation

I’m excited about the potential of OpenAI’s new GPT-4o mini for our Translator’s Copilot project! Here’s why:

Cost-Efficiency

It’s more than 60% cheaper than GPT-3.5 Turbo. This change means zero-drafting with AI can be faster and cheaper.

Improved Capabilities

  • Better handling of non-English text like the larger 4o model (which we have been using extensively)
  • Outperforms GPT-3.5 Turbo on various benchmarks
  • 128K token context window (entire chapters at once!)
  • Multimodal support (future audio possibilities?)

Real-Time Interaction

Low latency could enable faster, more fluid workflows for our translators.

Integration Potential

Strong function calling performance could help us integrate external resources like concordances more seamlessly.

Cautious Optimism

While exciting, we need to approach implementation carefully. Bible translation requires nuance and cultural sensitivity.

Next Steps

  1. Testing on biblical texts in low-resource languages
  2. Refine prompts for smaller model if needed
  3. Plan integration into our existing workflow for Codex
  4. Analyze costs vs. potential improvements

GPT-4o mini could accelerate our mission to make God’s Word accessible to every language community.

What do you think about its potential impact on Bible translation?

Permalink →

#translation

🔍 Context: The Bible-translation world has spawned a number of specialized editors, each catering to a unique set of users. This multiplicity ultimately serves the translators, ensuring that various needs are meticulously met.

Sets of users

🔧 The Challenge: Each translation editor requires custom-built tools. While this tailoring offers specific solutions, it creates a siloed ecosystem.

Isolated tools

Integrating these tools across different editors can lead to a complex web of interfaces and contracts, muddying the waters of maintenance and ownership clarity.

Integrated tools with too many contracts

🤔 The Question: How do we combine our efforts while simultaneously maintaining a multiplicity of editors and avoiding the pitfalls of overcomplication and lack of clear ownership?

💡 The Insight: Imagine a world where every translation editor could use every new tool that was built right out of development. This could be possible if we all followed the same protocol.

🚀 The Solution: A Shared Protocol for Translation Tools

The world of programming has already found a solution to a similar problem: the Language Server Protocol (LSP). This protocol standardizes the communication between editors and tools, ensuring seamless interaction without the need for custom tooling for each editor.

A Bible Translation Language Server Protocol

In short, the LSP allows tools to work across multiple editors, eliminating the need for custom development for each environment. This not only simplifies maintenance but also allows for more efficient use of resources and ensures scalability for future needs.

LSP provides a standardized way for tools to communicate with different editors, simplifying the integration process. To put it in the words of the LSP designers, “LSP is a win for both language providers and tooling vendors!”

💡 Benefits of LSP in Translation:

Just as in programming, where tools and editors align with the Language Server Protocol (LSP), translation tools too can benefit from this approach.

  1. Streamlined Communication: LSP ensures that all tools speak the same language, making it easier for them to work seamlessly with various editors.
  2. Reduced Complexity: By adopting a common protocol, the need for multiple, unique interfaces is eliminated, thereby reducing maintenance challenges.
  3. Clear Ownership: With LSP, boundaries between different pieces of software are well-defined, clarifying responsibility and ownership without sacrificing integration.
  4. Enhanced Collaboration: A unified approach fosters better collaboration and knowledge sharing among different tool developers.
  5. Future-Proofing: LSP is a forward-thinking solution, allowing for easier upgrades and integrations as new editors and tools emerge, since even when new editors or tools are introduced, they all follow the same protocol.

How does it work?

If you want to read more about the LSP in general, check out the official documentation. We’re implementing a language server that follows this protocol for Project Accelerate, and we would love to see the community adopt something like this protocol as well.

🎯 Conclusion

Incorporating the LSP into our translation tools aligns us with a proven method in the programming world. It offers a solution that respects the differences between editors, their teams, and their user bases, while greatly simplifying the tool-integration process. This not only enhances efficiency but also ensures a more manageable and scalable system for all involved.

📣 The Call to Action:

Let’s embrace the idea of a Language Server Protocol. By doing so, we uphold the unique value of each translation editor, while bringing clarity and ease to the tool integration process. This strategic move will keep us agile, focused, and ready to meet the evolving needs of the translation community with an ever-growing suite of tools.

Updated March 4, 2024: Clarified that we should simply aim to use the LSP, not create a new one.

Permalink →

Originally posted: 2022-03-31

Mac ‘Other’ storage keeps increasing to over 100GB? Use a graphical storage breakdown. (1 min read)

The Problem: Other Storage Taking up Too Much Space

When your disk is almost full, and you need to “save space by optimizing storage,” there is nothing more frustrating than seeing an “Other” category in Mac’s Storage Management tool that is hogging the lion’s share of your SSD.

Here’s the fix:

Solution: Use GrandPerspective to Identify Which Files/Folders Are Taking up so Much Space

  1. Download Grand Perspective from Sourceforge (it’s 4 MB, so you will have to have at least that much storage!).

  2. Copy the GrandPerspective app into your ~/Applications/ folder.

You need to open GrandPerspective with permission to read the size of every file in every folder. To open it in this way, do the following:

  1. Open Terminal (how to do this).

  2. In Terminal paste this command: security execute-with-privileges /A*/GrandPerspective.app/*/M*/* 2>&-

You will be prompted to enter your password, to allow GrandPerspective to see every file on your computer. See Note

GrandPerspective will show you where and how you are using up your space.

Get this: I had 64GB of my 256GB allocated to a Docker image I wasn’t even using anymore.

Deleting it meant I could actually save my dissertation file changes. 🎉 🔥 ⚡️

Graphical breakdown of my hard drive storage usage

Credits

Thanks to Link Davis, on this thread for putting me on to the GrandPerspective app and the technique of running it with increased permissions.

NOTE: Obviously, if you have government secrets on your computer, you already know that you shouldn’t give some app downloaded off the internet access to all your files. For most of us, however, we’re simply interested in freeing up storage.

Permalink →

A thought experiment. (credit to Ben Scholtens for asking the obvious question: Why not fork VS Code ourselves?)

2023-09-19 #ai #translation


Your Translation Project is a lot like a Software Project. Why not use a World-Class Text Editor?

🔍 The Insight: Bible translation, at its core, is a text-editing endeavor, akin in many ways to software development. It’s about collaborating, maintaining versions, and ensuring quality – just like developing a codebase.

❓ The Question: Why start from scratch when there’s a mature, battle-tested platform that offers vast capabilities tailored to these tasks?


VS Code: The Unsung Hero for Bible Translation

📖 No Loss in Functionality: At first glance, Paratext appears irreplaceable. But dive deeper, and you’ll find that the VS Code ecosystem can replicate its core functions, and it’s highly stable, scalable, and useable. From textual analysis, collaboration, to project management, there’s an extension for that. Oh, and it comes with rock solid AI integration.

🛠 Superior Toolset:

  • Stability & Text Editing: VS Code’s origin is text editing. Its advanced features ensure seamless, bug-free experiences.
  • Plug-ins: With tens of thousands of extensions, there’s a plugin for almost every need, and creating new ones is straightforward, whether you’re a software firm or an SIL programmer.
  • Git Integration: Mature version control is baked in, making collaboration and version tracking effortless.
  • File Management: Navigate complex projects with ease, and leverage the advanced file system capabilities.
  • LiveShare: Work on the same file across devices. Real-time collaboration made simple.
  • Customization: Connect to linting systems, render previews, automate tasks, and more.
  • Localization: Tailor the interface to your linguistic needs. It’s globally friendly.
  • Extensibility: VS Code’s architecture is primed for expansion, ensuring it’ll grow with your needs.
  • AI Integration: Benefit from native AI tools for smarter, quicker leveraging of all of your project resources and work to date.
  • Support & Documentation: A vast community, extensive documentation, forums, videos, and guides stand ready to assist.

The Implication:

While Bible translation has unique domain requirements, it shouldn’t reinvent the wheel for tasks common to many projects. By leveraging VS Code, we tap into a decade of optimization, a vast ecosystem, and avoid the pitfalls of building from the ground up. Imagine cutting down development time by 10 or 20 years (how long would it take a team to accomplish 115K commits, on thousands of branches, with as good a result as VS Code?), ensuring greater stability, and having a world-class UI — all while keeping focus on the unique needs of translation.

Some of the most advanced and complex features that translators or consultants could only dream of (like having complete project version control on an enterprise level with automated actions and quality check processes, or enabling 4 people in four geographic locations to collaborate on the exact same file in real time) are already built, tested, stable, and being used by hundreds of thousands of VS Code users.

Why would we put our time and effort into recreating all of this, when its already free and completely open source (MIT license)? In conclusion, the complexities of tool development are vast, but they’ve been met and tamed by VS Code. Rather than venturing into the wilderness to forge a new path, let’s stand on the shoulders of giants, repurpose what’s proven, and channel our energies solely into the specialized challenges of Bible translation.


🚀 The Call to Action: Before investing further in new tools, let’s explore the vast potential of VS Code. It promises a foundation that’s both solid and flexible, ensuring our Bible translation endeavors are as efficient, effective, and impactful as possible.


Minor update: VS Code fork seems feasible

Permalink →