On-Stage Teleprompter using Free Open Source Tools

Behind my mild mannered instructional designer persona I become a fire-breathing singer/songwriter/performer when the full moon rises, and I’ve been thinking for years about the absolute best way to store my chord and lyric charts so I have them with me everywhere, ready to perform whenever the opportunity strikes.

For years, I used Evernote to store and organize my charts, and I liked a lot about it but also daydreamed constantly about how to make the process better.

I have a ridiculous number of requirements, since my workflow has to work well at every stage of the process.

Finally now, I have arrived at an end-to-end process for storing, syncing, and performing my charts that rivals commercial solutions, all using free open source tools and a little know-how. Want to see how it works? Let’s go….


  • Easily clip chords/tabs/lyrics from the web with a “web clipper” browser extension
  • Store and organize song sheets in notebooks
  • Sync across Mac, Android, and Chromebook seamlessly and reliably
  • Display song sheets with high visibility on the large screen of my Chromebook so I can see them on stage, and flip pages at will.
A commercial StagePrompter implementation

Plain Text is the Key: Markdown & ChordPro FTW

Storing charts in Evernote, I would often inherit the weird “rich text” formatting of the websites I got them from. I would have to strip out all the ads, styling, images, and other detritus surrounding the information I want.

The best alternatives to Evernote — namely Obsidian, Joplin, and Zettlr — are all open source notebooks that store your notes in markdown format. This text-based format removes most of the unwanted formatting and boils down your notes to only the relevant information. It’s closely related to ChordPro, another text-based format that is specifically designed for chords and lyrics. You can effortlessly convert between these two formats using Simple ChordPro for Chrome.

Clipping from the Web

Many chord sites like my fave Chordie allow you download your chords in ChordPro format, but most will let you clip markdown of the chords and lyrics using a tool like MarkDownload which reduces any website to a “just the Markdown, thank-you-very-much” version so it can be easily stored in your Obsidian, Joplin, or Zettlr notebook. These plain text markdown/ChordPro notes are lightweight for easier storage and syncing, and they are clear and easy to read and style however you want (more on this later).

Store and Organize Sheets

These three apps give you great tools for organizing your notes into notebooks, tagging, searching, and inter-linking them to your heart’s content. I have multiple notebooks as my songs move through the process of songwriting, learning cover tunes, and forming unique set lists for different types of shows. You can achieve the same notebook-like experience just storing these text files in a sync-able file folder in Google Drive, but these are just that much more readable and user-friendly, which I appreciate.

Sync Across Platforms

Using the recommended sync workflows for these tools means that you can automagically have your files on your desktop, phone, tablet, no matter the platform. You can even sync these markdown files in something like Google Drive or Dropbox with little fuss.

Display with high visibility on stage

It is here where most notebook tools fall short. Even though markdown and ChordPro are human-readable, sometimes the text displays too small for viewing on stage. Or, a song’s chart may be so long that you have to take your hands off the guitar to scroll your screen down to reveal more lyrics. I’ve solved this problem.

Obsidian and Zettlr both have the ability to convert your markdown notes to an eye-catchingReveal.JS presentation that will play natively on any web browser — it’s just plain HTML so it works everywhere.

single-screen view of song lyrics and chords

To delineate where the slide breaks fall, you just add a --- between each verse, chorus, instrumental, etc. and Reveal will know to insert a slide break there.



[Gmaj7]People I know, [Cadd9]places I go
[Gmaj7]Make me feel tongue-tied[Cadd9]
[Gmaj7]Like you see how, [Cadd9]people are down
[Gmaj7]There on the inside[Cadd9]


[Gmaj7]Here’s[Cadd9] where the story[Gmaj7] ends[Cadd9]


People I see, weary of me
Showing my good side
Like you see how, people are down
I'm on the outside

The process of generating a presentation is a little different in each tool (Obsidian Slides vs. Zettlr Export Reveal.JS) but the result is the same — a big-screen view of your song sheets, broken down by verses so they can be displayed BIG on any screen.

Each tool allows you to export/display one note as a Reveal.JS presentation as a time. With Zettlr you have to export it, which is a “do ahead of time” process, but Obsidian’s Slides feature can be invoked on any note in real time, meaning you could enable it on a song-by-song basis, right there in the moment on stage.

However, I’m working towards our first two-hour spotlight show with my band Saint Monday where we’ve agreed on the set list and play order, so I’m just creating a single note containing the markdown slides of all the songs in order. Again, since it’s plain text, this is a simple matter of concatenating your different .md files in the order you want to generate one MEGA playlist file that you can easily click through in order. And yes, there’s an app for that.

Pressing ESC reveals all slides in the presentation as an overview.

BONUS: Turn Pages with an Inexpensive Pedal

By adding an inexpensive Bluetooth page turner pedal, I can advance and reverse the charts on my tablet just by stepping on it. Of course you could also hack your own page turner using whatever you have around — all it’s doing is pressing the and arrow keys, so even stepping on an old QWERTY keyboard would work in a pinch. Isn’t open source awesome?!?!?

Teleprompter too

If you aren’t a singer but you do routinely film recorded presentations, this solution also works great as a classic teleprompter for TV and film.

Geeky. Worth it.

So yes, this is a lot of geekery, but it results in the absolutely most reliable and performant solution I’ve found for accomplishing this task. The best thing is that almost all these tools are free and open source, although I’m thinking of springing for Obsidian’s $8/mo. syncing service rather than the hacky workaround I have now. I hope this helps you think out your process — please comment with your ways of accomplishing this and any ideas to improve the process.

Liked this post? Follow this blog to get more. 

Written by

Ted Curran is a Learning Experience Designer/Developer for Autodesk. He is committed to empowering educators and learners to create transformational change through effective pedagogy and technology integration. You can follow Ted on Mastodon, LinkedIn or learn more at my 'About" page. These thoughts are my own.

You may also like...


This site uses Akismet to reduce spam. Learn how your comment data is processed.