Jump to content
The Dark Mod Forums

Geep

Member
  • Posts

    1073
  • Joined

  • Last visited

  • Days Won

    58

Everything posted by Geep

  1. The first-draft of the thug subtitles is done, and also successfully loaded into my test jig with custom soundshaders for the second-draft review/revise. That review will be paused while i work through some issues about best subtitling practices to target. For example, word per minute reading constraints and their impacts.
  2. Maybe. I'll keep it in mind to try, if I get a srt workflow going at some point.
  3. @datiswous, just the last phrase. @stgatilov, confirmed that subtitle display stops when sound ends. If I edit contents of an .srt file, neither reloadDecls nor reloadSounds sees that change.
  4. I have a question about the current TDM implementation of "srt"... For an audio clip using srt with multiple subtitle phrases, the start and end timestamps for each phrases are relative to the clip start. For implementation reasons, it would not be reasonable to have negative time. But it could be both reasonable and useful to have a subtitle that continues on-screen a bit longer than the audio clip. Is that currently possible?
  5. The page still loads crisply, so on balance, I think it's better.
  6. For the Thug, all the subtitles I've done so far have been rather short and so have lent themselves to the simple "inline" approach. I agree that a different character that has more long monologues, and so needs "srt", would benefit from a video editor (even if there's no real video, just audio) as you described earlier. I may need to call on your srt expertise later. I've been creating the subtitles with 3 windows open - 1- to select and play each .ogg with a minimal Windows player. 2- A view of the AI vocal script (e.g., source view of the Thug wiki entry), to use as a copy/paste starting point. 3 - The .subs file being built in a text editor. So, the FM I described is not used in the first place to create subtitles, but rather to do a second-pass review (e.g. by me) or third-pass review (as part of quality control during incorporation into TDM).
  7. Here's a screen shot of an FM I've been building to help test/review subtitles for an AI, in reproducible order with 100% coverage. It uses the TDM-distributed .ogg files, but has custom soundshaders. Each such soundshader wraps exactly one .ogg file, and has a uniform naming that includes an index number. The collection of soundshaders is housed in a single file. The hope is that that (prior to embedment in the FM) this file can be easily generated from a directory listing of the .ogg files for a particular AI, and subsequent manipulation. There are 3 buttons to step through the file. After each button press, you hear the vocal and see the subtitle. Also, briefly the index number within the list appears (a floating "7" near the statue's shoulder in this screenshot.) You can also - using a custom CVar in the console - jump to a particular index number. Unsurprisingly, you can't edit the subtitle within the FM. Just note what needs changing and do it with a text editor. Also, this FM is not intended to evaluate TDM's stock soundshaders, nor AI lip syncing (so just a statue speaking here.) If you hit the buttons fast enough, multiple sound files play at once, and multiple subtitle fields appear (up to the max of 3 the .gui offers)
  8. The wiki has AI vocal scripts for most but not all characters. I'm guessing the wiki info is derived from early-draft vocal scripts supplied to the voice artists. Looking at the Thug's script, I see "I'd drink horse piss [etc]" There are occasional differences between an .ogg file and it's draft text phrase. Some of that is just the voice artist riffing. Other cases seem to be a more intentional change of plan. For instance, with respect to swearing, "shit" is generally suppressed... "horse shit" became "horse dirt" or "horse filth". "Bloody" became more widely used, probably to make the English more British, less American. I'm about 2/3rds through the Thug translation. Going slow because I'm also working up related tools and style guides. And I don't plan to upload subtitle sets for any AI until after 2.11 is out, presumably Real Soon Now.
  9. @stgatilov, another variation on that theme: to indicate voice location, just have a fixed-size dot that is constrained to travel around the edge of the subtitle field. When the source is behind the player, the dot would be somewhere on the lower edge of the field. Also, thinking about color, that @datiswous brought up: another use would just be just to differentiate the 3 categories of "story", "speech", and eventually "effects". A color tint to the field for each of these makes more sense to me that trying to tie color to particular AI.
  10. Assuming what you're trying to call is tdm_ai_elemental::onDeath() at tdm_ai_monster_elemental.script(141), then probably you should cast to tdm_ai_elemental, not atdm:ai_elemental. The parsing is choking on the ":".
  11. I agree with that assessment... you could probably get a series of slides of timed slides to appear, but it would be more complicated than if the main menu system supported it natively, and adding image flow would be more complicated still.
  12. The idea of using left/right/center justification comes from captioning of pre-recorded material, but as you indicate is problematic for live action where characters move around unpredictably. A horizontal location bar could be implemented as a solid-color rect that is repositioned, I dunno, every 200 ms. The cheap and easy implementation would be just to determine the location from the origin of the source (AI, fixed-speaker, etc.) relative to the viewport. It would be more accurate but much harder to take account of sound propagation pathways. If you wanted to be fancy, you could make the bar get less-wide but more-high (thick) as the source got nearer and visible. I suppose you could even have the bar's vertical location relative to the upper edge of the slot field indicate something about the source's relative vertical location. Probably too fancy, that.
  13. Names that were autogenerated could be recognized and shortened, e.g., "guard #7: " or maybe in parentheses "(guard #7) " as some captioning systems prefer. (The post I copied above has other approaches, where the name text is separate from the caption text, or faces are used.)
  14. COPIED FROM "English Language Subtitles for AI Barks". MORE RELEVANT HERE... @datiswous, I imagine the TDM fonts don't support bold, italics, underline, etc. Maybe just different sizes. I don't think color by itself would be helpful for speaker identification, unless there was a color halo or name tag above each vocalizing AI. Might be useful for word emphasis, though. @stgatilov, if there is location data available to the subtitle code, that could be used in various ways, using a different GUI: 1) Let the 3 slots be either left justified, centered, or right justified, depending on relative speaker location (including off screen). This could be implemented by 9 actual windowDefs (all of same size; 3 each for each current slot, overlaid, with each of the 3 justifications.) Alternatively, with a 3x3 grid, all windowDefs the same size, but 1/3 the current width.) 2) Or instead, at the top edge of each slot, show a short horizontal bar, whose left/right position is moved to be under the relevant AI. If off screen, add an arrow head (<-- or -->). Naming is harder, if the subtitle code can't get at that info. Though at the point the sound engine is passed the sound to render, presumably it knows the speaker, and could independently and in parallel visualize the name information (particularly if the sound engine passed back which GUI slot it was going to use for subtitle.) It is true that associating a name (say, using a small tab-like field) with a slot is less useful when the player doesn't know the AI names (i.e., with no floating names above the characters). If the technical issues of naming could be overcome, then there's still the question of when you'd want to give a name (Rupert) versus type (thug #3) versus generic (speaker #2). Also have to handle special cases of (narrator) and (player). Dreaming... Instead of text names, more fun would be to show a thumbnail face of each AI next to their slot. With a question-mark face when they are off-screen?
  15. @datiswous, I imagine the TDM fonts don't support bold, italics, underline, etc. Maybe just different sizes. I don't think color by itself would be helpful for speaker identification, unless there was a color halo or name tag above each vocalizing AI. Might be useful for word emphasis, though. @stgatilov, if there is location data available to the subtitle code, that could be used in various ways, using a different GUI: 1) Let the 3 slots be either left justified, centered, or right justified, depending on relative speaker location (including off screen). This could be implemented by 9 actual windowDefs (all of same size; 3 each for each current slot, overlaid, with each of the 3 justifications.) Alternatively, with a 3x3 grid, all windowDefs the same size, but 1/3 the current width.) 2) Or instead, at the top edge of each slot, show a short horizontal bar, whose left/right position is moved to be under the relevant AI. If off screen, add an arrow head (<-- or -->). Naming is harder, if the subtitle code can't get at that info. Though at the point the sound engine is passed the sound to render, presumably it knows the speaker, and could independently and in parallel visualize the name information (particularly if the sound engine passed back which GUI slot it was going to use for subtitle.) It is true that associating a name (say, using a small tab-like field) with a slot is less useful when the player doesn't know the AI names (i.e., with no floating names above the characters). If the technical issues of naming could be overcome, then there's still the question of when you'd want to give a name (Rupert) versus type (thug #3) versus generic (speaker #2). Also have to handle special cases of (narrator) and (player). Dreaming... Instead of text names, more fun would be to show a thumbnail face of each AI next to their slot. With a question-mark face when they are off-screen?
  16. Subtitle capabilities available in 2.10/2.11 are described in the wiki "Subtitles". For info about one new project using these capabilities, see the thread "English Subtitles for AI Barks". That project includes development of a TDM subtitle style guide. The thread here is mainly focused on ideas that would require future engine changes to implement. A. Automatic Switching Between Subtitle Languages Based on Settings This is a follow-on of a forum discussion between datiswous and Geep. It is desirable to have a standardized method for: subtitles to be authored in multiple languages, and so packaged and distributed as part of TDM and its FMs a gamer to dynamically select subtitles in a desired language The subtitle language choice might be controlled by the existing TDM language choice within Settings, or a separate "Subtitles Language" setting. B. Other Possible Improvements Requiring Engine Changes Most of these involve allowing the subtitle code to know something about game entities, and convey that to the gamer. Examples of useful knowledge: the ID of the speaker (or other source) the location of the speaker, relative to the player, the player's view, and other speaking AI. This type of information helps to disambiguate when there are multiple voices present. There are lots of ways such info is visually conveyed in other subtitle/caption systems, and might be added to TDM. C. Providing Subtitles for Existing FX These would have the "verbosity effects" subtitle tag. Beyond 2.11 capabilities, some of the location aspects of (B) would be pertinent.
  17. Multiple guards (up to 3) should have their speech appear in separate fields. Within the limitations of 2.10/2.11, my draft guidance for generic barks ("verbosity speech") is never to include AI name info. However, for an FM-specific phrase ("verbosity story") just said by one character, you could include the name or other ID. (I'm still researching if there is a consensus on best-practice format to indicate the name). Beyond 2.11, color is one of many way to go. Reminds me, I was going to set up another thread for that... done. See link to Subtitles - Beyond 2.11 in OP above.
  18. I'm starting with The Thug's barks (appx 400), for which maybe half of the needed subtitles were available on the Thug Vocals wiki page. (These pages are no longer maintained and so mostly obsolete.) I've got a test map suitable for testing a single subtitle, but it doesn't scale for bulk testing. Also looking at existing caption/subtitle style guides.
  19. Introduction A project is underway, led by Geep, to eventually provide English language subtitles (or if you prefer, "closed captions") for all the non-story phrases (e.g., barks) of the stock AI characters. The non-story phrases are identified by the "verbosity speech" subtitle tag. The hope is that these subtitles would be distributed as part of the future TDM 2.12 core and so available to all FMs, both old and new. Since there are 5-10K such phrases in total, this project will take a while. Let me know if you'd like to help. This forum thread can be used for project coordination, and to provide info about - What subtitle sets (e.g., for particular AI) are underway and completed Emerging tools or methods for bulk testing Style guidance for TDM subtitle authors. To support this project, a style guide will be developed as experience accumulates. While motivated by providing some consistency to English speech-tagged subtitles, it may be of some interest to FMers creating story-tagged subtitles, and those subtitling in other TDM-supported languages. Potential improvements to TDM's subtitling system - particularly those that would involve engine/GUI changes - can be discussed in this companion thread: Subtitles - Possibilities Beyond 2.11 Current Status - Subtitles for Barks All TDM vocal sets planned for TDM 2.12 have been delivered. New: Fixup Needed to Run These Under 2.12 Beta 3 The Thug - Update May 6, 2023 released as testSubtitlesThug2 FM. This takes advantage of new 2.12dev features and changes to style guidelines. The Lord - Update May 4, 2023 released as testSubtitlesLord2 FM The Wench - Two postponed April versions - Nov 25, 2023 released as testSubtitlesWenchOriginal and testSubtitlesWenchPatched FMs. Two versions because of Bugtracker 6284. IMPORTANT: See final version at end of this list, released Jan. 14, 2024. The Young Builder (Builder 4) - Update May 30, 2023 released (again) as testSubtitlesYoungBuilder FM. (Corrects error in briefing syntax of original May 17 release.) Average Jack - June 8, 2023 released as testSubtitlesJack FM. The Pro - June 23, 2023 released as testSubtitlesPro FM. The Maiden - July 8, 2023 released as testSubtitlesMaiden FM The Grumbler - July 24, 2023 released as testSubtitlesGrumbler FM The Mature Builder (Builder 3) - August 15, 2023, released as testSubtitlesMatureBuilder FM The Lady (aka Noblewoman) - Sept 9, 2023, released as testSubtitlesLady FM The Moor - Sept 14, 2023, released as testSubtitlesMoor FM The Commander - Sept 30, 2023, released as testSubtitlesCommander FM The Simpleton - Oct. 21, 2023, released as testSubtitlesSimpleton FM Builder 1 & 2 (shared vocal set) - Nov. 8, 2023, released as testSubtitlesBuilder1and2 FM The Critic - Nov. 25, 2023, released as testSubtitlesCritic_FM Manbeast - Dec. 10, 2023, released as testSubtitlesManbeast FM NEW! Lady02 - Dec 21, 2023, released as testSubtitlesLady02 FM. Assisted by datiswous. NEW! The Drunk - Jan 6, 2024, released as testSubtitlesDrunk FM. Assisted by MirceaKitsune. NEW! The Cynic - Jan. 13, 2024, released as testSubtitlesCynic FM. Incorporates early demo subtitles by Dragofer. NEW! The Wench, Final Revision - Jan. 14, 2024, released as testSubtitlesWenchFinal FM . Assisted by Dragofer. See also original May version (released in November) in the list above. All TDM vocal sets planned for TDM 2.12 have been delivered. Thanks, @nbohr1more, for integrating these into the release. All AI vocal sets, including additional ones for future consideration - perhaps as "verbosity effects" - are listed here. Current Status - Utilities buildSubtitleShader.exe - Latest release of April 10, 2023. This program fabricates a TDM sound shader file specifically for the testSubtitles... series of FMs used here. It does so by wrapping each sound file name in a directory into a sound shader with uniform incremental naming. While limited to a single directory, the latest release simplifies merging runs from multiple directories. @datiswous reports that this Windows console program also works under Linux/wine, where it is used with similar "testSubtitle..."-derived FMs for verbosity "story" subtitling. checkDurationsInSRT - May 6, 2023 Update (bug fix) This Win/console program scans a directory for .srt files, examines the subtitles, and warns about those phrases/messages that are potentially too short or too long in time, or that seem to require too high a reading rate, expressed in characters per second. It also looks for within-file subtitle messages that overlap in time. soundDurationsCSV.exe - March 7, 2023 Release This Windows console program scans a directory of sound files, reporting their names and (using pre-installed ffprobe) durations with millisecond resolution. The resulting .csv file can then be imported into a custom Excel spreadsheet for subtitle editing. For more, see also Feb 20th comments . findTooLongSubtitles.exe - Minor update, June 23, 2023 Release This Win/console program scans a directory for .subs and .srt files, checks the length in characters of each subtitle line, and reports those that exceed a specified maximum. analyzeFieldWidth of April 27, 2023 (release not scheduled; too idiosyncratic). Used to determine, for 12pt Carleton font, and a representative sampling of bark subtitles, how many characters might reasonably fit within a given gui field width. Later, parts of this code were used to build calcStringWidth.exe discussed next. calcStringWidth.exe - Oct. 11, 2023 Release. Calculates the display width of an input string, for 4 candidate subtitle fonts Carleton and Stone, uncompressed or 16:9 compressed. statsForSubtitles - June 25, 2023 Release. Starting with The Pro vocal set, this Windows console program automates the gathering and reporting of the basic statistics included with the announcement of every vocal set release in this forum thread. Current Status - Spreadsheets and Related Explanatory Documents, including Workflow and Templates Work by Geep on each vocal set starts with instantiation of a pre-configured Excel spreadsheet. This is used for subtitle editing and to do automatic calculations to help manage constraints and decision making. The announcement of each AI subtitle release here includes a link to the corresponding spreadsheet. At first, the spreadsheet's columns, formats, calculations, and highlighting (and its distillation into template form) would change quite a bit between each AI. As of June, 2023 and AverageJack, it has largely stabilized, and is now documented: June 10 Documents Explaining Workflow and Excel Spreadsheet/Template (for AverageJack) The v5 template was used for vocal sets from June's Average Jack to November's The Critic. Further clarifications are now available: Dec 7 Update of the "Explained" Doc for Spreadsheet Template v5 Subsequent vocal sets, through to 2024's The Cynic, use template v6: NEW! Jan. 10, 2024 "Explained" Doc for Spreadsheet Template v6 Current Status - Style Guide for Barks As of Sept 2, Subtitle Style Guide - Part 1 is now available. NEW! As of Jan 16, 2024: Subtitle Style Guide - Part 2 with more discussion and references. Current Status - Third-Party Tools For editing of "story" SRT files, datsiwous found "kdenlive" particularly helpful [to do: link to how-to below]. Geep has been working with the simpler, audio-only "Cadet" for barks.
  20. I see your point, tho some of what's in the "Potential for translations" section is about current capabilities. But I can drop that separate section and fold the current-capabilities stuff into the "As for translations..." paragraph. I'll start a new forum topic, too. Maybe "Subtitles - Possibilities Beyond 2.11" would be general enough. Edit: wiki page edited, new forum threads started.
  21. I added a few sentences to the Light Switches section of "Relighting Lights" about this workaround.
  22. I just posted a new bugtracker request, for the TDM 2.12 timeframe: 0006240: Create non-story "speech" English subtitle files for stock AI characters If someone's already working on or planning this effort, I can help. Otherwise, it can be assigned to me (and help appreciated, particularly with srt and locating any available AI vocal scripts missing from the wiki).
  23. I didn't see a feature request for this in the 2.12 Roadmap, nor specifically addressed by bug reports returned by a search for "subtitle" and addressed during 2.11 work (namely 2454, 5914, 6197, 6230). An argument could be made to have a new main menu setting for "subtitle language", separate from "[menu] language". This would be more flexible (and more like TV CC), but arguably less convenient. I'm unsure if this is ripe for a request now, or needs a new forum thread to mull implications of possible implementations.
  24. Revised, with the breakout of a new and freshly written section, "Potential for translations".
  25. I agree that the current system would allow any of the TDM-supported languages (English or otherwise) in the subtitle strings. But this would still be a relatively fixed choice of subtitle language (e.g., German instead of English). As you say, a design is needed of how to support making the choice of translation language reflect the settings language. Otherwise, we might end up with "language subtitle packs" for each FM that have to be manually installed/manipulated. I'll revisit that wording tomorrow.
×
×
  • Create New...