テキストを日本語ボイスに変換してくれるしょぼいWindowsソフトを作ったよ。

2020.01.21

Logging

VS2017のC#で、テキストを日本語ボイスに変換してくれるしょぼいWindowsソフト( 滑舌が悪いけどYOUTUBERしたい人用)を作ったよ。自分はかなり滑舌悪いくてどもるので、YOUTUBER向かないのですがユーチューバーしてみたい願望があったので、Gさんの「Cloud Text-to-Speech API」で適当に作ってみた。ちなみにまだYOUTUBERするかは決めてない!

APIですが月に0?100万文字までは無料枠なので、大量に使わない限り無料枠で収まると思います。これを他の人に提供しようとするとアウトだろうけど・・。
自分だけが使用するのには何とかその範囲内かと思います。

尚、ソースコードを提供します可変してお好みで使ってください。大量のテキストをボイス変換した場合、ビジーになるかもしれません。そこら辺の処理は入れてません。またGさんからダウンロードしたJSONファイルを置いている階層に合わしてください。

参考にしたサイトは下記になります。
https://cloud.google.com/text-to-speech/docs/quickstart-client-libraries?hl=ja#client-libraries-install-csharp

フォームのオブジェクトの配置は下記になります。画像を参照ください。

ソースコードは下記になります。

using System;
using System.IO;
using System.Windows.Forms;
using Google.Cloud.TextToSpeech.V1;
namespace テキストを日本語ボイスする
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if(richTextBox1.Text.Replace("\r", "").Replace("\n", "") == "")
            {
                MessageBox.Show("文字を入力してください");
                return;
            }
            Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "C:\\xxxxx\\xxxxx\\xxxxx\\xxxxx.json", EnvironmentVariableTarget.Process);
            TextToSpeechClient client = TextToSpeechClient.Create();
            SynthesisInput input = new SynthesisInput
            {
                Text = richTextBox1.Text.Replace("\r", "").Replace("\n", "")
            };
            VoiceSelectionParams voice = new VoiceSelectionParams
            {
                LanguageCode = "ja-JP",
                Name = "ja-JP-Wavenet-A",
                SsmlGender = SsmlVoiceGender.Neutral,
            };
            AudioConfig config = new AudioConfig
            {
                AudioEncoding = AudioEncoding.Mp3,
                SpeakingRate = f1(trackBar1.Value),
                Pitch = f2(trackBar2.Value),
            };
            var response = client.SynthesizeSpeech(new SynthesizeSpeechRequest
            {
                Input = input,
                Voice = voice,
                AudioConfig = config
            });
            DateTime dt = DateTime.Now;
            string dttimename = dt.ToString("yyyy-MM-dd-HH-mm-ss");
            using (Stream output = File.Create("voice-" + dttimename + ".mp3"))
            {
                response.AudioContent.WriteTo(output);
                Console.WriteLine($"Audio content written to file 'voice - " + dttimename + ".mp3'");
                MessageBox.Show("生成しました=>>voice - " + dttimename + ".mp3");
                System.Diagnostics.Process.Start(Directory.GetCurrentDirectory());
            }
        }
        private void trackBar1_ValueChanged(object sender, EventArgs e)
        {
            label3.Text = string.Format("{0:0.00}", f1(trackBar1.Value));
        }
        private void trackBar2_ValueChanged(object sender, EventArgs e)
        {
            label4.Text = string.Format("{0:0.00}", f2(trackBar2.Value));
        }
        private double f1(int a) {
            return Convert.ToDouble(a) / 100;
        }
        private double f2(int a)
        {
            return Convert.ToDouble(a) - 20;
        }
    }
}

変換したボイスはこんな感じです!

タグ

0, 100, 2017, API, Cloud, json, Text-to-Speech, VS, Windows, YOUTUBER, アウト, お好み, かなり, コード, これ, ソース, そこら辺, ソフト, ダウンロード, テキスト, ビジー, ファイル, ボイス, ユーチューバー, , , , 使用, 処理, 場合, 変換, 大量, 提供, 日本語, , , 滑舌, 無料, 範囲, 自分, 適当, 限り, 願望,

じぶんがYOUTUBERになるためには壁があるので無理ゲーですね。

2019.12.18

Logging

じぶんがYOUTUBEになるには壁がある。

1.チャンネルの過去12か月間の総再生時間が4,000時間
2.チャンネル登録者が1,000人

