ChatdollKit

ChatdollKit enables you to make your 3D model into a chatbot

APACHE-2.0 License

Stars
723
Committers
2
ChatdollKit - v0.4.0

Published by uezo over 2 years ago

🌐 WebGL support 🎉

Now you can create virtual assistants that runs on web browsers!

  • Use UniTask instead of C# standard Task for async/await #156
  • Add support for microphone on WebGL🎤 #157
  • Text-to-Speech on WebGL #158
  • Add support for Watson Text-to-Speech on WebGL #159
  • Add MemoryUserStore #166

Add new super kawaii voices to VOICEVOX

  • Add speakers to Voicevox TTS Loader #165

Female

  • Metan Shikoku: Sweet / Normal / Tsun / Sexy
  • Zundamon: Sweet / Normal / Tsun / Sexy
  • Tsumugi Kasukabe
  • Hau Amehare
  • Ritsu Namine
  • Himari Meimei

Male

  • Takehiro Kurono
  • Kotaro Shirakami
  • Ryusei Aoyama

Other updates

  • Make it possible to indicate voice detecting status #160
  • Allow skill server to update topic name #161
  • Make the size of SimpleMessageWindow relative #164
ChatdollKit - v0.3.4

Published by uezo almost 3 years ago

VOICEVOX support

VOICEVOX is a super ❤️kawaii❤️ Text-to-Speech application by Hiroshiba-san.

  • Support VOICEVOX as a Text-to-Speech engine😍 #146
  • Make Shikoku Metan speak slowly #150

Demo and improvements for developers

We provide the demo that runs without any API keys. Perfectly OOTB.👍 This demo uses VOICEVOX server and Chat server hosted by ChatdollKit project. Please don't use these services for production and follow the rules VOICEVOX project provides. (See the bottom of README)

  • Make CancelWord set from application config to VoiceRequestProvider #148
  • Enable to send request by text instead of voice on inspector #149
  • Add simple chat example that doesn't require API key #151
  • Bring the control buttons top of inspector #152
  • Fix bug that Stop chat button doesn't work when listening voice req #153
  • Add demo that runs out-of-the-box #154

Others

  • Simplify internal application configuration #145
  • Change default format of AzureTTS from WAV to MPEG #147
  • Include unity meta files

Full Changelog: https://github.com/uezo/ChatdollKit/compare/v0.3.2...v0.3.4

ChatdollKit - v0.3.2

Published by uezo almost 3 years ago

Release Highlights

Add Configuration feature✨

  • Load configuration from Resources automatically if config exists
  • Save configuration by Inspector of Main Application (Subclass of ChatdollApplication)
  • Implement OnComponentsReady to apply configuration to your app
  • Implement CreateConfig to save your application settings to config file
  • The configuration file name is same as the value of ApplicationName of Main Application. If empty, the name of game object
  • See MultiSkills examples to learn more about this feature

Update Demo and Examples🙌

  • Change demo 3D model to Tsukuyomi-chan. Thank you so much Yumesaki-san!
  • You can run demo application out-of-the-box. Just set API keys for Azure/Google/Watson speech services.
  • Add Camera and QRCode reader skills to MultiSkills example and demo.
    • Say "写真を撮って" or "QRコードを読み取って" to use these skills.
    • Import ZXing and uncomment some lines in Examples/MultiSkills/Scripts/QRCodeDecoder to use QR Code reader.
    • ZXing: https://github.com/micjahn/ZXing.Net/releases

Other updates

ChatdollKit - v0.3.1

Published by uezo about 3 years ago

Model

  • Fix bug Web/TTSVoiceLoader caches even when request timeouts

Conversation

  • Enable to check whether the topic is available or not
  • Enable to get the list of server-side skills and configure HttpSkillClients for them on application starts

Others

  • Add Out-Of-Box Demo
  • Add editor menu to remove all ChatdollKit components
  • Update and change structure of examples
ChatdollKit - v0.3.0

