Softalkの音声記号を書いてみたよ


# まえがき
またゆっくりを触ろうかと思ったものの、すっかり喋らせ方を忘れてしまったので、調べるついでにまた忘れてもすぐ見返せるように書いておきます。

はたしてここに書いていいものか・・・・？(ﾟДﾟ;)と思ったけど、「AquesTalk」のタグがあったので大丈夫・・・・だよね？(´・ω・｀)

なお、自分が言ってる「ゆっくり」は「Softalk」のこと。
なので、「棒読みちゃん」は分かりません。
まぁ、AquesTalkがベースになっているのは同じなので、概ね同じだと思いますたぶん(´・ω・｀)


# 前提
- Softalk ver 1.93.29
    - 棒読みちゃんは触ってないので分かりません(´・ω・｀)
    - AquesTalkがベースになってるので概ね同じだと思いますが、、、
- AquesTalk音声記号列仕様書 ver 1.7
    - AquesTalkの仕様書です
        - [AquesTalkのダウンロードページにあります](https://www.a-quest.com/download.html)


# AquesTalk
AquesTalkは株式会社アクエストが開発・販売している音声合成用ソフトウェアです。

[AquesTalk10 規則音声合成エンジン](https://www.a-quest.com/products/aquestalk.html)

Softalkは、AquesTalk（アクエストーク）の技術をベースに開発されたツールです。

[Softalk](https://www35.atwiki.jp/softalk/)

そのため、AquesTalkの仕様（の一部）が利用できます。


# 使える仕様
AquesTalkにはいくつか仕様（というか機能？）が用意されていますが、
Softalkで利用できるものは限られているのでまずはそれをまとめ。

| 機能         | 使用可否 |
| ------------ |:-----:|
| 読み記号 | デフォルト |
| アクセント記号 | 可 |
| 句切記号 | 可 |
| 無声化 | 可 |
| タグ記号（棒読み） | 不可 |
| タグ記号（桁読み） | デフォルト |

タグ記号は使えませんが、タグ記号（桁読み）的な読み方は標準で実行されるようです。
また、英数読みタグも使えません。

## タグ記号

### タグ記号（棒読み）
タグ記号（棒読み）は、数値に関して、通常の数値読みをさせたく無い場合に使用するもの。

```bash:例）電話番号「01-2345-6789」

　AquesTalk: <NUM VAL=01-2345-6789>
　Softalk:   ぜろいち、にーさんよんごー、ろくななはちきゅー
```

### タグ記号（桁読み）
タグ記号（桁読み）は、大きな数値の場合にそれっぽい区切りをいれて読ませる際に使うもの。
Softalkではフツーに数値を入れるとそれっぽい読み方をしてくれるから、標準で入ってるっぽいです。


# 読み記号
「記号」とあるけど、ひらがなやカタカナのことで、要は文章を指しています。


## 文字種を混在させた場合
ひらがなやカタカナ、英数字、そして漢字を使って文章を作るわけですが、
この際、文字種を混在させるとポーズが入ります。

```bash:例
Softalkは漢字や英語を含む文章を様々な声で読み上げるフリーウェアです。
                  ^                ^
※^・・・ポーズ箇所
```

↑の文章では「英語を」と「声で」の2か所に自動でポーズが入ります。

これを避けたい場合、方法は2つ。

- 「区切記号」をつかう
- 「長文に自動で句読点をつける」オプションを外す

長文を作る際に狙って区切記号をつけるクセがあれば、オプション外す方が楽かも。
このオプションって前からあったのかな？
今回、この記事かいてる最中に初めて気がついた・・・・orz


## 文字種を統一させた場合
逆に、文字種をひらがな・カタカナのみで統一させると、抑揚のない読み上げとなります。

```bash:例
そふとおくはかんじやえいごおふくむぶんしょうおさまざまなこえでよみあげるふりいうえあです。
```

前は、長文をポーズなしで読ませたい場合にこうして無理矢理読ませてました。
いまはオプション外しておけばこんなしょうもないことしなくていいのかな？


## 「は」
助詞の「は」は、場合によっては「ワ」ではなく「ハ」と読まれてしまう、あるある問題。
そういうときは「わ」と入れればおｋ。

まぁ、いま試したらちゃんと「ワ」で読んでくれて、逆にサンプルに困る有様なんだけど・・・・(;´Д｀)
仕様書にある例もちゃんと読んでくれてるし・・・・(´・ω・｀)
・・・・ゆっくり、えらい！(｀・ω・´)


## 「っ」「ッ」
マンガでよくあるような、「っ」で終わるような文章は、エラーにはなりませんが、無視されます。
また、「っ」のあとに「－」をいれても、やっぱり「っ」は無視されます。

```bash:例
え。
えっ。
えっー。
```

まぁ、真面目に考えれば「なんて発音すんだよ」てところだしね(´・ω・｀)


・・・・ゆっくり、ずいぶん流暢にしゃべるようになったなぁ・・・・(ﾟДﾟ;)
久しぶりに触ろうとダウンロードしてやってるんだけど、
よく触ってた数年前に比べて発生記号いらないくらいしゃべりよる。。
正直、ビックリしすぎてむしろ引いたわ・・・・('A`)



# アクセント記号
ゆっくりも成長しているとはいえ、やはりアクセントが少し違う場合があります。
そういうときは`'`をいれて明示的にアクセントをつける。

```bash:例
く'らぶ　＝　部活動、的な？
くらぶ　＝　♣？
```

仕様書には

> アクセント核の読み記号の後ろに付与すると定義していますが、音の高さが「高→低」に変化する部分にアクセント記号をつけると考えるとよいと思います

とあるので、それを参考にしていけばいいのかなぁ、と。
まぁ、自分はよく分かんないんで虱潰し的にいれてるけど。。。


# 区切記号
区切記号は、「アクセント句の境界を示すもの」と仕様書に書いてあるけど、まぁ名前の通り「文章に区切りをつける記号」です。

## なんぞ・・・・？
・・・・といってもピンとは来ないと思うので、サンプル。

```bash:例）区切記号なし
こ'んどは、もーすこ'しふくざつなおんせーき'ごーです。
```

↑の場合、区切記号が入っていない＋すべてひらがななので、いわゆる棒読みになります。
音の高低を表すと↓（仕様書から抜粋）

![区切記号1.jpg](https://qiita-image-store.s3.amazonaws.com/0/78619/1f4a3f24-3ed9-8276-bee6-38afe9d0238f.jpeg)

これだと少し違和感があるので、区切記号`/`を入れる。
`/`は文章に区切りを入れますが、ポーズは入りません。
その結果が↓

```bash:例）区切記号あり
こ'んどは、もーすこ'し/ふくざつな/おんせーき'ごーです。
```

↑の音の高低を表すと↓（仕様書から抜粋）

![区切記号2.jpg](https://qiita-image-store.s3.amazonaws.com/0/78619/ece432d1-ad72-6b50-044a-8ef12623f78b.jpeg)


それぞれ再生してみるとスゴイよく分かる。。
仕様書に悩まされる開発者としては、こういう分かりやすい仕様書を読みたいと思いつつ、逆にこういう仕様書を作れないとダメかなぁ・・・・、と軽く凹む('A`)


## 区切記号の種類
説明のために区切記号の`/`を使ったけど、区切記号はそれだけじゃない。
種類はそれなりに多いです。

| 区切記号 | ポーズ有無 | 説明 |
| ------- |:--------:| ---- |
| `。` | 有 | 文章の終わりで使う。ポーズ長め |
| `？` | 有 | 文章の終わりで使う。ポーズ長め。`。`より音が高くなる |
| `、` | 有 | 文章の途中で使う。いわゆる息継ぎ。ポーズは短め。次の音がちょっと高くなる |
| `,` | 有 | だいたい`、`と同じだけど、ポーズが短い |
| `.` | 有 | `,`と同じ。`。`の代替にはならない |
| `/` | 無 | 完全に区切のための記号で、次の音に影響を与えない。ポーズなし |
| `;` | 無 | 次の音がちょっと高くなる。ポーズなし |
| `+` | 無 | 前後のアクセント句の句切があいまいな場合に使う。ポーズなし |

```bash:例）ポーズあり
やっほー、やっほー。
やっほー,やっほー.
やっほー、やっほー？
```

```bash:例）ポーズなし
あたりまえだのくらっかー。
あたりまえだの+くらっかー。
あたりまえだの/くらっかー。
あたりまえだの;くらっかー。
```

・・・・正直、`+`の使いどころはよく分からない。。。orz
そして、わりと真剣に試してたのに、なぜこの言葉で確認したのか・・・・(´・ω・｀)

ま、まぁそれはともかく。

もしゆっくりにある程度それっぽい発音をしてもらいたい、
聴いた人に失笑を買わないようしゃべらせたい、という場合は、区切記号は覚えておいた方がいいのかな、と。
アクセント記号も有用ですが、ポーズが変なところに入ってしまう場合もあるので、
結局は区切記号に頼ることが多々あります。

・・・・まぁ、それはそれでゆっくりの魅力を損失してる気もするけど。。。
いいんだ、自分はゆっくりの声（と絵）が好きなだけだから。。。


# 無声化
仕様書にはちゃんと説明が書いてあるんですが・・・・正直文字で読んでも分からない(´・ω・｀)

まずは、こちら。

```
え'るめスの/あ'クせさりー。
```

ちゃんと読んでくれます・・・・が、なんか違和感？みたいなものを感じる・・・・感じない？

では、次。

```
え'るめ_スの/あ'_クせさりー。
```

強制的に無声化する記号`_`をつけました。
なんとなく、うまく言えないけど、さっきよりは聴きやすくなった気がしない？

うん、まぁ、そんな感じ（適当）



# あとがき
まぁ、こんなところかな？

逆引き風にしようとも思ったんだけど、サンプルを作る方が大変だったので、仕様書のマネっこで。。。

たしか棒読みちゃんの方は各種サービスの読み上げもやってくれるので、使ってる人も多い？のかしら？
でも、フツーに自分で打った文章を読ませるのも面白いよ、てことでひとつSoftalkの方もどうぞ。


# 余談
ソシャゲーの「シノアリス」、リリースからちまちまとやってるんだけど、ギシンとアンキの声はゆっくりが元なのかしら・・・・？(ﾟДﾟ;)
Softalkはたしか法人向けも出てたハズなので、別段おかしくもないんだけどね。
ホント、リリース時からずっと気になってる。。