Android beta availableNow on iPhone

Your table deserves a soundtrack.

Bardic turns your phone into a sound desk for tabletop RPGs. Prepare music, ambiances and events for each chapter of your story, then play them live with one hand while you run the game.

The web test plays three ready-made stories for you to discover Bardic in no time. The app is the one built for real sessions: your own stories and sounds, kept on the phone, the soundbox, .bardic files, and playback with the screen off.

Tutorial

How does a Barde play?

Put your headphones on, and discover Bardic. This tutorial shows you how to play a story and how to forge and share your own stories. Discover the Compagnie des bardes, in which everything can be shared freely.

0:00 / 3:18

Sound credits: tutorial credits.

Bardic Key Principles

The Barde tells a Story.

A Story has its Chapters.

Chapters have theirs own Sounds.

Prepare your story before your session. At the table, each chapter opens its own mixing table, and every sound waits on a card, ready to fire under your hand.

1

Story

Sotry Title: The Drowned Abbey. It holds its chapters and its own soundbox of quick effects.

2

Chapter

A Chapter is your scene: the flooded nave, the crypt, the abbot's fury.

3

3 sort of Sounds

Music: one track at a time, crossfading. Ambiances: rain, fire, crowds, layered on loop. Events: bells, roars, explosions, on cue or at random.
4

Sound card

One sound with its own controls. Play, pause, fade it out, loop it. Its anatomy is just below.

You're in control

Inside a sound card.

Everything a sound needs during the game, within reach of a thumb. You can preset everything before your session.

1 2 3 4 5 6 7 8
Name 1The sound, as it shows at the table.
2 Time leftTurns red in the last ten seconds. Endless sounds say ∞ loop.
3 Loop1× once, 2× twice, ∞ forever. Events and ambiances can also come back at random.
Progress 4Green to red as the end comes. Full blue for an endless loop.
Play / Pause 5Starts at once, pauses without a click.
6 Fade outEnds the sound softly instead of cutting it.
7 VolumeIts own level, under the master volume.
8 GlowThe card lights up in its row's colour while it plays.
  1. 1Name: the sound, as it shows at the table.
  2. 2Time left: turns red in the last ten seconds. Endless sounds say ∞ loop.
  3. 3Loop: 1× once, 2× twice, ∞ forever. Events and ambiances can also come back at random.
  4. 4Progress: green to red as the end comes. Full blue for an endless loop.
  5. 5Play / Pause: starts at once, pauses without a click.
  6. 6Fade out: ends the sound softly instead of cutting it.
  7. 7Volume: its own level, under the master volume.
  8. 8Glow: the card lights up in its row's colour while it plays.

Community

The Compagnie des bardes.

Every table has its tales, and some of them deserve to travel. Forge your story into a .bardic file, with its music, its ambiences and its thunderclaps, and lay it in the Recueil for every game master to find. Then bring one of theirs home to your table tonight.

New, in development

Bardic Flow.

For the bards who prepare the exact timing of their sounds: shape each chapter on a computer, then follow the golden wire on your phone at the table. You only tap Go at the gates.

Under the hood

Open source, all the way down.

Every line of Bardic lives on GitHub: the Android app, the iPhone web app, this site, the file format and the build pipeline. Read it, fork it, open an issue, or send a tale to the Recueil.

arthurvangeersdaele/BardicSource, issues and releases

Android Kotlin, C++

  • Jetpack Compose UI, landscape only.
  • C++ mixer on Oboe (AAudio, OpenSL ES): one low-latency stream, up to 20 voices, no locks or allocation on the audio thread.
  • NDK AMediaCodec decoding into lock-free ring buffers: every loaded sound starts instantly, loops are gapless.
  • Soundbox effects decoded in memory, up to 24 one-shots on top.

iPhone and web JavaScript

  • iPhone: a Home Screen web app, stories in IndexedDB, offline thanks to a service worker.
  • Web player on the Web Audio API, sounds preloaded as blobs.
  • Story builder: everything in the browser, MP3 encoding with LAME, a YouTube clip recorded from the tab's own sound.

.bardic format 2

  • A stored ZIP: story.json and the audio files.
  • Signed with a bard name, versioned by a hidden revision counter.
{ "format": "bardic", "version": 2, "bard": "Chiffon", "revision": 3, "chapters": [ { "title": "The flooded nave", "music": [...], "ambience": [...], "events": [...] } ], "soundbox": [...] }

Pipeline GitHub Actions

  • Every push to main builds the APK and publishes it as the latest beta; the app offers the update itself.
  • Tales sent to the Recueil are checked on their pull request, then indexed automatically.
  • Sounds of the web stories come from open source games (Battle for Wesnoth, 0 A.D., Flare, Stendhal), credited file by file.