Storyteller
Book
- No pages found in this chapter or book.
Tips are never expected, but always appreciated. I hope you enjoy this little project of mine!
Leave a TipWelcome to the Storyteller! This tool helps you manage and trigger sound effects ('Pages') based on spoken words or phrases, organized into different 'Chapters'. Your book data is automatically saved in your browser's local storage.
Note: Google Chrome is recommended for the most reliable speech recognition performance. Other browsers may have limited or experimental support.
Download a sample book JSON file to get started. You can load this file using the 'Load Book File' option under 'Manage Book'. Remember, you'll need to provide your own audio files matching the filenames in the sample and use the 'Relink Files' button after loading.
Watch this video for a visual walkthrough on how to get started with Storyteller, add your sounds, and use the core features:
Watch Tutorial VideoThe entire collection of your chapters and pages. It's automatically saved to your browser. You can also Save and Load the entire Book as a file using the "Manage Book" dropdown menu.
A way to organize your Pages. Only pages within the currently active chapter (or Starred pages) can be triggered by keywords/phrases. Chapters appear as tabs above the page list. You can add, delete (except Index), and edit chapters.
A special, undeletable chapter that always shows *all* pages in your book. It acts like a master list. It's also the default destination when using an "Exit Phrase". When transitioning to the Index chapter, any currently playing sounds will continue to play (unless the 'Stop All Audio' setting is active).
Represents a sound effect or audio clip. Each page has a title, trigger keywords/phrases, volume, looping options, etc., and one or more sound sources (variations).
A specific audio file, YouTube clip, or Syrinscape Element associated with a Page. Each variation can have its own name, volume override, and optionally be assigned to specific Chapters and/or a specific Time of Day (Day/Night/Always).
A sound source variation assigned to one or more specific chapters. When its page is triggered and the active chapter is one of the assigned chapters, only variations assigned to that chapter (and matching the current time of day, if set) will be considered for playback. If multiple matching chapter variations exist, one is chosen randomly.
A sound source variation *not* assigned to any specific chapter (its `chapterIds` is empty or `null`). These are played if a page is triggered and there are no playable variations specifically assigned to the currently active chapter (that also match the time of day).
A sound source variation assigned to 'Day Only' or 'Night Only'. When its page is triggered, this variation is only considered if the current Time of Day matches its setting. Variations set to 'Always' are considered regardless of the time.
Each page can be set to 'Day Only', 'Night Only', or 'Always'. This restricts when the page can be activated by voice commands or chapter transitions. Pages set to 'Day Only' or 'Night Only' will appear grayed out when the current time of day doesn't match. Manual playback via the play button ignores this restriction.
A page marked with a star. Starred pages can be triggered by their keywords/phrases regardless of which chapter is currently active, but still respect the Page's Time of Day Setting. Chapter/Time Variations still apply based on the active chapter and current time.
A chapter marked with a star. All pages within a starred chapter behave like starred pages: they can be triggered globally, but still respect their individual Time of Day Settings. Chapter/Time Variations still apply. If a page in the *current non-starred* chapter matches the spoken phrase *better* than a page in a starred chapter, the current chapter's page takes priority.
A global volume control affecting all sounds (file-based, YouTube, and Syrinscape). It acts as a percentage multiplier (0-100%) on top of individual Page/Variation volumes. Find it below the main control buttons on the main page. The 'Stop All Sounds' button () still mutes everything instantly and is independent of this slider.
This setting (in the main Settings modal ) determines if clicking a chapter tab triggers that chapter's 'Autoplay Pages on Enter'.
Note: Voice-initiated chapter transitions (Enter/Exit phrases, Plotter threads) *always* attempt to trigger autoplay pages for the destination chapter, regardless of this setting (respecting page time restrictions).
To use Syrinscape sounds:
Syrinscape sounds will then be playable like other sound types. The main "Stop All Sounds" button will also attempt to stop all Syrinscape sounds via syrinscape.player.controlSystem.stopAll()
. Individual Syrinscape sounds are stopped using their Element ID and Kind. If a duration is set, the sound will stop after that time.
In the "Search Syrinscape Sounds" modal, each result will have a single Play/Stop toggle button ( / ). This allows you to preview sounds before adding them to your page. Only one preview can play at a time from the modal. Previews stop if the modal is closed or if "Stop All Sounds" is used.
Use the main toggle button or the Spacebar (Toggle or Push-to-Talk mode) to start and stop listening for trigger words.
Each page can optionally have one or more Primary Keys (comma-separated words/phrases). If Primary Keys are set:
If a page does not have any Primary Keys, it behaves normally, triggering directly based on its Keywords or Phrases.
A page will only be activated by voice or chapter transitions if its 'Time of Day Restriction' setting matches the current time ('Day Only' pages during the day, 'Night Only' pages at night, 'Always' pages anytime). Pages that don't match the current time will appear grayed out in the list.
When a page is triggered, the system selects a variation to play:
Exception for Plot Threads: When sounds are triggered via a Story Plotter thread, the system will typically select variations based on the destination chapter of the thread and the current time of day (after any time change specified by the thread). This ensures sounds play in the context of the new scene.
You can automatically switch chapters by speaking a built-in or custom "Enter Phrase" followed by a 'Chapter Keyword' defined for the destination chapter.
enter
, go into
, going into
, wandering into
, arrive at
, move to
, walk into
, run into
, head to
, etc.Example: If the "Forest" chapter has "forest" as a chapter keyword, saying "enter the forest" will switch the active chapter to "Forest".
Autoplay on Enter: In the "Edit Chapter" modal, you can select pages within that chapter to automatically play *only* when the chapter is activated via a spoken Enter Phrase. These pages will only play if their Time of Day Restriction matches the current time.
Audio Handling on Chapter Change: This setting (in Settings ) controls which sounds stop when you change chapters (by voice or clicking a tab). It interacts with Chapter/Time Variations:
Variation Switching on Chapter Change: If a sound is allowed to continue playing based on the 'Audio Handling' setting, the system checks if the currently playing variation is appropriate for the *new* chapter and current time. If a different variation is more appropriate, the current sound stops, and the new variation starts. If the current variation is still the best fit, it continues playing.
You can stop certain sounds currently playing from the active chapter and transition to a designated chapter (defaulting to Index) by speaking an "Exit Phrase" followed by one of the *active* chapter's keywords.
leave
, exit
, depart from
, leaving
, exiting
.Example: You are in the "Tavern" chapter (Day time). Tavern sounds are playing (using a Day or Always variation). You say "leave the tavern". The system stops/switches sounds based on the "Audio Handling" setting and Variation Switching logic for the destination chapter and current time, plays any allowed "Sounds on Exit", and then transitions to the target chapter.
Use the "Add New Page" button () to open the creation modal. Add a title, sound source, triggers, and set the 'Time of Day Restriction' for the page. Keywords/phrases are optional if you only intend to trigger the page via chaining or autoplay.
Click the pencil icon on a page item. You can change all settings, including the 'Time of Day Restriction', add/remove variations, and star/unstar the page.
In the "Edit Page" modal, click "+ Add Variation" or the pencil icon next to an existing variation.
Drag a page item and drop it onto the desired (non-Index) chapter tab.
The Story Plotter provides a visual way to map out transitions between chapters using "threads". Open it using the button.
Activation Logic: When you speak, the system first checks if any configured plot threads originating from the current chapter match your phrase (based on the thread's phrases/keywords and time condition). If a matching thread is found:
Use the "Manage Book" dropdown menu ().
Spacebar
: Start/Stop Listening (Toggle/Push mode)Ctrl+S
/ Cmd+S
: Save Book to FileCtrl+O
/ Cmd+O
: Load Book from FileCtrl+Q
/ Cmd+Q
: Stop All SoundsCtrl+Enter
/ Cmd+Enter
: Confirm in ModalsEscape
: Close Modals