Published by uezo over 3 years ago

0.3.0 features available🎉 #143

ChatdollKit - v0.2.1

Published by uezo almost 4 years ago

  • Ignore case of WakeWord and CancelWord #140
  • Create and update documents #141
    • Create user manual
    • Update README (Added video)

Visit https://uezo.booth.pm/items/2619190 to download unity packages.
Unity Packageは https://uezo.booth.pm/items/2619190 からダウンロードしてください。

ChatdollKit - v0.2.0

Published by uezo almost 4 years ago

Version 0.2.0 provides you application base classes to create custom app super easily🚀

You can start creating virtual assistant application without coding. Of course you can create rich application by extending application base classes and code as you like.

We provide these application bases:

  • ChatdollApplication: Application that doesn't depend on any specific cloud services
  • AzureApplication: Using Azure Speech Services
  • GoogleApplication: Using Google Cloud Speech Services
  • GateboxApplication: Base for creating Gatebox application. This depends on GateboxSDK so we provide this as a seperated package.

Model

  • Use 3D model name for animator controller as default #131
  • Support Google Text to Speech Service #134

Dialog

  • Enabled to include request message in wakeword (inline request) #122
  • Enable to configure WakeWord on inspector of Application base class #128

Others

  • Enable to switch microphone #121
  • Make it easier to use MessageWindow and ChatdollCamera #129
  • Add vender name to namespace of extensions #139
  • Update examples #139
ChatdollKit - v0.1.13

Published by uezo almost 4 years ago

Model

  • Enable to change face expression while idling #101 #103
  • Enable to change face expression gradually (cross fade) #109
  • Add Description property to Voice #112
  • Make it strict the timeout of downloading voice #113
  • Refactor and improve ModelController #114

Dialog

  • Enable to customize the first step of conversation #102 #104
  • Enable to apply updated user info on server #105
  • Make it easier to add animations, voices and faces to response of dialog #107
  • Enable to handle error status from external components #108

Others

  • Stop voice recorder after getting recorded voice #106
  • Add methods for debug to ActionHistoryRecorder #111
ChatdollKit - v0.1.12

Published by uezo almost 4 years ago

Model

  • Reset viseme after speech #93
  • Change face clip configuration from JSON to Asset #99

Dialog

Others

  • Enable to raise wakeword detection threshold when chatting #95
  • Set false to AudioSource.playOnAwake #96
  • Enable to cancel HTTP request #97
ChatdollKit - v0.1.11

Published by uezo almost 4 years ago

Dialog

  • Add PreProcessor method to DialogProcessor #84
  • Enable to update context data at server side ExtractIntent #85

Model

  • Enable to prefetch and cache TTS/Web voice by default #86
  • Change path to face configuration file to relative path #91

Others

  • Avoid to recognize too long phrase for wakeword #90
ChatdollKit - v0.1.10

Published by uezo about 4 years ago

Dialog

  • Move ExtractIntentAsync from IntentExtractor to DialogRouter #75
  • Move showing waiting animation from DialogRouter to DialogProcessor #80
  • Add waiting animation function to HttpDialogProcessor
  • Change interface of IDialogRouter

Model

  • Set BlinkBlendShapeName automatically #76
  • Trim the name of ShapeKey before evaluating whether it is a key for viseme #77
  • Move setting Web/TTS voice loaders to ModelController #78
  • Set default to Text-to-Speech loaders #81

Others

  • Start WakeWordListener without implementing OnWakeAsync #79
ChatdollKit - v0.1.9

Published by uezo about 4 years ago

  • Enable to configure default settings on inspector of VoiceroidTTS #70
  • Add support loading face clips from file automatically #71
  • Improve usage of WakeWordListener #72
  • Enable to cancel ChatdollCamera and RequestProviders using camera #73
  • Enable to play AnimatedSay from JSON #74
ChatdollKit - v0.1.8

