https://github.com/cdb-boop/Space-Quest-V-Voice-Acting-Mod Skip to content Navigation Menu Toggle navigation Sign in * Product + GitHub Copilot Write better code with AI + Security Find and fix vulnerabilities + Actions Automate any workflow + Codespaces Instant dev environments + Issues Plan and track work + Code Review Manage code changes + Discussions Collaborate outside of code + Code Search Find more, search less Explore + All features + Documentation + GitHub Skills + Blog * Solutions By company size + Enterprises + Small and medium teams + Startups By use case + DevSecOps + DevOps + CI/CD + View all use cases By industry + Healthcare + Financial services + Manufacturing + Government + View all industries View all solutions * Resources Topics + AI + DevOps + Security + Software Development + View all Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} cdb-boop / Space-Quest-V-Voice-Acting-Mod Public * Notifications You must be signed in to change notification settings * Fork 0 * Star 20 Voice acting in Space Quest V. 20 stars 0 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 2 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights cdb-boop/Space-Quest-V-Voice-Acting-Mod main BranchesTags [ ] Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 38 Commits README.md README.md generate_patches.bat generate_patches.bat sq5_patch.nsi sq5_patch.nsi View all files Repository files navigation * README Space-Quest-V-Voice-Acting-Mod I added full voice acting to Space Quest V. Fixed some bugs along the way. Sample videos: * https://www.youtube.com/watch?v=WmxibvFMAXc * https://www.youtube.com/watch?v=LB9o2LXhkkY Installation To install, get a copy of Space Quest V from the Space Quest Collection, and run the exe found in the Releases. Provide the exe with the path to your Space Quest 5 folder. The installer should remove all patch files, as they may cause issues running the game. After installation, download the ~500MB resource.aud file, which contains the synthetized voices, and add it inside the Space Quest 5 folder. Note that the game must be played with both text and audio, as the branching dialog requires text output from the Messager. Runs with DOXBox-X and DOSBox (0.74-2 or earlier). ScummVM has an issue where loading a saved game loads with missing text boxes. Pipeline If you want to try adding voices to other old games, here is my general pipeline. * Programming: Decompile and understand a game's code to figure out what and where changes are needed to get both text and speech working. * Dataset Collection: Quality > Quantity. Think about a character and what voice would be appropriate and try to find or make a dataset that matches the character. Consider the trade-offs of using audio denoising on low quality audio. * Fine-Tuning: Fine-tune voice models using Tortoise-TTS and RVC. If you want, you can also experiment with fine-tuning F5-TTS and E2-TTS. You can find some scattered tutorials here. * Text Extraction: Extract text from a game and sort it by speaker if needed. * Synthetic Voice Generation: Tortoise-TTS can take hours to generate hundreds of vocal lines on a GPU. Additionally, you may try generating multiple samples at once, as the quality and delivery may vary with random seed. * Quality Control: Filter out bad audio samples and select the best ones. If a vocal line isn't working try generating more, correcting any issues with the text or rewriting it more phonetically. For example, rewriting "EVA" as "E.V.A." or "II" as "Two". Audio Examples Roger Wilco room200_noun7_verb0_cond0_seq1.mp4 Narrator room420_noun5_verb1_cond0_seq1.mp4 room305_noun13_verb0_cond0_seq1.mp4 Beatrice Wankmeister room119_noun6_verb0_cond0_seq6.mp4 Droole room410_noun1_verb0_cond0_seq5.mp4 Flo room202_noun12_verb0_cond53_seq2.mp4 Quirk room206_noun1_verb0_cond0_seq2.mp4 WD40 room201_noun34_verb0_cond49_seq1.mp4 Cliffy room201_noun10_verb0_cond4_seq23.mp4 Synthetic Voices Ordered by vocal appearance. Character Training Data Voice Actor Method Roger Wilco Roger Wilco (SQ6) William Hall Tortoise-TTS, RVC Bridge Simulator # Blaine Rohmer (SQ6) Jarion Monroe Tortoise-TTS, 1 RVC Bridge Simulator # Rosella (KQ7), Maureen Tortoise-TTS, 1 Thunderbird (LSL6) McVerry, Iona RVC Morris Captain Raemes Thunderbird (LSL6), Iona Morris, Tortoise-TTS, Tipper Quirk N/A Patrick RVC pitch -16 Warburton Narrator Narrator (SQ6) Gary Owens Tortoise-TTS, RVC Rotunta Guard Johnson (LSL7) Kevin Michael Tortoise-TTS, (Right) Richardson RVC pitch -16 Rotunta Guard Hotel Manager (SQ6) Roger Jackson E2-TTS (Left) Cadet A. Einstein Dorff (SQ6) Joe Paulino E2-TTS Cadet Schleppo Woof (KQ6) Chuck McCann E2-TTS Ambassador Tortoise-TTS, Beatrice "Bea" Rosella (KQ7) Maureen McVerry RVC Wankmeister Cadet Splock Elmo Pug (SQ6) Doug Boyd F5-TTS Admiral Wil'm Larry Laffer (LSL7) Jan Rabson Tortoise-TTS, Pol'k RVC Commander Kielbasa? Tortoise-TTS, Rumproast Droole Doctor Beleaux? Jarion Monroe RVC pitch +6 (SQ6) Gowitda Florence Jamie Lee Coitus Mary Kay Tortoise-TTS, "Flo" Qwerty (LSL7) Bergman RVC Clifford "Cliffy" Desk Sergeant Frick Jim Cummings Tortoise-TTS, Crawford (GK1) RVC WD40 Thunderbird (LSL6) Iona Morris Tortoise-TTS, RVC pitch -20 "Maggot" Fester Blats (SQ6) Joe Paulino E2-TTS Cocktail Waitress Waitron (SQ6) Lucille Bliss E2-TTS Nelo Jones Johnson (LSL7) Kevin Michael Tortoise-TTS, Richardson RVC Detention Guard #1 Detective Franklin Mark Hamill E2-TTS Mosley (GK1) Detention Guard #2 Daryl (LSL6) Ed Gilbert E2-TTS Angry Bar Patron Djurkwhad (SQ6) Joe Paulino E2-TTS Harry Kerry Pa Conshohocken Charles E2-TTS (SQ6) Martinet Slep Freddy Pharkas (FP1) Cameron Arthur Tortoise-TTS, Clarke RVC Crumpella Wriggley (SQ6) Carol Bach y F5-TTS Rita Speech Synthesizers * Tortoise-TTS * RVC * F5-TTS & E2-TTS * A handful of free mouth noises from the Internet, most put through RVC. * A handful of recordings of me delivering lines put through RVC. Code Unresolved bugs * The game must be played with both text and audio. * Dialog in the "Captain's Log" introduction does not move forward automatically. * Dialog in the inventory does not move forward automatically. * Branching dialog on Genetix is missing Roger's voiced message for selection. Basic audio fixes * Used AUDBLAST.DRV, SIERRA.EXE and INTERP.ERR files found in the SCI Companion's SCI1.1 TemplateGame. * Updated Blink.sc (Talker.sc), AnimDialog.sc and Messager.sc files to use Audio36, matching code in corresponding files in LSL6. * Added case 0 to Rgn and Feature classes and all inheriting classes in order to work with newer SIERRA.EXE supporting voice audio. This fixes the Audio36 crash Exit to error: DMA segbound wrapping (read). Rgn (994) * Rm (994) * sbar(505) * kiz (350) * eureka (210) * starcon (109) * genetix (031) Feature (950) * Socket (228) * MyFeature (031) * View (998) + Prop (998) o Actor (998) # Ego (988) @ SQEgo (018) # Cat (976) # MyPuke (660) # Fuse (228) # Tool (226) # MyActor (031) o Door (954) o ShipChunk, Ship, Button (850) o Narrator (928) # Talker (928) @ ChoiceTalker (030) # ChoiceNumber (030) o FloatObj (801) # Asteroid (801) o Tumbler (770) o LockDevice (335) o Multiprop (244) o MyCones (119) o MyProp (031) + Section (246) + AnswerBox (137) + CrestPiece* (119) + Puke (1010) Adding missing voicing acting * Changed global90 from 1 to 3 (flags b0001 = text, b0010 = voice). NOTE: Changing this value doesn't seem to do anything in DOSBOX. Overriding the audio settings to use both audio and text in ScummVM fails to show the text boxes, which is required for selecting branching dialog. * Added voice acting to death room message types. (deathRoom) * Added voice acting to captain's log and bridge simulator in the introduction (rm104). * Added voice acting to ending congratulation scene (rm1041). * Added voice acting to inventory. (Sp5InvItem) * Added voice acting for Roger after selecting a dialogue branch (except when beaming out of Genetix). (cliffyGoesWith, rm620, rm640, rm730, sCommandCliffy, sCommandDroole, sCommandFlo, sDStarconChoices) * Added voice acting to space academy test results letter. (rm166) * Added voice acting to special close up scene scripts where Talker Messager was overridden. (rm440, rm450, rm520, rm530) New Messager bug fixes * Fixed rendering bug (using GetPort and SetPort in Messager) where printing Messager message over another window (i.e. inventory, communicator, etc.) caused other window to get corrupted. Messager enhancements * Dynamically lower music audio while Messager speaking and in special cut scenes. * Added feature (inspired by LSL7 code) to restore mouse state after Messager completion. * Added check in Messager (based on LSL7 code) to check if Messager already called and show warning. Decompilation or general bug fixes * Fixed bug where previous save got deleted due to bad decompiled assembly code in the SRDialog class's doit method. * Fixed bug where Roger holds face hugger close up forever. * Fixed bug where Cliffy is trying to help Roger up from the splits after getting the cloaking device. * Fixed bug where Roger walked to wrong location while exiting screen in Genetix, value reading (gSQ5 handsOff:) instead of register. * Fixed bug (caused by decompilation?) where red glow at the start of outside view of the bridge simulator room was not showing. This was caused by an extra line palette setting (Palette palSET_FROM_RESOURCE 600 2). * Fixed bug where Roger would enter dumpster screen on Genetix y position on bottom edge of screen, likely caused by calling super init: too late and causing y value to be overwritten. (rm740) * Fixed bug where Roger getting on the transported pad from the left would use bad pathing. The lines' [local20 register]; [local20 (+ (= register (* register 8)) 1)] array position calculation (= register (* register 8)) was put before the two array accesses, (= register (* register 8)); [local20 register]; [local20 (+ register 1)]. * Attempted bug fix for Flo's eyes in final scene. (rm1041) * Fixed mislabeled voice lines to render the correct talker. Timing bug fixes * Added Wait(1) to EVA pod minigame to limit FPS to 60 to prevent issues at higher cycle rates. The thrust level's doit method appears to be polled every possible cycle. (FloatObj) * Adjusted code in various places to change cycles to ticks (usually where cycles > 1, but sometimes where cycles = 1) and remove or correct setting cycleSpeed or moveSpeed to 0 where appropriate to allow for better default speeds for added compatibility with high cycle cpus. + beaClimbsOut, cliffyGoesWith, deathRoom, fuse, genetix, keyStuff_242, keyStuff, LockDevice, MyPuke, rm100, rm104, rm106, rm107, rm110, rm115, rm117, rm121, rm127, rm132, rm133, rm135, rm166, rm200, rm206, rm212, rm215, rm225, rm250, rm280, rm300, rm305, rm310, rm315, rm420, rm500, rm510, rm640, rm740, rm750, rm760, rm1050, rm1060, sInTheAsteroids, sOpenDoors, sWD40Attacks Labor Rough estimates. * ~100 Hours of work generating, selecting, splicing and cleaning audio files. * ~30 Hours of programming with the SCI Companion. * ~1/2 Hour on SCIProgramming.com. About Voice acting in Space Quest V. Resources Readme Activity Stars 20 stars Watchers 2 watching Forks 0 forks Report repository Releases 1 v1.1.0 Latest Nov 3, 2024 Packages 0 No packages published Languages * NSIS 82.0% * Batchfile 18.0% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.