GPT-Subtrans Changelog

What's new in GPT-Subtrans 0.7.7

May 20, 2024
  • Fixes an issue where context (e.g. the list of names) was not being passed to the translator.
  • Added new Whisper-Experimental instructions, based on the new default instructions, with additional cues that the AI should attempt to identify and fix transcription errors in the source. May make things better, may make things worse - let's find out :-)

New in GPT-Subtrans 0.7.6 (May 20, 2024)

  • The default instructions have been updated for this release - the first significant revision in quite a while, done with some advice from Claude. The new instructions significantly reduce the error rate with Gemini (fewer unreadable responses or summaries getting merged with translations), and with larger batches for all models.
  • They also work surprisingly well when the source subtitles contain OCR or transcription errors, so consider using them instead of the custom (OCR errors) or (Whispered) instructions.
  • The previous default instructions can still be found as instructions (legacy) in case you run into problems - please open an issue or comment in the discussions if you find that the new instructions are producing errors or worse results.
  • Additionally, lines which are empty in the translation are now shown differently to lines that were not translated - this is particularly useful when using "remove filler words", as Whisper often produces lines that are just something like "Eh?" that should not be subtitled.
  • The simple batcher has been removed - I think the "new" batcher has proven its reliability, I haven't ever felt the need to use the old batcher since it was implemented.
  • Some additional bug fixes:
  • Occasional crashes in the new project settings dialog should finally be fixed
  • Fixed project settings being copied across from the open project when starting a new project.
  • Fixed target language being blank in the new project settings dialog

New in GPT-Subtrans 0.7.5 (May 18, 2024)

  • Very minor update, possibly improves stability for the new project settings dialog in some cases, and includes new (experimental) instructions

New in GPT-Subtrans 0.7.4 (May 13, 2024)

  • Remember last used directory

New in GPT-Subtrans 0.7.2 (May 12, 2024)

  • Pre/post process option to ensure that punctuation in Asian script that doesn't use whitespace is full-width, ensuring that it works with line breaks/splits.
  • Update batcher preview on a background thread in the new project settings dialog.
  • A few other bug-fixes.

New in GPT-Subtrans 0.7.1 (May 7, 2024)

  • Option to remove filler words such as err, umm, ah in pre- or post-processing steps. Attempts to leave sensible punctuation and capitalization after removing the filler words.
  • Also includes custom Chinese to English instructions.

New in GPT-Subtrans 0.7.0 (May 7, 2024)

  • What's Changed:
  • Added Auto mode for substitutions by @machinewrapped in #166
  • Post process translation by @machinewrapped in #168

New in GPT-Subtrans 0.6.9 (Apr 21, 2024)

  • Split long lines. Attempt to break long lines by splitting at newlines or punctuation, setting the duration of the split sections proportional to their length.
  • Attempt to identify dialog markers indicating a change of speaker that are on the same line (common in Chinese subtitles) and add line breaks
  • Attempt to ensure that if any lines begin with a dialog marker then all lines do

New in GPT-Subtrans 0.6.8 (Apr 16, 2024)

  • Fixed the regular expression for extracting lines from a translation so that it handles body text with a # character in correctly.
  • This release has very little user-facing changes but a lot of maintenance under the hood, so please raise an issue if you encounter new and undesirable behaviour.

New in GPT-Subtrans 0.6.7 (Apr 7, 2024)

  • his version adds a new translation provider, Local Server. It is intended for use with locally hosted AI models, e.g. LM Studio.
  • Do not expect great results using locally hosted models, the small, quantized models you can find on hugging face and run on consumer hardware are much less capable and prone to errors than the large models hosted by OpenAI, Google etc. They are also comparatively slow. Please report your results, good and bad, in the discussions section to help the community figure out what is possible and what to avoid.
  • The provider uses the httpx library to make requests so it has no additional dependencies. You must specify the server's address (e.g. http://localhost:1234) and the endpoint to use (e.g. /v1/chat/completions). If the endpoint offers a "chat" style interface you should enable "Supports Conversation", and if it allows instructions to be sent as a "system" user you should enable "Support System Messages". Otherwise it is assumed to be a completion endpoint and the prompt will be constructed as a script that needs completing.
  • The prompt can be customised using a template, which may be useful if the model is trained to expect a specific format. The options are limited though, and you will need to modify code if you need to interface with a model that has more specific requirements.
  • Although the provider is intended to be used with locally hosted models it will work with any server that offers an OpenAI compatible endpoint, including OpenAI's own. Optional parameters for an API key and model are provided in case they are needed.

