TextToTalk
TextToTalk copied to clipboard
ElevenLabs support?
Less an issue, more a question to see if Eleven Labs might receive support at any point. I'm already paying for it, so it's hard to want to use any other API key, but also totally understand if that's out of scope or unreasonable.
Reopening and linking to https://github.com/karashiiro/TextToTalk/discussions/153
Is there any updates on this? It seems that the backend code is already on the master branch but the feature is still unavailable in-game.
It's on the testing version, I haven't pushed feature updates to the stable version for a while because of a config upgrade issue.
Thanks Karashiiro! It works amazingly well, but it absolutely destroys my quota. Could we get a caching system built in? The way I'd imagine it works is simply in the filesystem, with 1 folder per NPC. Then every unvoiced text dialog is hashed and the generated voice-line is saved in the folder as <dialog-hash>.mp3
.
This way people could generate and save locally, then simply zip up the folder and share hundreds of generated voice lines with others, without the hassle of caching servers, bandwidth costs, or god forbid any legal issues that pop up with AI voices in the future.
I'm so sorry but I keep getting an error when I try to enable the test version of the plugin:
2023-10-10 21:31:15.894 -07:00 [ERR] [LOCALPLUGIN] Error while loading TextToTalk
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.IO.FileLoadException: Could not load file or assembly 'System.Net.Http, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Invalid parameter. (0x80070057 (E_INVALIDARG))
File name: 'System.Net.Http, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
---> System.ArgumentException: Invalid parameter. (0x80070057 (E_INVALIDARG))
at TextToTalk.TextToTalk..ctor(DalamudPluginInterface pi, IKeyState keyState, IChatGui chat, IFramework framework, IClientState clientState, IGameGui gui, IDataManager data, IObjectTable objects, ICondition condition, ICommandManager commandManager, ISigScanner sigScanner, IGameInteropProvider gameInterop)
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.ConstructorInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.ConstructorInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
at System.Reflection.RuntimeConstructorInfo.InvokeWithManyArguments(RuntimeConstructorInfo ci, Int32 argCount, Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at Dalamud.IoC.Internal.ServiceContainer.CreateAsync(Type objectType, Object[] scopedObjects, IServiceScope scope) in C:\goatsoft\companysecrets\dalamud\IoC\Internal\ServiceContainer.cs:line 144
at Dalamud.Plugin.Internal.Types.LocalPlugin.LoadAsync(PluginLoadReason reason, Boolean reloading) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\Types\LocalPlugin.cs:line 426
at Dalamud.Plugin.Internal.PluginManager.LoadPluginAsync(FileInfo dllFile, LocalPluginManifest manifest, PluginLoadReason reason, Boolean isDev, Boolean isBoot, Boolean doNotLoad) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\PluginManager.cs:line 1382
2023-10-10 21:31:15.938 -07:00 [INF] [PLUGINM] Regular plugin failed to load, adding anyways: TextToTalk.dll
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.IO.FileLoadException: Could not load file or assembly 'System.Net.Http, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Invalid parameter. (0x80070057 (E_INVALIDARG))
File name: 'System.Net.Http, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
---> System.ArgumentException: Invalid parameter. (0x80070057 (E_INVALIDARG))
at TextToTalk.TextToTalk..ctor(DalamudPluginInterface pi, IKeyState keyState, IChatGui chat, IFramework framework, IClientState clientState, IGameGui gui, IDataManager data, IObjectTable objects, ICondition condition, ICommandManager commandManager, ISigScanner sigScanner, IGameInteropProvider gameInterop)
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.ConstructorInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.ConstructorInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
at System.Reflection.RuntimeConstructorInfo.InvokeWithManyArguments(RuntimeConstructorInfo ci, Int32 argCount, Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at Dalamud.IoC.Internal.ServiceContainer.CreateAsync(Type objectType, Object[] scopedObjects, IServiceScope scope) in C:\goatsoft\companysecrets\dalamud\IoC\Internal\ServiceContainer.cs:line 144
at Dalamud.Plugin.Internal.Types.LocalPlugin.LoadAsync(PluginLoadReason reason, Boolean reloading) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\Types\LocalPlugin.cs:line 426
at Dalamud.Plugin.Internal.PluginManager.LoadPluginAsync(FileInfo dllFile, LocalPluginManifest manifest, PluginLoadReason reason, Boolean isDev, Boolean isBoot, Boolean doNotLoad) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\PluginManager.cs:line 1382