音声出力新機能「Illustrator VOICE」を実装してみる #IllustratorVOICE #Aiさずにはイラレない
エイプリルフール
はじめに Adobe のエイプリルフール企画はこちら。
Adobe Illustrator CCに音声出力新機能「#IllustratorVOICE」を発表。13種類のボイスバックが選べる “しゃべるIllustrator” のベータ版公開。 https://t.co/FzUQB3RzZN #Aiさずにはイラレない #Ai30th pic.twitter.com/lPmh04Ar2q
— アドビ クリエイティブ クラウド (@creativecloudjp) March 31, 2017
今年の #エイプリルフール 企画 #IllustratorVOICE はいかがでしたか? アニメ声ではありませんが、#アドビ の AI/マシンラーニング である #AdobeSensei を活用して、本当に開発中の音声認識機能は近い将来お届けできるかもしれません。 pic.twitter.com/8u1z3CGy48
— アドビ クリエイティブ クラウド (@creativecloudjp) April 1, 2017
Illustrator VOICE とは?
1987年にリリースされたAdobe Illustratorの30周年を記念し、音声出力機能「Illustrator VOICE(イラストレーター ボイス)」が本日世界に先駆けて、日本独自に発表されました。次期バージョンに搭載される予定の Illustrator VOICEは、デスクトップアプリのIllustratorが現在使用しているツールや作業内容を音声で読み上げ、制作者をアシストしてくれる画期的な新機能です。
プラグインで実装!
これって Illustrator プラグインで実装できるんじゃ……? というわけでさっそく試してみたよ。
プラグインを開発するには
まずは Adobe Illustrator SDKs の入手!
PDF Adobe Illustrator CC 2017 Programmer’s Guide によると…。
- プラグインの機能は、Action・Effects・File format・Filter・Menu command・Notifier・Plugin group・Suite・Timer・Tool・Transform again に分類されるみたい。
- → Notifier の機能を持つプラグインとして作ると良さそう
- プラグインから Illustrator アプリへアクセスするには、Suite と呼ぶ Illustrator API を使って行うみたい。
きちんと作るには Windows/Mac 両対応が必要だけど、ほとんど同じソースコードで対応できるみたい。ただし、今回はとりあえず Windows の Illustrator プラグインとして作るよ。
サンプルプラグイン
SDK はいろいろなサンプルプラグインのソースコードがあるから、まずそれを使って、ビルドできるか環境の確認。作りたいプラグインと同じ種類のサンプルを改造して試す、というのが良さそう。
Notifier 機能は、Annotator プラグインなどに使われているよ。詳しくは PDF Getting Started with Adobe Illustrator CC 2017 Development を読もう!
プロジェクトテンプレート
SDK にはプロジェクトテンプレートも付属していて、新規にプラグインプロジェクトを作る場合はこれを活用できるよ。でも、テンプレートのサンプルコードより、サンプルプラグインのコードの方が try-catch とかきちんと書いてある印象だから見比べて開発するのがいいかも。
サンプルプラグインのコードは Visual Studio 2017 で動作したけど、SDK 付属の VC++ のプロジェクトテンプレートをインストールしようとすると 2017 だとなぜか失敗。
Visual Studio 2015 でテンプレートを使う場合もファイルの修正が必要で、.vsz ファイルの冒頭を次のように書き換えてインストール。
VSWIZARD 7.0 | |
Wizard=VsWizard.VsWizardEngine.14.0 | |
Param="WIZARD_NAME = IllustratorSDKProject" | |
Param="RELATIVE_PATH = VCWizards\AppWiz\IllustratorSDK" | |
Param="WIZARD_UI = FALSE" |
テンプレートとインストール手順は Adobe Illustrator CC 2017 SDK\samplecode\Templates フォルダーをチェック!
Illustrator から通知を受け取る
さらに、SDK 付属の API リファレンスを調べてるみると、Plug-in Notifiers の種類はいろいろあって、新規ドキュメント作成の通知をプラグインを受け取るには AINotifierSuite に kAIDocumentNewNotifier type を登録すればいいみたい。通知の登録部分と通知を受け取る部分はこんな感じ。
ASErr VoicePlugin::AddNotifier(SPInterfaceMessage *message) | |
{ | |
ASErr result = kNoErr; | |
result = sAINotifier->AddNotifier(fPluginRef, "VoicePlugin", kAIDocumentNewNotifier, &fDocumentNewNotifier); | |
aisdk::check_ai_error(result); | |
return result; | |
} |
ASErr VoicePlugin::Notify(AINotifierMessage* message) | |
{ | |
ASErr error = kNoErr; | |
if (message->notifier == fDocumentNewNotifier) | |
// 音声再生 | |
return error; | |
} |
完成?
……とあれこれして、とりあえず新規ドキュメント作成時に音声を再生するのは完成!
わからなかったこと
Illustrator VOICE の音声を再生するタイミングに対応する Notifier がすべてあるかは不明。あと通知を受けるとき、AINotifierMessage 構造体の notifyData に通知に関連するデータが入っていると思うのだけど、その仕様がリファレンスになくて不明。これを使えば、例えばレイヤーオプションの変更通知から、ユーザーがどのレイヤーを操作したのかわかったりしそうな気がするんだけど……。
Illustrator VOICE に必要な Notifier や関連仕様がわかる Adobe 社員やプラグイン開発者の人は教えてね。
ダウンロード
プラグインのダウンロードは、Releases · kureikei/voice-plugin-for-illustrator から。ソースコードも公開しているよ。
制限はこちら。
- Illustrator CC 2017 Windows 版・64bit 版のみ対応
- 新規ドキュメント作成時の音声再生のみ対応
使い方はこちら。
- 再生する MP3 ファイルのパスを、環境変数 AI_VOICE_PLUGIN_START として登録
- プラグインファイルのインストールは、C:\Program Files\Adobe\Adobe Illustrator CC 2017\Plug-ins\ にコピー、または、Illustrator 「編集」メニューの「環境設定」-「プラグイン・仮想記憶ディスク」にある追加プラグインフォルダーをチェックして、プラグインファイルのある場所を指定
システムボイス
オマケに、Illustrator VOICE とかに使えたりするかもしれないボイス集はこちらから!
最新記事 by kei (全て見る)
- 自作PC・MOD PCコンテスト作品「しろたんPC」 - 2021/01/22
- 自作PC・MOD PCコンテスト作品「X68030 PROnama-68K」 - 2021/01/22
- 自作PC・MOD PCコンテスト作品「モンスターすぺっくマシン Ver. 2.03(ポチ子仕様)」 - 2021/01/12