これを満たさないと広告収入が入らないというシステムになっている。
2に関してはお金を払えばチャネル登録者数は買えるらしいけど
チャネルがBANされてしまっては嫌なのでやらない。

顔出しは全然OKだけど、喋るのが全然ダメなので
YOUTUBERには向かないと思っている。

喋るのは未だに小学生低学年ぐらいの表現力しかないし
なにせ滑舌悪いので、視聴するには向かないかも。

綺麗な動画をUPさせてそれで収入を得るということは
自分の場合できる可能性は高いだけど、それには編集ソフトと
高スペックのPCが必要、いまのPCのビデオボードでは
無理ゲーだと思う、ただビデオボードを入れ替えれば可能性はある。

でも、なんだかそれもしたくない。
何というかカッコいいサイトとかよりゆるい事をだらーって
している方が良い。

方向性は決めていないけどYOUTUBEもUPしていきますので
チャネル登録お願いします。

https://www.youtube.com/watch?v=2BdSJwQ4jJU

タグ

000, , 2, 4, BAN, OK, PC, UP, youtube, YOUTUBER, いま, お金, ゲー, こと, これ, サイト, システム, じぶん, スペック, ソフト, それ, ため, チャネル, チャンネル, ビデオ, ボード, 再生, 動画, 収入, 可能性, 場合, , 学年, 小学生, 広告, 必要, 時間, 未だ, 滑舌, 無理, 登録者, 綺麗, 編集, 自分, 表現力, 視聴, 過去, 顔出し,

音声合成ボイスが面白い。

2018.04.30

Logging


コエステーションという音声合成ボイスを試しました。
アプリで音声を録音し機械学習(人工知能による)により合成ボイスを作成するというものです。自分の合成ボイスでつぶやきなどをしていてふと思ったのは、自分の声は何だかつっけんどんな声だなということと結構、冷たい感じに受け止められそうな気がしたのですがコレばかりはどうしようもないなと・・・。
記事をコレからは、自分の合成ボイスで記事を読み上げることも行うこともあるかも、もしくは自分の声を流すこともあるかも・・・。
ちなみに合成ボイス化してくれるオープンソースが存在するということも知りましたが、やはりコエステーションが
便利そうということで、今回使用するのは辞めました。
※音読は苦手です(つまる・どもる)・・滑舌も悪い(._.)。なんだかコエステーション頼りになりそうな予感が今でもしますwww(自虐てきに

タグ

www, アプリ, オープン, コエステーション, こと, コレ, ソース, つっけんどん, ボイス, もの, 予感, 人工, , 今回, 作成, 使用, 便利, 合成, , 存在, 学習, 感じ, 機械, , 滑舌, 知能, 自分, 自虐, 苦手, 記事, 録音, 音声, 音読,

ペンギンとは鳥。鳥なのに飛べない。

2016.03.13

Logging


ペンギンとは鳥なのだ。鳥なのに飛べない。
その変わり泳ぐことを覚えた鳥。
そんなペンギンが自分は好きです。
地上では歩くのも遅いし飛ぶことも出来ないのに
海の中に入ってしまえば、猛スピードで
移動することが出来るんです。
こんな人っていますよね。
とろくてドジなのに、これだけは
誰にも負けないっていうモノを持っている人。
東京で働いていた時、ひとりのプログラマーさんが
そうでした。しゃべりも全然、滑舌も良くないだけど
優秀なプログラマーさんがいました。
皆んなに茶化されていたけど
逆に言えば皆んなのムードメーカー的な存在で
すごく場の雰囲気がよくなっているのが
分かりました。
「完璧ですよ??」が口ぐせでした。
あのひとが言うと面白いですよ、ほんとに。
ちなみにのび太君の誰にも負けないは
早撃ちです。これって日本では
全然、役に立たない特技ですけどね。
映画の中ではたまにのび太くんは
ヒーローになってましたね。
自分は思うですよね、この頃、みんな自分のことだけで
精一杯で人を許さない人が増えてきているように
思えるです。もっと寛容になれば
見え方が変わるかもしれないなと・・・・。
 

タグ

これだけ, しゃべり, のび太, のび太くん, のび太君, ヒーロー, プログラマー, ペンギン, ムードメーカー的, 他者, 口ぐせ, 変わり泳ぐこと, 滑舌, 特技, 猛スピード, 社会理論, 見え方, ,