Releases: jason-kane/coh_npc_voices
v3.2.1 - Installation fix
Someone had a problem with installation, which is obviously kind of important. To replicate I deleted the whole directory and re-installed -- and it just worked. Can't reproduce the problem.
So I read through the install process with the error in mind. It can't find pyfiglet which is jumbo weird. I am using some trixy business to make the venv work regardless of the directory it is installed into. Generally speaking you can't pick up a venv and plop it down somewhere else; you create a new one and install whatever is needed inside it.
The trixy stuff starts in win_install.ps1, a powershell script run by the installer to do the python module installations. I think this is where the problem is. It used system python (py on windows) to make a "path.json" file that includes the absolute path of the installation directory. If system python does not exist it probably just fail and keeps trucking.
Longwinded, but I have reason to believe this version with the minor change of using the python inside the venv to create path.json has a chance of resolving the problem. The alternative is to virtualbox a clean windows and try the installation there. PITA. I hope this works.
v3.2
Most of the changes are behind the scenes; the audio effects have been broken out into pluggable modules.
But... there are few user visible changes.
The configuration panel now lets you choose if you want to hear about every defeated enemy. It also lets you decide if you want to hear messages about buffs/debuffs affecting your character.
IMPACT and ARCANE damage sources now report properly on the damage tab
Option to "Randomize" in the voice editor, it will re-spin the wheels and give you a new random voice for the selected character based on the current default engine configuration and any group presets.
TTS Engine configurations are mostly rewritten to use customtkinter widgets. They are still pretty ugly, they work well-enough so I just don't care very much.
Pulled persist player chat out to a configuration toggle. It determines if player speech (tell or team chatter) is recorded to the database and the audio cached. You probably don't want it checked -- it is a poor cost/benefit.
Graph and Damage tab contents can now take the whole screen instead of just the top half.
Added a toggles backend system; it's near trivial to make most features opt-in.
Enjoy. If you have any trouble or have comments/suggestions please make an issue in github or comment on one of the youtube demos (after like/subscribe, obviously ;)
v3.1 Visual Overhaul, openai, azure, damage panel... good stuff
What's Changed
- Customtkinter and a bunch of other stuff by @jason-kane in #12
Full Changelog: v3.0...v3.1
v3.0
- Migrations should start working after this; that will let you upgrade without loosing your accumulated database.
- If there is some kind of database problem just delete voices.db and it should reinitialize itself properly.
- reorganize source tree to facilitate future development
- rewritten database handling; I haven't seen a sqlite locking error in weeks
- consolidated most of the persistence routines; took config out of the database in favor of human readable/editable config.json
- overhaul of the voice editor panel, Everything lines up now.
- dramatically reduced default logging
- extracted high level audio functions (mp3towav, wavtomp3) into lib/audio.py
- consolidated logging config
- stripped each tab from sidekick.py into their own tabs\ files
- new automation tab with auto-hasten and auto-domination toggles. they don't work very well.
- character tab graph is more or less as intended now
- character tab now includes total xp/inf for the current game session
- configuration tab includes a language selector. choose a language other than english and all dialog will be translated before it is voiced.
- pretty logging to console, expected logging to error.log
Full width details, persistent effect settings
What's Changed
Some really nice fixes/improvements here.
- 'Delete' button used to remove a voice or effect is now a trash can instead of an 'X'
- Voice Detail frame contents now take the whole width instead of leaving an annoying variable padding on the right side
- Editing effect parameters now sticks correctly
- Gradual performance degradation as effects are added/removed should be fixed
- WAV temp file used as part of Windows TTS support eliminated (done in-memory now)
Full Changelog: v2.0.0...v2.1.0
Major release
This isn't totally rock solid yet, but it's so much better than the previous release I didn't want to wait to work out every edge case.
The next focus will be on stability and simplifying the installation process for the current engines. It is at best wildly inconsistent.
Full Changelog: v1.2.3...v2.0.0
Configuration Panel
Some solid bug fixes in here, new feature is a top level panel for configuration. I'll gradually move more of the internal toggles out to it. For now it lets you decide what the default engine should be for both NPC and Player voices and lets you normalize them by default to get a consistent voice volume across multiple sources.
Default is still to use free local Windows TTS. Quality isn't very good but the price is right.
Unicode doesn't make it barf
If you're seeing:
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 4048: character maps to
then this upgrade is for you. :)
Sorry about that
Not sure what I did wrong there, but that windows installer was a broken earlier version. The only problem was the actual link to start the program, but that is a bit critical. So new release.
Windows Installer
What's Changed
Lots of great changes. ElevenLabs voices are supported (add a file named eleven_labs.key with your api key) and they sound amazing. There is now a Windows Installer w/Desktop icon. Tons and tons of issues resolved. Presets so when a new enemy with a known group talks it can default to a more interesting voice. A dump of all NPCs is baked in so we also get the voice gender in many cases.
I need to redo some of the README, it is pretty stale in places.
- Sqlalchemy by @jason-kane in #5
Full Changelog: v1.1.0...v1.2.0