LinuxやmacOSでWineを用いてゆっくりのSofTalkを動かす

Last modified: 2019-04-06

日本語の文章を読み上げたりファイルに書き出したりするWindowsアプリケーションSofTalk1Wine上の動作についてを扱う。

VB6版SofTalk (1.56)

開発は終了しているが、ダウンロードはできるようになっている。Wineではこちらのみ動作確認済み。

VB6版SofTalkの導入

  • Visual Basic 6のランタイム(msvbvm60.dll)が必要
    • winetricks vb6run comctl32ocxを実行
      • comctl32ocxは “コンポーネント ‘MSCOMCTL.OCX’、またはその依存関係のひとつが適切に登録されていません。ファイルが存在しないか、あるいは不正です。” のエラー対策
  • ダイアログの一部で日本語が文字化けし、対策としてはvb6jp.dll2というファイルを追加で調達する必要があるが、アプリケーションの動作自体に必須というわけではない
    • vb6jp_s_v3.exeを検索してダウンロードしてWineで実行もしくは7z x /path/to/vb6jp_s_v3.exe vb6jp.dllで直接抽出して32bit DLLのフォルダに入れる
    • VB6.0ランタイム(基本)には標準で付属している
      • v6.execabextractunarで直接展開できる

VB6版SofTalkの読み上げ動作

  • 再生ボタンが押されていない状態で録音ボタンを押して出力ファイルを指定後に再生ボタンを押し、行を送っていって停止ボタンを押すと、WAVEファイルへの書き出しも正しく行えた
  • 速度や音量の調整にも問題はなかった
  • 再生ボタンが押されていないときに停止ボタンを押すと入力された内容が消える点には注意

VB6版SofTalkに関係するWineのバグ

  • Wine 1.9.10までは正常に動作していた
  • 1.9.11から1.9.20までは起動せず
  • 1.9.21から3.18では起動はするが、濁点や半濁点付きの平仮名が入力欄に含まれると実行時エラーを出して落ちることが2018年10月に判明しバグ報告を提出
    • 早期に修正されたため、3.19以上では正常に動作する
  • 下部のボタンや “音量” などの文字の描画がWine 3.15以上でおかしかったが、4.0-rc3で修正された

読み上げのアクセントや区切りを指定して発声を細かく制御する

設定ダイアログの “その他” で “文章を音声記号として読み上げる(無変換)” を選択した上でAquesTalk用の記法を用いることで、発声が細かく制御でき、自然なしゃべり方をさせることができる。

www.a-quest.com/download/manual/siyo_onseikigou.pdfのドキュメントやniconicoのnm5361877動画なども参照。

カタカナは特別な意味で使われることがあるため、平仮名と記号の組み合わせで記述していく。

  • これわ/て’すとです。
  • きょ’うわ/とても;あつ’いです。
  • こーかがくすもっぐちゅうい’ほうがはつれいされま’した。

VB.NET版 (1.93.32_1)

  • 一般的には、VB.NET言語で作成されたアプリケーションはMono/.NETアセンブリなのでOSを問わずにMonoもしくはMicrosoftの.NET Frameworkで動作するが、このソフトウェアは音声合成ライブラリ部分がWin32 DLLのため、OS依存でWineが必要
    • ただしAquesTalk自体は複数OS向けに公開されている
  • Wine 3.14時点ではWine Mono(4.7.3)でも.NET Framework 4.0を入れても動作せず(プログラムは動いているがウィンドウが表示されない)

    • 2010年6月にバージョン1.77を当時のWinetricksのmono24mono26で試したが、挙動は.NET Framework 4.0をインストールした場合と同様、プログラムは動いていてウィンドウが表示されない状態
  • 関連記事

作者はサイトの掲示板(記事No:1315)で以下のようにコメントしており、新しいバージョンはVB.NET版でしか出ないようなので、こちらでうまく動作しないというのは残念。

以前はVB6.0にて開発を行っていたのですが、Vista以降のOSでは動作が保障されないため、現在ではVB.NETで開発を行っています。 VB.NET 版のみが更新されるのはそのためです。

“ゆっくり” についてのメモ

  • “ゆっくり” というのは “ゆっくり” を検索エンジンで画像検索したときに出る “ゆっくり霊夢” と呼ばれる黒髪に赤いリボンの生首キャラクターで、このキャラクターの声としてSofTalkの音声合成ライブラリの声色(声の種類)の1つ “女性1” を用いる文化が一部であることに関係する
  • “ゆっくり霊夢” のモデルになった “博麗霊夢” というキャラは別に存在するが、 “ゆっくりしていってね!!!” のセリフの付いた生首バージョンがこのように呼ばれることがある
    • “ゆっくり霊夢” は正式な名称ではなく、後述の “ゆっくり魔理沙” についても同様
  • ゆっくり霊夢はウィッチハットをかぶっている “ゆっくり魔理沙” とセットになっていることもあるが、単に “ゆっくり” と呼ぶ場合は “ゆっくり霊夢” を指すことが多い
  • “ゆっくり” として “女性1” の声が使われる際にはアクセント調整などはわざと行わず、ソフトウェア任せにして独特の喋り方にさせる傾向がある。

  • 使用したバージョン

    • Wine 3.14, 4.0
    • SofTalk 1.56, 1.93.32_1
    • Wine Mono 4.7.3

  1. 一部で “ゆっくり(の声)” と呼ばれているもの [return]
  2. Visual Basic 6を作成して作られた日本語アプリケーションはこのDLLがないと文字化けすることがある [return]