Published by uezo over 4 years ago

  • Fix bug that MessageWindow doesn't close
ChatdollKit - v0.1.7

Published by uezo over 4 years ago

Make it easy to create DialogProcessor #64

  • Add PostFormAsync to ChatdollHttp
  • Add AnimatedVoiceRequest property to Response
  • Create DialogProcessorBase.cs

This is the sample code of EchoDialog.

using System.Threading;
using System.Threading.Tasks;
using ChatdollKit.Dialog;

public class EchoDialog : DialogProcessorBase
{
    public override async Task<Response> ProcessAsync(Request request, Context context, CancellationToken token)
    {
        var response = new Response(request.Id);

        // Echo
        response.AnimatedVoiceRequest.AddVoiceTTS(request.Text);

        return response;
    }
}

Improve usage of Web/TTS VoiceLoader #65

  • Change the way to initialize and register Web/TTS VoiceLoaders
  • Fix bug that TTSpeech engine is not selected properly in prefetching

You don't need to create instances of VoiceLoaders any more. Just append them to 3D model and configure it on inspector.

Note: Set true to IsDefault to use the loader as the Default TTS voice loader.

Add in-memory context store and set it as the default of Chatdoll #66

In many cases user expects that the context is cleared when the application is shutdown.

Make it easy to build app with message window

  • Change namespace of SimpleMessageWindow to ChatdollKit.Dialog #67
  • Add default Start/Finish listening action with SimpleMessageWindow #68

Message window will be automatically shown by setting SimpleMessageWindow to MessageWindow on inspector of subclasses of VoiceRequestProviderBase.
Of course you can also fully customize OnStartListening and OnFinishListening as ever.

ChatdollKit - v0.1.6

Published by uezo over 4 years ago

Add new features Camera and QRCode reader

  • Add QRCodeReader feature to ChatdollCamera #58
  • Add Self-timer feature to ChatdollCamera #59
  • Add CameraRequestProvider and QRCodeRequestProvider #60
  • Delete PhotoRequestProvider.cs #63

Improve conversation

  • Make it possible to fire cancel event by WakeWordListener #61

Improve Text-to-Speech

  • Make it possible to select TTS engine when you add voice #62

Note that this version include a breaking change.

  • Voice: Dictionary<string, string> TTSOptions -> TTSConfiguration TTSConfig
  • The constructor of Voice and argument of some functions around voice in VoiceRequest, AnimatedVoice and AnimatedVoiceRequest
ChatdollKit - v0.1.5

Published by uezo over 4 years ago

Add ChatdollCamera prefab to control camera with UI. 📷
To use this feature, put ChatdollCamera prefab to hierarchy and code like below.

// Get camera
var chatdollCamera = GameObject.Find("ChatdollCamera").GetComponent<ChatdollCamera>();

// Launch camera UI
chatdollCamera.Launch("Take a photo after 3 seconds");

// Wait 3 sec
await Task.Delay(3000);

// Capture and save as a JPEG file
await chatdollCamera.CaptureAsync("/path/to/save.jpg");

// Close camera UI
chatdollCamera.Close();
ChatdollKit - v0.1.4

Published by uezo over 4 years ago

  • Make it extremely easy to setup Animator. Just select Setup Animator then automatically create AnimatorController, add layers, put clips on base or added layers and set the controller to animator.
ChatdollKit - v0.1.3

Published by uezo over 4 years ago

  • Fix the bug that chat process exits without saving context and updating some properties when request is not set
  • Make it possible to change timeout value of ChatdollHttp
ChatdollKit - v0.1.2

Published by uezo over 4 years ago

  • Improve stability of WakeWordListener and VoiceRequestProvider
  • Add support for CancelWord to stop conversation when Chatdoll is waiting for user's voice request
  • Add support for prefetching audio clip of voice from web / Text-to-Speech service
ChatdollKit - v0.1.1

Published by uezo over 4 years ago

  • Support WakeWord
  • Improve voice recording stability