New in GPT-Subtrans 0.6.5 (Apr 1, 2024)

  • Azure OpenAI as provider by @IlmariKu in #145
  • Exception-free abort by @machinewrapped in #151
  • Replaced TranslateBatches with TranslateBatch by @machinewrapped in #152

New in GPT-Subtrans 0.6.4 (Mar 20, 2024)

  • Provisional support for Claude by @machinewrapped in #143
  • Provisional support for OpenAI Azure by @IlmariKu
  • Implemented a provider cache by @machinewrapped in #142
  • Fixed "Translate Selection" pointlessly translating batches with no selected lines
  • Fix for lines with an empty translation stealing the following line's Original>...Translation> text (mainly for Gemini, the other models typically desync instead)
  • Fix for merging selecting lines in the GUI
  • Speculative fix for random GUI crashes

New in GPT-Subtrans 0.6.3 (Mar 8, 2024)

  • Full text of batch prompt and response can now be viewed by double-clicking the batch (newly translated projects only)
  • Fixed temperature and rate limit settings for all providers
  • Maximum summary length setting (default 240 characters)
  • Validation of Gemini responses to handle failed requests
  • Try to reestablish Gemini connection if it drops
  • Reworked error handling/retry flow

New in GPT-Subtrans 0.6.2 (Mar 7, 2024)

  • Fixed a bug which caused provider temperature and rate limit settings to revert to their default values.
  • Making support for Google Gemini official, with the caveats about region restrictions mentioned in pre-release version 0.6.1

