🎭 Ghost Cast

Multi-voice script studio – search below to find what you need
πŸ”
▢️ Playback
Play
Reads your script line by line, switching voices per character and applying any [style] tags. SFX, pauses, and music tags trigger as they're encountered.
▢️ Playback
Stop
Halts all speech, stops any playing SFX, and clears the playback queue.
▢️ Playback
Pause / Resume
Pauses the current line without losing your place in the script. Click again to continue. Background music keeps playing while speech is paused.
▢️ Playback
Clear
Empties the entire script editor after confirmation. Character list and voices are preserved.
▢️ Playback
Load
Opens a .txt script file. The [CHARACTERS] block at the top is parsed to restore the character list and their voices; the rest becomes the editable script.
πŸ‘₯ Characters
Character List
The panel on the left holds every character in your production. Click a character to select them, then pick a voice in the Voice panel. Narrator is always present and cannot be deleted.
πŸ‘₯ Characters
Add Character (+)
Prompts for a name and adds it to the roster. The first letter is auto-capitalized.
πŸ‘₯ Characters
Delete Character (βˆ’)
Removes the selected character. The Narrator is protected.
πŸ‘₯ Characters
Insert Name at Cursor
Drops the selected character's name (with the required :) at the cursor position in the script. Saves you typing the same names over and over.
πŸ‘₯ Characters
Export Characters
Saves just the character names to a plain text file. Useful for keeping a cast list for a series.
πŸ‘₯ Characters
Import Characters
Loads a text file (one name per line) and replaces the entire character list. A red hint appears whenever you hover this button as a reminder.
πŸ‘₯ Characters
Add as Character (right-click)
Highlight a word in the script, right-click, and choose Add as Character. The selected text (with punctuation stripped) is added to the roster.
πŸ‘₯ Characters
Add All Names (right-click)
Scans the entire script for anything that looks like Name: and adds every capitalized, unrecognised name to the character list. Ignores common English words and script tags.
🎀 Voices
Character Voice
Assigns a voice to the currently selected character. Every line that character speaks will use this voice. Changing it previews the voice instantly.
🎀 Voices
Narrator Voice
The fallback voice for any line not spoken by a character, and for unassigned characters. Also previews on change.
🎀 Voices
Voice Preview
Whenever you pick a different voice, you immediately hear "Hello, this is [voice] speaking." So you never assign the wrong voice by accident.
🎭 Styles
Style Buttons (22)
Click any style to insert its tag ([whisper], [sexy], etc.) at the cursor. Each style adjusts speech rate and volume to convey the mood.
🎭 Styles
Normal
Neutral pitch and rate – the default when no style tag is present.
🎭 Styles
Whisper
Low volume, slower rate – spoken close to the mic.
🎭 Styles
Shout
Maximum volume, faster rate – for moments of passion or rage.
🎭 Styles
Sexy / Slutty / Wanton
Reduced volume, slower rate – the three flavour-tier intimate styles. Try each to hear the difference.
🎭 Styles
Sad / Crying
Slower rate, softer volume – reads like a melancholy monologue or a scene of grief.
🎭 Styles
Happy / Excited
Faster rate, standard volume – bright and lively.
🎭 Styles
Angry / Furious
Faster rate, loud volume – forceful delivery.
🎭 Styles
Sleepy
Very slow rate, very soft volume – reads like someone drifting off.
🎭 Styles
Laughing / Giggling
Faster rate, standard volume – animated, mirthful delivery.
🎭 Styles
Fear / Nervous / Worry
Faster rate, quieter volume – a trembling, uncertain quality.
🎭 Styles
Calm / Tender
Slightly slower, softer volume – warm and gentle delivery.
🎭 Styles
Serious
Standard rate and volume – flat, no-nonsense delivery.
🎭 Styles
Singing
Slower rate, softer volume, higher pitch – a lilting, musical quality.
πŸ“œ Script Format
Script File Format
Ghost Cast scripts are plain text with a small metadata block at the top. The complete syntax looks like this:
// Optional comment [CHARACTERS] Alice=Microsoft David Desktop Bob=Microsoft Zira Desktop Narrator=Microsoft Hazel Desktop [END CHARACTERS] Alice: Hello there. Bob[whisper]: Don't shout, she'll hear us. Alice[sexy; vol=60]: Oh really? [pause: 1500] [SFX: glass_break.wav; vol=80] Bob: What was that? [music: spooky_theme.mp3]
πŸ“œ Script Format
Character Lines
A line that starts with Name: is spoken by that character using their assigned voice. Lines without a name prefix are spoken by the Narrator.
πŸ“œ Script Format
Inline Style Tags
Attach a style to a line by putting it in brackets between the name and the colon: Alice[whisper]: psst…
πŸ“œ Script Format
Per-Line Volume
Add vol=N inside a style tag to override the style's volume for one line only: Alice[sexy; vol=60]: …. Combine multiple attributes with a semicolon.
πŸ“œ Script Format
Pause Tag
[pause: 1500] on its own line pauses playback for 1500 milliseconds. Insert from the right-click menu or type it manually.
πŸ“œ Script Format
SFX Tag
[SFX: filename.wav] plays an audio file from the SFX\ folder as the line runs. Optional volume: [SFX: filename.wav; vol=50].
πŸ“œ Script Format
Music Tag
[music: filename.mp3] switches the background music to a file from the Music\ folder. Only one track plays at a time; a new tag replaces the current one.
πŸ“œ Script Format
Comments
Any line beginning with // is ignored – useful for notes, scene breaks, or reminders to yourself.
✏️ Editor
Right-Click Menu
Right-click anywhere in the script editor for the full toolbox:
  • Save / Save As
  • Export to WAV / Export to MP3
  • Cut / Copy / Paste
  • Insert Name at Cursor
  • Insert Pause (1s, 2s, 5s, 10s, custom)
  • Insert SFX
  • Insert Style
  • Add as Character / Add All Names
  • Select All / Delete Selected / Clear All Text
