internal void CreateEngine(SpeechController speechController, string source) { _speechController = speechController; _cultureInfo = LanguageSelector.GetVoice(source); // listen in source language (speech limitation) _speechRecognitionEngine = new SpeechRecognitionEngine(_cultureInfo); }
public static void RecordMode(string libraryName, string text, string outputFilename) { SoundRecorder recorder = new SoundRecorder(outputFilename); recorder.PostWait = 300; var engines = SpeechController.GetAllSpeechEngine(); var engine = SpeechController.GetInstance(libraryName); if (engine == null) { Console.WriteLine($"{libraryName} を起動できませんでした。"); return; } engine.Activate(); engine.Finished += (s, a) => { Task t = recorder.Stop(); t.Wait(); finished = true; engine.Dispose(); }; recorder.Start(); engine.Play(text); }
/// <summary> /// Text-to-speech. /// </summary> /// <param name="text">Text.</param> /// <returns>Task.</returns> public async Task Speak(string text) { _speechCancellationSource = new CancellationTokenSource(); var options = await SpeechController.GetSettings(); await TextToSpeech.SpeakAsync(text, options, _speechCancellationSource.Token); }
public async Task RegisterSpeechWithValidModelStateReturnOk() { //Arrange RegisterSpeechCommandMessage registerSpeechCommandMessage = null; var moq = new Mock <IRegisterSpeechUseCase>(); moq.Setup(x => x.Handle(It.IsAny <RegisterSpeechCommandMessage>())) .Returns(Task.CompletedTask) .Callback <RegisterSpeechCommandMessage>(x => registerSpeechCommandMessage = x); var speechForCreationDto = new SpeechForCreationDto { Title = "is simply dummy text of the printing", Description = @"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged", Type = "1", Url = "http://myjpg.jpg", }; var sut = new SpeechController(moq.Object); //Act IActionResult result = await sut.Post(speechForCreationDto); //Assert Assert.IsType <OkResult>(result); moq.Verify(x => x.Handle(It.IsAny <RegisterSpeechCommandMessage>()), Times.Once); Assert.Equal(speechForCreationDto.Title, registerSpeechCommandMessage.Title); Assert.Equal(speechForCreationDto.Description, registerSpeechCommandMessage.Description); Assert.Equal(speechForCreationDto.Type, registerSpeechCommandMessage.Type); Assert.Equal(speechForCreationDto.Url, registerSpeechCommandMessage.Url); }
public async Task DeleteSpeechWithValidModelStateReturnOk() { //Arrange DeleteSpeechCommandMessage deleteSpeechCommandMessage = null; var moqDeleteSpeechUseCase = new Mock <IDeleteSpeechUseCase>(); moqDeleteSpeechUseCase.Setup(x => x.Handle(It.IsAny <DeleteSpeechCommandMessage>())) .Returns(Task.CompletedTask) .Callback <DeleteSpeechCommandMessage>(x => deleteSpeechCommandMessage = x); var speechForDeleteDto = new SpeechForDeleteDto { Id = Guid.NewGuid(), Version = 1 }; var sut = new SpeechController(It.IsAny <ICreateSpeechUseCase>(), It.IsAny <IUpdateSpeechUseCase>(), moqDeleteSpeechUseCase.Object); //Act IActionResult result = await sut.Delete(speechForDeleteDto); //Assert Assert.IsType <OkResult>(result); moqDeleteSpeechUseCase.Verify(x => x.Handle(It.IsAny <DeleteSpeechCommandMessage>()), Times.Once); Assert.Equal(speechForDeleteDto.Id, deleteSpeechCommandMessage.SpeechId); Assert.Equal(speechForDeleteDto.Version, deleteSpeechCommandMessage.OriginalVersion); }
private void Start() { controller = Instantiate(talkCanavas).GetComponent <SpeechController>(); controller.SpeechAsset = speechAsset; controller.ShowContract = shouldShowContract; controller.Speaker = gameObject; }
IEnumerator Startup() { ViewController.GetInstance().Initialize(ViewAnchorRef.transform); UserDataController.GetInstance().Initialize(); while (UserDataController.GetInstance().ContactsUsers == null) { yield return(null); } SoundManager.GetInstance(); yield return(new WaitForSeconds(.1f)); StartCoroutine(NetworkController.GetInstance().Connect()); SpeechController.GetInstance().Initialize(); PhotoController.GetInstance().Initialize(); CheatController.GetInstance().Initialize(ViewAnchorRef.transform); ContactsList cl = ViewController.GetInstance().CurrentView.GetComponent <ContactsList>(); cl.Initialize(); //Initiate The Singletons //Transaction<List<TcgCard>> t = new Transaction<List<TcgCard>>(); }
void Start() { _interactionController = GetComponentInChildren <IInteractionTriggerController>(); _speechController = GetComponentInChildren <SpeechController>(); _interactionController.OnInteract += OnInteractHandler; _interactionController.OnStopInteraction += OnStopInteractionHandler; _speechController.OnScrollEnd += OnScrollEndHandler; }
private static string[] GetLibraryName() { var engines = SpeechController.GetVoiceroid2SpeechEngine(); var names = from c in engines select c.LibraryName; return(names.ToArray()); }
public static SpeechController GetInstance() { if (null == speechController) { speechController = new GameObject("SpeechController").AddComponent <SpeechController>(); } return(speechController); }
private static string[] GetLibraryName() { var engines = SpeechController.GetAllSpeechEngine(); var names = from c in engines select $"{c.LibraryName} [{c.EngineName}]"; return(names.ToArray()); }
protected virtual void Start() { anim = GetComponent <Animator>(); player = GameObject.FindGameObjectWithTag("Player"); speech = GetComponent <SpeechController>(); spr = GetComponent <SpriteRenderer>(); }
protected override void Awake() { base.Awake(); _speechController = GetComponent <SpeechController>(); _controller = GetComponent <CommonTalkingCharacterController>(); _speechController.OnVisibilityChange += OnVisibilityChangeHandler; }
private static string[] GetLibraryName() { var engines = SpeechController.GetAllSpeechEngine(); var names = from c in engines where Environment.Is64BitProcess == c.Is64BitProcess select $"{c.LibraryName} [{c.EngineName}]"; return(names.ToArray()); }
private void Play() { var item = Items.Dequeue(); var text = GetArticle(item); engine = SpeechController.GetInstance(LibraryName); engine.Activate(); engine.Finished += Engine_Finished; IsPlaying = true; engine.Play(text); }
private static void InteractiveMode() { // 利用可能な音声合成エンジンを列挙 // Windows 10 (x64) 上での VOICEROID+, VOICEROID2, SAPI5 に対応 // CeVIO(SAPI5) は Windows 10 (x64) では動作しないため表示されません Console.WriteLine("* 利用可能な音声合成エンジン *\r\n"); Console.WriteLine("LibraryName,EngineName,EnginePath"); var engines = SpeechController.GetAllSpeechEngine(); foreach (var c in engines) { Console.WriteLine($"{c.LibraryName},{c.EngineName},{c.EnginePath}"); } // ライブラリ名を入力(c.LibraryName列) Console.Write("\r\nLibraryName> "); name = Console.ReadLine().Trim(); // 対象となるライブラリを実行 var engine = SpeechController.GetInstance(name); if (engine == null) { Console.WriteLine($"{name} を起動できませんでした。"); Console.ReadKey(); return; } // 設定した音声の再生が終了したときに呼び出される処理を設定 engine.Finished += Engine_Finished; // 音声合成エンジンを起動 engine.Activate(); string message = $"音声合成エンジン {engine.Info.EngineName}、{engine.Info.LibraryName}を起動しました。"; engine.Play(message); // 音声再生は非同期実行される Console.WriteLine(message); engine.SetVolume(1.0f); string line = ""; while (true) { line = Console.ReadLine(); if (line.Trim() == "") { engine.Dispose(); return; } engine.Stop(); // 喋っている途中に文字が入力されたら再生をストップ engine.Play(line); // 音声再生は非同期実行される Console.WriteLine($"Volume: {engine.GetVolume()}, Speed: {engine.GetSpeed()}, Pitch: {engine.GetPitch()}, PitchRange: {engine.GetPitchRange()}"); } }
private void Awake() { stats = GetComponent <StatsController>(); speech = stats.GetComponentInChildren <SpeechController>(); stats.endSpell.AddListener(OnCancel); pc = GetComponent <PlayerController>(); //temporary, spelruntime shouldnt reference player controller gm = GameObject.Find("GameManager").GetComponent <GameManager>(); #if !UNITY_EDITOR && UNITY_WEBGL WebGLInput.captureAllKeyboardInput = false; #endif }
private static void InteractiveMode() { ShowVerbose(); // ライブラリ名を入力(c.LibraryName列) Console.Write("\r\nLibraryName> "); name = Console.ReadLine().Trim(); // 対象となるライブラリを実行 var engine = SpeechController.GetInstance(name); if (engine == null) { Console.WriteLine($"{name} を起動できませんでした。"); Console.ReadKey(); return; } // 設定した音声の再生が終了したときに呼び出される処理を設定 engine.Finished += Engine_Finished; // 音声合成エンジンを起動 engine.Activate(); engine.SetVolume(1.0f); engine.SetPitch(1.0f); engine.SetSpeed(1.0f); engine.SetPitchRange(1.0f); string message = $"音声合成エンジン {engine.Info.EngineName}、{engine.Info.LibraryName}を起動しました。"; engine.Play(message); // 音声再生は非同期実行される Console.WriteLine(message); string line = ""; while (true) { line = Console.ReadLine(); if (line.Trim() == "") { engine.Dispose(); return; } try { engine.Stop(); // 喋っている途中に文字が入力されたら再生をストップ engine.Play(line); // 音声再生は非同期実行される Console.WriteLine($"Volume: {engine.GetVolume()}, Speed: {engine.GetSpeed()}, Pitch: {engine.GetPitch()}, PitchRange: {engine.GetPitchRange()}"); }catch (Exception ex) { Console.WriteLine(ex.Message); } } }
public async Task RegisterSpeechWithInvalidModelStateReturnBadRequest() { //Arrange var moq = new Mock <IRegisterSpeechUseCase>(); var sut = new SpeechController(moq.Object); sut.ModelState.AddModelError("x", "Invalid ModelState"); //Act IActionResult result = await sut.Post(It.IsAny <SpeechForCreationDto>()); //Assert Assert.IsType <BadRequestObjectResult>(result); }
private static void WhisperMode(string libraryName, string text) { string tempFile = "normal.wav"; string whisperFile = "whisper.wav"; var engines = SpeechController.GetVoiceroid2SpeechEngine(); var engine = SpeechController.GetVoiceroid2Instance(libraryName); if (engine == null) { Console.WriteLine($"{libraryName} を起動できませんでした。"); return; } engine.Activate(); SoundRecorder recorder = new SoundRecorder(tempFile); { recorder.PostWait = 300; engine.Finished += (s, a) => { finished = true; }; recorder.Start(); engine.Play(text); } while (!finished) { Thread.Sleep(100); } engine.Dispose(); Task t = recorder.Stop(); t.Wait(); // ささやき声に変換 Whisper whisper = new Whisper(); Wave wave = new Wave(); wave.Read(tempFile); whisper.Convert(wave); wave.Write(whisperFile, wave.Data); //// 変換した音声を再生 SoundPlayer sp = new SoundPlayer(); sp.Play(whisperFile); }
private void SetTTSEnginesToComboBox() { var engines = SpeechController.GetAllSpeechEngine().Select(x => $"{ x.LibraryName}").ToList(); if (engines.Count() == 0) { MessageBox.Show("使用可能な音声合成ソフトウェアがインストールされていません"); Environment.Exit(1); return; } comboBoxSelectTTS.ItemsSource = engines; comboBoxSelectTTS.Text = engines[0]; LibraryName = engines[0]; }
public override void Action(GameObject player) { TaskList tl = player.GetComponent <TaskList>(); if (!tl.IsTaskDone(barrierTask)) { SpeechController speechController = player.GetComponent <SpeechController>(); speechController.UpdateTexts(tl.GetBarrierMessage(barrierTask)); speechController.StartSpeech(player); } else { DayManager.GotoNextDay(); } }
public async Task UpdateSpeechWhenModelStateIsInvalidReturnBadRequest() { //Arrange var moq = new Mock <ICreateSpeechUseCase>(); var moqUpdateSpeechUseCase = new Mock <IUpdateSpeechUseCase>(); var sut = new SpeechController(moq.Object, moqUpdateSpeechUseCase.Object, It.IsAny <IDeleteSpeechUseCase>()); sut.ModelState.AddModelError("x", "Invalid ModelState"); //Act IActionResult result = await sut.Put(It.IsAny <SpeechForUpdateDto>()); //Assert Assert.IsType <BadRequestObjectResult>(result); }
/// <summary> /// Initialize all the GameObjects and resources for the Timer superclass. /// </summary> protected void InitializeTimer() { gameData = GameObject.Find("Game Data").GetComponent <GameData>(); slider = GameObject.Find("Slider").GetComponent <Slider>(); sliderFill = GameObject.Find("Slider Fill").GetComponent <Image>(); gameplayController = GameObject.Find("Gameplay Controller").GetComponent <GameplayController>(); speechController = GameObject.Find("Speech Controller").GetComponent <SpeechController>(); startButtonController = GameObject.Find("Start Button Controller").GetComponent <StartButtonController>(); sceneTransitionController = GameObject.Find("Transition").GetComponent <SceneTransitionController>(); playerAnimationController = GameObject.Find("Player Animation Controller").GetComponent <PlayerAnimationController>(); countdownController = GameObject.Find("Countdown Controller").GetComponent <CountdownController>(); // Set the total time and bounded time timeMax = gameData.GetTimeTotal(); bound = gameData.GetBound() * timeMax; }
public async Task UpdateSpeechWhenSpeechIdIsEmptySouldRaisePresentationException() { //Arrange var moq = new Mock <IRegisterSpeechUseCase>(); var moqUpdateSpeechUseCase = new Mock <IUpdateSpeechUseCase>(); var sut = new SpeechController(moq.Object, moqUpdateSpeechUseCase.Object); var dto = new SpeechForUpdateDto { Id = Guid.Empty }; //Act //Assert await Assert.ThrowsAnyAsync <PresentationException>(() => sut.Put(dto)); }
public void Awake() { SpeechCanvas = GetComponent <Canvas>(); SpeechCanvas.renderMode = RenderMode.ScreenSpaceCamera; SpeechCanvas.worldCamera = Camera.main; if (Instance == null) { Instance = this; DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } }
public override void Action(GameObject player) { TaskList tl = player.GetComponent <TaskList>(); if (!tl.IsTaskDone(barrierTask)) { SpeechController speechController = player.GetComponent <SpeechController>(); speechController.UpdateTexts(tl.GetBarrierMessage(barrierTask)); speechController.StartSpeech(player); } else { //player.GetComponent<PlayerControl>().freezeInput = true; player.SetActive(false); computer.SetActive(true); } }
/* Setup */ void Start() { // Start with Player 1 player1.GetComponent <PlayerManager>().SetActive(); player2.GetComponent <PlayerManager>().SetInactive(); activePlayer = player1; playerDisplay.text = "Turn: Player 1"; // Set up speech controller(s) player1.GetComponent <PlayerManager>().SetSpeechInput(PlayerPrefs.GetInt("player1", 0)); player2.GetComponent <PlayerManager>().SetSpeechInput(PlayerPrefs.GetInt("player2", 0)); speechController = GetComponentInChildren <SpeechController>(); speechController.RefreshController(); // Start timer lastRoutine = StartCoroutine(CountdownRoundTimer()); }
private static void OneShotPlayMode(string libraryName, string text) { var engines = SpeechController.GetVoiceroid2SpeechEngine(); var engine = SpeechController.GetVoiceroid2Instance(libraryName); if (engine == null) { Console.WriteLine($"{libraryName} を起動できませんでした。"); return; } engine.Activate(); engine.Finished += (s, a) => { finished = true; engine.Dispose(); }; engine.Play(text); }
private void Awake() { _speechController = gameObject.AddComponent <SpeechController>(); _nextPageButton.onClick.AddListener(() => NextPage()); _nextPageButton.GetComponentInChildren <NeuroTag>().onTriggered.AddListener(() => NextPage()); _prevPageButton.onClick.AddListener(() => PrevPage()); _prevPageButton.GetComponentInChildren <NeuroTag>().onTriggered.AddListener(() => PrevPage()); UIManager uIManager = transform.root.GetComponent <UIManager>(); UnityAction onBackAction = new UnityAction(() => { _speechController.StopSpeaking(); uIManager.OpenMainMenu(); }); _backButton.onClick.AddListener(onBackAction); _backButton.GetComponentInChildren <NeuroTag>().onTriggered.AddListener(onBackAction); _editButton.onClick.AddListener(() => uIManager.EditFile(_currentFile)); _editButton.GetComponentInChildren <NeuroTag>().onTriggered.AddListener(() => uIManager.EditFile(_currentFile)); _deleteButton.onClick.AddListener(() => { AppManager.Instance.RemoveFile(_currentFile); uIManager.OpenMainMenu(); }); _deleteButton.GetComponentInChildren <NeuroTag>().onTriggered.AddListener(() => { AppManager.Instance.RemoveFile(_currentFile); uIManager.OpenMainMenu(); }); _colorModeButton.onClick.AddListener(() => _colorSwitcher.SwitchColor()); _colorModeButton.GetComponentInChildren <NeuroTag>().onTriggered.AddListener(() => _colorSwitcher.SwitchColor()); _speakButton.onClick.AddListener(() => SpeakCurrentPage()); _speakButton.GetComponentInChildren <NeuroTag>().onTriggered.AddListener(() => SpeakCurrentPage()); }
private static void OneShotPlayMode(string libraryName, string engineName, string text, EngineParameters ep) { var engines = SpeechController.GetAllSpeechEngine(); ISpeechController engine = engineName == "" ? SpeechController.GetInstance(libraryName) : SpeechController.GetInstance(libraryName, engineName); if (engine == null) { Console.WriteLine($"<= {libraryName} [{engineName}] が見つかりません。x86/x64は区別されます。"); return; } Console.WriteLine($"<= {libraryName} [{engine.Info.EngineName}]: {text}"); if (engine == null) { Console.WriteLine($"{libraryName} を起動できませんでした。"); return; } engine.Activate(); engine.Finished += (s, a) => { engine.Dispose(); }; if (ep.Volume > 0) { engine.SetVolume(ep.Volume); } if (ep.Speed > 0) { engine.SetSpeed(ep.Speed); } if (ep.Pitch > 0) { engine.SetPitch(ep.Pitch); } if (ep.PitchRange > 0) { engine.SetPitchRange(ep.PitchRange); } engine.Play(text); }
void Awake() { taskList = GetComponent<TaskList>(); speechController = GetComponent<SpeechController>(); }
void Awake() { speechController = GetComponent<SpeechController>(); }