예제 #1
0
 public override Task ExecuteAsync(Message message, TelegramBotClient botClient)
 {
     try
     {
         var text = message.Text
                    .ToLower()
                    .Replace(Name, string.Empty)
                    .Replace("\"", " ");
         var speechGenerator = new SpeechGenerator();
         using var stream = new MemoryStream(speechGenerator.SynthesizeSpeech(text));
         stream.Seek(0, SeekOrigin.Begin);
         return(botClient.SendAudioAsync(message.Chat.Id, new InputOnlineFile(stream, text), text));
     }
     catch (Exception ex)
     {
         return(botClient.SendTextMessageAsync(message.Chat.Id, ex.ToString()));
     }
 }
예제 #2
0
    private void OnGUI()
    {
        _content = GUILayout.TextField(_content);

        if (GUILayout.Button("SpeechRec"))
        {
            ISpeechRec rec = new SpeechRecer(new SpeechAppData("15470261", "Dlrj6PcxtjXbzaKAO2Fp0ZuA", "oYt0ED8bwrkXKh6WR1c8XYdMt4EWiEYZ"));

            rec.AsyncSpeechRec(_content, (res) =>
            {
                if (res != null && res.result != null && res.result.Count > 0)
                {
                    _recRes = res.result[0];
                }
            });
        }

        GUILayout.Label(_recRes);

        if (GUILayout.Button("SpeechGenrate"))
        {
            ISpeechGenerator             generator = new SpeechGenerator(new SpeechAppData("15470261", "Dlrj6PcxtjXbzaKAO2Fp0ZuA", "oYt0ED8bwrkXKh6WR1c8XYdMt4EWiEYZ"));
            System.Diagnostics.Stopwatch sw        = new System.Diagnostics.Stopwatch();

            sw.Start();
            generator.AsyncSpeechGenrate(_content, bytes =>
            {
                Debug.Log(sw.ElapsedMilliseconds);

                if (bytes != null)
                {
                    File.WriteAllBytes(Path.Combine(_dir, "output.mp3"), bytes);
                }
            });
        }
    }
예제 #3
0
 public override async Task ExecuteAsync(Message message, TelegramBotClient botClient)
 {
     try
     {
         var    name = message.Text.ToLower().Replace(Name, string.Empty);
         string text;
         if (myNames.Any(grishaName => message.Text.ToLower().Contains(grishaName)))
         {
             text = "Пошел нахуй, не буду я себя обзывать. " + await GetDamn("ты").ConfigureAwait(false);
         }
         else
         {
             text = await GetDamn(name).ConfigureAwait(false);
         }
         var speechGenerator = new SpeechGenerator();
         await using var stream = new MemoryStream(speechGenerator.SynthesizeSpeech(text));
         stream.Seek(0, SeekOrigin.Begin);
         await botClient.SendAudioAsync(message.Chat.Id, new InputOnlineFile(stream, text), text).ConfigureAwait(true);
     }
     catch (Exception ex)
     {
         await botClient.SendTextMessageAsync(message.Chat.Id, "Не буду обзиватись, сьогодні я хороший.").ConfigureAwait(true);
     }
 }
예제 #4
0
    static void Init()
    {
        SpeechGenerator speechGen = (SpeechGenerator)EditorWindow.GetWindow(typeof(SpeechGenerator));

        speechGen.Show();
    }