✏️ Editor
Save / Save As
Writes the character list and script to a single .txt file. If the file was previously loaded, Save overwrites it silently; Save As always prompts.
✏️ Editor
Insert Pause
Right-click menu offers 1, 2, 5, and 10-second presets, plus a Custom option where you type any millisecond value.
🎡 Audio
BGM Toggle
Click to pick a background music file (from anywhere on disk, or from the Music\ folder). Click again to stop. The button pulses blue while music is playing.
🎡 Audio
Music Folder
Drop .mp3 or .wav files into the Music\ folder next to the exe. The [music: name] tag looks here automatically.
🎡 Audio
SFX Folder
Drop sound effects (.mp3 or .wav) into the SFX\ folder. The right-click Insert SFX option lists them for you to pick from.
πŸ”Š Volume
Volume Control
A single dialog with four sliders:
  • Master – scales everything else
  • Speech – how loud the voices are
  • SFX – how loud sound effects are
  • BGM – how loud background music is
Master multiplies the other three, so the final volume is always intuitive.
πŸ‘» Ghost Image
Floating Ghost Image
A decorative ghostcast.png floats over the Styles panel. Its position, size, and visibility are controlled by ghostcast.txt:
Enabled=true Topmost=true X=340 Y=20 Width=150 Height=150
Edit the file and restart the app to apply. Set Enabled=false to hide it entirely.
πŸ–₯️ Tray
System Tray
Minimizing the window sends Ghost Cast to the tray. Double-click the tray icon to restore, or right-click for an Open / Exit menu.
πŸ–₯️ Tray
Unsaved Changes Prompt
Closing the app with unsaved script changes shows a friendly dialog with Save, Discard, and Cancel buttons, each with a coloured icon.
πŸ’Ύ Export
Export to WAV
Renders the entire script to a WAV file using the Narrator voice. All script tags are stripped, so only the spoken words are recorded.
πŸ’Ύ Export
Export to MP3
Exports the script as a real MP3 using Windows Media Foundation (via NAudio) at 128 kbps. No external encoder needed – no lame.exe, no LAME.dll, no libmp3lame. One click, real MP3.
πŸ’Ύ Export
Export Voice
Export renders with the Narrator voice only. Per-character voices, styles, SFX, pauses, and music tags are not applied during export – the result is a single narration of the script's dialogue.
πŸ“ Files
Settings Files
Ghost Cast keeps these files next to the exe:
  • voice_overrides.txt – character-to-voice map
  • window_settings.txt – window size and position
  • ui_settings.txt – volume levels
  • ghostcast.txt – floating ghost image position
πŸ“ Files
Auto-Created Folders
On first launch, Ghost Cast creates empty Music\ and SFX\ folders next to the exe. Drop audio files in and they become available immediately.
πŸ“Š Status
Status Bar
The bottom strip shows three live indicators: the current MP3 export status, the name of the music playing (or "No music playing"), and the master volume percentage.
πŸ‘» Bundle
The Ghost Bundle Family
Ghost Cast is one of six small utilities under the Ghost Bundle umbrella:
  • Ghost Reader β€” distraction-free reader
  • Ghost Stamp β€” file timestamping & signing
  • Ghost Cast β€” multi-voice script studio (you are here)
  • Ghost Notes β€” hierarchical notebook
  • Ghost Phrases β€” text expander
  • Ghost Calc β€” standalone calculator with insert-into-app
Six utilities. One family. Each does one thing well and stays out of your way. πŸ’š
✨ No features match your search.

🎭 About Ghost Cast

Ghost Cast is a small companion studio for multi-voice scripted performances. Give each character their own voice, layer in styles, sound effects, pauses, and background music, then export the whole thing as a real MP3 β€” all without leaving the app. It was built alongside Ghost Reader, sharing the same philosophy: stay out of the way, do one thing well, and never sell your data or nag you to pay. Ghost Cast is free and always will be. Pair it with Ghost Reader when you want dialogue, and use Ghost Reader on its own when you just want to listen. πŸ’‹