New in GPT-Subtrans 0.6.1 (Mar 4, 2024)

  • This release adds Google Gemini as a translation provider.
  • Please note that the Gemini API can only be accessed from IP addresses in certain geographic regions at the moment: https://ai.google.dev/available_regions
  • To use Gemini as a translator you will need an API key. I believe there is a simplified procedure for getting one at https://ai.google.dev/ if you are in a supported region. Alternatively you can set up a project on https://console.cloud.google.com/ and generate an API key. You must ensure that Generative AI is enabled for the project and the key.
  • Google have only exposed the Gemini 1.0 Pro model via the API at the moment, though you can sign on to a waiting list to access to the new 1.5 Pro. In my tests Gemini 1.0 Pro is comparable to or perhaps a little better than the latest GPT 3.5 model from OpenAI when it comes to subtitle translation, and is basically free to use for this purpose (https://ai.google.dev/pricing).
  • This will be a pre-release/beta version to encourage testing and exploration. Please drop a note in discussions if you are able to use Gemini and let us know how your experience was, or create an issue if you encounter any problems (other than Gemini not being available in your region).
  • Note that the readme and the wiki have been thoroughly revised to reflect the changes in v0.6, so if you have any questions it is probably worth checking those to see if they're addressed there.

New in GPT-Subtrans 0.6.0 (Mar 2, 2024)

  • Translation providers by @machinewrapped in #128

New in GPT-Subtrans 0.5.9 (Feb 26, 2024)

  • The model used for a project was removed from the project file as a temporary measure in a previous release, so it was not persisted when the project. This release restores it to the project file, and moves it into the top-level project settings (the side panel). It's a bit of a hack to patch the crack until I get a multi-provider version working.
  • Additionally, the filename for translated subtitles will now add the target language instead of the "-GPT" suffix, e.g. MySubtitles.English.srt.
  • Also fixed some bugs:
  • Fixed overlapping scene and batch widgets in the project tree
  • Fixed cropped subtitles after translation if the translation has more lines than the source
  • Fixed not knowing where to write the translated subtitles in some circumstances

New in GPT-Subtrans 0.5.8 (Feb 11, 2024)

  • This version contains a substantial visual overhaul. Original and translated text are now consolidated into a unified widget so that they are always aligned even when only part of the text is translated. Each line now shows the length of the subtitle and the length of the gap before it.
  • A footer has been added to each scene and batch showing how many lines have been translated. Additionally, individual lines can now be (re)translated by selecting them and using the "Translate Selection" button.
  • Spacing and margins have been tweaked for visual cohesion and better use of space. Dark mode has new colours.

New in GPT-Subtrans 0.5.5 (Feb 9, 2024)

  • This release fixes a bug introduced in the previous release which caused the generic translation prompt to be overwritten with a pre-processed prompt on translation, and saved in the project/settings.
  • The movie name and language tags should only be populated when the prompt is sent to the translator, and never saved.

New in GPT-Subtrans 0.5.4 (Feb 6, 2024)

  • Added the option to copy project-specific settings, including translator instructions, from another project file.
  • I have removed the "gpt_model" setting from project-specific settings, to make things simpler. The translator will always use the global setting now instead. It may come back in future, since saving the model to use on a per-project basis does make sense.
  • As a result, the "Translator Settings" button is now "Edit Instructions", since that is its only remaining function.
  • Added a fix to make sure the path for the log file exists before trying to write to it
  • Fix for dark mode drop-downs on Windows (yes, that means they're broken on Mac again, but in a more usable way)

New in GPT-Subtrans 0.5.4 Pre-release (Feb 2, 2024)

  • Added the option to copy project-specific settings, including translator instructions, from another project file.
  • I have removed the "gpt_model" setting from project-specific settings, to make things simpler. The translator will always use the global setting now instead. It may come back in future, since saving the model to use on a per-project basis does make sense.
  • As a result, the "Translator Settings" button is now "Edit Instructions", since that is its only remaining function.

New in GPT-Subtrans 0.5.3 (Feb 1, 2024)

  • Instruction files are now loaded as a resource file, which means the packaged builds can find them again.
  • The prompt is now automatically updated from the selected instruction file when it changes.
  • A --debug command line option has been added to the GUI to write full debug logs to the log file.
  • Fixed parsing blank lines in the "substitutions" section of project settings.

New in GPT-Subtrans 0.5.2 Pre-release (Jan 1, 2024)

  • Replaced the characters section in project options with a more generic names, and adapted the instructions and prompt generation to reflect the change. Characters in older project files should be transferred to the names section automatically.
  • Note that the base gpt3.5-turbo models are likely to ignore the provided names completely, but the turbo-instruct models are somewhat better at recognizing when to use them, and gpt-4 will probably use them correctly and consistently.

New in GPT-Subtrans 0.5.1 (Dec 29, 2023)

  • Updated instructions files
  • In-app editor for retry instructions
  • Retain the starting line number for subtitles in the translation
  • Don't reindex subtitles when writing the output, to avoid dropping subtitles with overlapping timecodes
  • Fix for Merge Batches after Merge Scenes

New in GPT-Subtrans 0.5.0 (Dec 9, 2023)

  • Added support for the gpt-instruct models, though I'm not currently recommending their usage. The quality of translation is comparable to the chat models- sometimes a little better, sometimes a little worse in my tests. However the instruct models only support the 4K token window of earlier gpt3.5 models (approx. 40 lines per batch) and have a higher per-token cost, so I think that for most users gpt-3.5-turbo-16k with a maximum batch size of about 100 lines will be more efficient and just as good.
  • The main purpose of the exercise was to refactor the code base to support different translation clients, which opens the door to supporting other models and platforms.
  • This release also contains a fix for error handling in the updated OpenAI APIs in the case of connection errors (this may solve some of the crashes people have reported), and closing the connection to the server when stopping or quitting so that it doesn't have to wait for any active requests to complete before it can exit.

New in GPT-Subtrans 0.4.7 (Nov 27, 2023)

  • Updated OpenAI and PySide6 libraries to latest versions, and updated PyInstaller to get compatibility updates.
  • Please delete any existing installs or unzipping to a different folder, as PyInstaller has made changes to the file & folder structure so unzipping over an existing install will create duplicates (and a mess).
  • Hopefully this will fix the "openai does not contain OpenAI" errors, and the MacOS package problems.
  • Also includes some little bug fixes:
  • Batch errors are no longer cleared by retranslation, unless the retranslation fixed the error
  • Added missing close tag in prompts

New in GPT-Subtrans 0.4.6 (Nov 27, 2023)

  • Updated the code to be compatible with the latest version of OpenAI's Python integration library, plus various bug fixes and UI improvements.

New in GPT-Subtrans 0.4.6 Pre-release (Nov 8, 2023)

  • Updated the code to be compatible with the latest version of OpenAI's Python integration library, plus various bug fixes and UI improvements.
  • Hopefully I will be able to get builds that work for both PC and MacOS for this release!

New in GPT-Subtrans 0.4.5 Pre-release (Nov 5, 2023)

  • A minor release to collect together the latest bug fixes and library updates.

New in GPT-Subtrans 0.4.4 (Nov 1, 2023)

  • Speculative fix for reported segmentation fault errors on Mac OS - make sure all updates to the ViewModel happen on the main thread so that there is (hopefully) no risk of Qt updating the view whilst the ViewModel is being modified.
  • made some adjustments to the layout to try to get the original and translated text to line up better (Qt is unpredictable but this seems to help)
  • some fallback patterns to try to match more malformed responses from GPT
  • Apologies for the belated Windows version for this release, MalwareBytes was erroneously flagging packages generated with PyInstaller as malware.

New in GPT-Subtrans 0.4.3 (Sep 2, 2023)

  • Optimised the abstract view model for the subtitles, reducing the time to create or update the view for a fully translated 2000 line project by over 90%. This was the primary cause of stalls on the main thread, so the GUI should be a lot more responsive now.

New in GPT-Subtrans 0.4.2 (Aug 30, 2023)

  • Fixes a couple of issues with retry requests:
  • Failure to initialise retry instructions resulting in an invalid API request with None content
  • Failure to handle the case where no lines were extracted from the original translation at all

New in GPT-Subtrans 0.4.1 (Aug 28, 2023)

  • This release introduces a new subtitle batcher that tries to divide large scenes up more intelligently by taking gap length into account. This usually results in fewer, larger batches but it can sometimes have the opposite effect - hopefully they're always "better" batches though. The old batcher can be enabled in the New Project dialog to compare the results.
  • This release also features a better separation between global settings and project options - changing one no longer affects the other, which should lead to fewer surprises.
  • Additionally, instructions are no longer reloaded automatically from the instruction file for existing projects, they must be loaded or edited manually from the project GPT settings to update them.

New in GPT-Subtrans 0.4.0 (Aug 15, 2023)

  • Nothing useful added in this release, but it's a step towards v1.0.0!

New in GPT-Subtrans 0.3.3 (Jul 23, 2023)

  • What's Changed:
  • Add OpenAI API base URL option to installation script by @eMUQI in #57
  • Option to include original text in translated subtitles by @machinewrapped in #59

New in GPT-Subtrans 0.3.2 (Jul 19, 2023)

  • Fixed a bug with the First Run Options dialog, added a couple of extra options, and rewrote it to be more consistent with the other settings dialogs.

New in GPT-Subtrans 0.3.1 (Jul 18, 2023)

  • Option to set a custom API base (thanks to @cddqssc )
  • Handle failure to retrieve available GPT model list more gracefully.

New in GPT-Subtrans 0.3.0 (Jul 9, 2023)

  • This is a semi-major release, integrating a long-forked branch that adds commands to split scenes and batches, which required an overhaul of how the ViewModel is constructed for the GUI. This should improve stability, though there are still some rough edges.
  • I have also updated the OpenAI library to add support for GPT4, if you have an api_key on a paid plan. Be aware that translating with GPT4 costs approximately ten times as much as using GPT3.5, for only marginally better results (as such, it is not the default).
  • There is now a settings dialog when starting a new project (by loading an SRT file without one) to set batching parameters, with a preview of the results.
  • I have also changed the synopsis argument to description, to discourage GPT from over-reaching in its from scene and batch summaries.
  • There are many other nips & tucks to improve usability, particularly for Dark Mode users on a Mac.

New in GPT-Subtrans 0.2.6 (Jun 14, 2023)

  • A very minor release that increases the maximum value for batch sizes in the GUI, to take advantage of OpenAI's new gpt-3.5-turbo-16k model.
  • Also, all subtitles are now displayed by default if no scenes or batches are selected, e.g. when a file is first opened.

New in GPT-Subtrans 0.2.5 (Jun 12, 2023)

  • Changed translated file suffix to -GPT, since it's not really ChatGPT we're using as a translator, but the base model.
  • Increased the default batch size and threshold, since desyncs seem to be much less of a problem now
  • Fix for partial matches in project options
  • Handle blank subtitles in input file (please try to avoid it anyway)
  • Tweaked context summary format and instructions to get better, less imaginative batch & scene summaries
  • Use a better default if movie name is not explicitly specified (thanks @AChangAZha)
  • Trying normalizing newlines when opening subtitle/project files (speculative fix for a Linux issue)