Download アプリケーション開発ガイド
Transcript
Developer Documentation アプリケーション開発ガイド (SPC/PAPPS 共通) © 2012 FUJISOFT INCORPORATED. All rights reserved. 目 次 1.はじめに ..................................................................... 2 1.1 本 書 対 象 者 ................................................................................... 2 1.2 PALRO システムソフトウェアのバージョン..................................................... 2 1.3 事 前 準 備 ..................................................................................... 2 2.なにを作 ろう? .............................................................. 3 3.アプリケーションに必 要 なファイルを用 意 しよう ............................ 4 3.1 アプリケーションに必 要 なファイル ............................................................. 4 4.プログラミングしよう ......................................................... 6 4.1 ヘッダファイルを作 成 する ..................................................................... 6 4.2 ソースファイルを作 成 する ..................................................................... 7 4.3 makefile を作 成 する......................................................................... 9 4.4 プログラムファイルを作 成 する .............................................................. 10 5.PALRO にインストールしよう ............................................ 11 5.1 インストールのための準 備 .................................................................. 11 5.2 インストールする ............................................................................ 12 5.3 テストする ................................................................................... 13 5.4 アンインストールする ........................................................................ 13 6.PALRO Garden に公 開 しよう ......................................... 14 7.アプリケーションを拡 張 しよう ............................................. 15 7.1 アプリケーションに個 別 情 報 を追 加 したい .................................................. 15 7.2 プライベート会 話 ファイルを使 用 したい ...................................................... 19 1 1.はじめに 本 書 は、Sapie Program Component(以 降 、SPC)、および PALRO Applications(以 降 、 PAPPS)の開 発 ならびにインストールについて説 明 します。 また、本 書 ではサンプルを使 用 して説 明 しますが、明 記 しない限 り SPC を対 象 としています。PAPPS については、別 冊 ” PAPI(PALRO Application Programming Interface) リファレンス ” 、 ” SAPI(Sapie Application Programming I nterface) リファレンス ” ならびに、開 発 環 境 【 アプリケーション開 発 用 VMware イメージ 】 に含 まれるサンプルソースを参 照 してください。 特長 SPC PAPPS (Sapie Program Component) (PALRO Applications) 話 す・聞 く・歩 くなどの命 令 をシーケン プリミティブな API(PAPI/SAPI)で、独 シャルに記 述 するシ ンプルなインターフ 自 に PALRO を制 御 するインターフェー ェースで、簡 単 に機 能 を追 加 可 能 スが提 供 され、複 雑 な機 能 を追 加 可 能 難易度 やさしい 難 しい 高い 低い バージョン差 異 による互 換 性 1.1 本 書 対 象 者 本 書 は PALRO の使 用 方 法 について既 に知 識 のある方 を前 提 としています。 加 えて、以 下 の項 目 の有 識 者 を対 象 としています。 プログラミング言 語 C++ Ubuntu Linux 上 でのソフトウェア開 発 経 験 1.2 PALRO システムソフトウェアのバージョン 本 書 の内 容 は、PALRO システムソフトウェアバージョン 3.2 を対 象 としています。 1.3 事 前 準 備 (1) 開 発 環 境 の構 築 詳 細 は、PALRO Garden の 【 デベロッパー 】 - 【 ドキュメント 】 内 の ” アプリケー ション開 発 環 境 構 築 ガイド ” を参 照 してください。 アプリケーション開 発 用 VMware イメージ には、PAPPS のサンプルソ ースが含 まれています。PAPPS 開 発 の際 は、参 考 にしてください。 インストール先 : /usr/local/src/papps/ (2) PALRO Application Studio のインストール 詳 細 は PALRO Garden の 【 デベロッパー 】 - 【 ドキュメント 】 内 の ” PALRO Application Studio ガイド ” を参 照 してください。 2 2.なにを作ろう? 誰 をどうやって驚 かせましょうか? どんな風 に喜 んでもらいましょうか? あなたにそ のア プリケーションの イメージ と、ちょっとした Linux と C/C++の知 識 、それと PALRO さえあれば、今 まで誰 も体 験 したことのないような驚 きをあなたが提 供 することがで きるのです。 アプリケーション(SPC) を開 発 することで、PALRO に簡 単 にオリジナルの機 能 を追 加 することがで きます。 人 を見 たり、手 を動 かして話 すなどの基 本 的 な動 作 は、すべてシステムソフト ウェアが代 行 するた め、 開 発 者 は機 能 だけを考 えれば良 いことになります。 SPC が提 供 する機 能 については、別 冊 ” SPC(Sapie Program Component) リファレンス ” を参 照 してください。 本 書 では、【 SampleComponent 】 という名 前 のサンプルアプリケーションを例 に、SPC の作 り 方 を説 明 します。 SampleComponent は、以 下 の動 きをするアプリケーションです。 (1) PALRO に 『 テストやって。 』 と話 しかけると、 (2) 顔 の LED に「 P 」と表 示 され、 (3) 左 腕 を上 にあげて、 (4) 「ぼくの名 前 はパルロです。」と発 話 する。 テストやって。 ぼくの名前は パルロです。 3 3.アプリケーションに必要なファイルを用意しよう なにを作 るか決 まったら、PALRO のアプリケーションを構 成 するファイルを用 意 します。 PAPPS についても同 様 に、必 要 なファイルを用 意 します。 3.1 アプリケーションに必 要 なファイル PALRO のアプリケーションを構 成 するファイルを以 下 に示 します。 SampleComponent では、下 記 の「(1) (2) (3) (4) (5)」を使 用 します。 (1) プログラムファイル(必 須 ) アプリケーションの実 行 ファイルです。作 成 方 法 については ” 本 書 4. プログラミングし よう ” を参 照 してください。 (2) アプリケーションコンフィグファイル(必 須 ) アプリケーションをインストールする際 に必 要 な登 録 情 報 や、アプリケーションの動 作 に必 要 な設 定 値 を定 義 した XML 形 式 のファイルです。詳 細 は、別 冊 ” PALRO Application Studio ガイド ” を参 照 してください。 (3) トリガーワードファイル(任 意 ) アプリケーションを起 動 するためのトリガーワードを定 義 したテキスト形 式 のファイルです。 アプリケーションの起 動 を音 声 で行 う場 合 に必 要 です。詳 細 は、別 冊 ” PALRO Application Studio ガイド ” を参 照 してください。 SampleComponent 用 のア プリケーシ ョンコンフィグファイル、およびトリガ ー ワードファイルを作 成 する場 合 、PALRO Application Studio の設 定 項 目 は 以 下 のように設 定 してください。 項目 設定内容 アプリケーション名 SampleComponent と入 力 する カテゴリ 指 定 なしを選 択 する ※ カテゴリを入 力 すると、PALRO がゲームやクイズを提 案 す るときに、開 発 したアプリケーションが選 ばれる可 能 性 があ ります。 4 項目 設定内容 SPC/PAPPS SPC(Sapie Program Component)を選 択 する ※ PAPPS の場 合 は、【 PAPPS 】 を選 択 タイトル PALRO Sample と入 力 する 読み パルロサンプルと入 力 する アプリケーションのトリガーワ チェックを入 れる ードを作 成 する 始 めるときのトリガーワード テスト を やって/して と入 力 する 終 わるときのトリガーワード チェックを入 れない (4) PALRO LED ファイル(任 意 ) PALRO の顔 の LED の表 示 内 容 を定 義 したファイルです。詳 細 は、別 冊 ” PALRO Application Studio ガイド ” を参 照 してください。 SampleComponent で使 用 する PALRO LED ファイルは、 SampleLED.led という名 前 で作 成 します。なお、PALRO Garden の 【 デ ベロッパー 】 - 【 ドキュメント 】 - 【 アプリケーション開 発 ガイド 】 にある 【 本 書 で使 用 した PALRO LED ファイルはこちら 】 からダウンロードすること もできます。 (5) PALRO モーションファイル(任 意 ) PALRO の動 きを定 義 したファイルです。バンザイや敬 礼 など特 定 の動 作 や、ダンスなどを PALRO に実 行 させる際 に必 要 です。詳 細 は、別 冊 ” PALRO Motion Editor ガイド ” を参 照 してください。 SampleComponent で使 用 する PALRO モーションファイルは、 SampleMotion.act という名 前 で作 成 します。なお、PALRO Garden の 【 デベロッパー 】 - 【 ドキュメント 】 - 【 アプリケーション開 発 ガイド 】 に ある 【 本 書 で使 用 した PALRO モーションファイルはこちら 】 からダウンロ ードすることもできます。 (6) プライベート会 話 データファイル(任 意 、PAPPS 専 用 ) アプリケーションが専 用 で使 用 する会 話 データを定 義 したテキスト形 式 のファイルです。ア プリケーションの実 行 中 に独 自 の会 話 を行 う PAPPS を作 成 する場 合 に必 要 です。 SPC を開 発 する場 合 は、専 用 の AP I が用 意 されていますので、プライベート会 話 データフ ァイルを作 成 する必 要 はありません。作 成 方 法 については ” 本 書 7.2 プライベート会 話 ファイルを使 用 したい ” を参 照 してください。 5 4.プログラミングしよう アプリケーションに必 要 なファイルが準 備 できたら、SampleComponent のプログラムファイルを 作 成 します。 プログラムソースの文 字 コードは、必 ず UTF-8N(BOM 無 し)を使 用 してくださ い。これ以 外 の文 字 コードでは、正 しく動 作 しない場 合 があります。 ここで説 明 していない SPC の内 容 については、別 冊 ” SPC(Sapie Program Component) リファレンス ” を参 照 してください。 4.1 ヘッダファイルを作 成 する ヘッダファイルの内 容 を以 下 に記 載 します。この内 容 を SampleComponent.h というファイ ル名 で保 存 してください。 #ifndef _SAMPLE_COMPONENT_H_ #define _SAMPLE_COMPONENT_H_ // ヘッダファイル ····················································· (1) #include <spc/spcbase.h> using namespace spc; // 作 成 する SPC のクラス ··········································· (2) class CSampleComponent : SPCBase { public: // コンストラクタ CSampleComponent(); // デストラクタ ~CSampleComponent(); // SPC 実 行 開 始 イベント ································· (3) void onInitialize(); }; #endif // _SAMPLE_COMPONENT_H_ 6 (1) SPC 作 成 用 のヘッダファイルです。 (2) SPC は、SPCBase クラスを継 承 して作 成 します。このクラスには、発 話 要 求 、質 問 要 求 、 歩 行 要 求 など、PALRO の基 本 機 能 を実 行 するためのメソッドが定 義 されています。 (3) onInitialize 関 数 は、SPC の起 動 前 に一 度 だけ実 行 されるコールバック関 数 です。 SPCBase クラスには、この他 にも顔 認 識 や動 体 検 知 時 などに実 行 されるコールバック関 数 が定 義 されています。 4.2 ソースファイルを作 成 する ソースファイルの内 容 を以 下 に記 載 します。この内 容 を SampleComponent.cpp というフ ァイル名 で保 存 してください。 #include "SampleComponent.h" // SPC のインスタンスを定 義 する ········································ (1) CSampleComponent spcApp; // コンストラクタ CSampleComponent::CSampleComponent() { } // デストラクタ CSampleComponent::~CSampleComponent() { } //SPC 初 期 化 イベント ···················································· (2) void CSampleComponent::onInitiali ze() { // 顔 の LED 表 示 ············································· (3) startLED("/usr/palro/etc/apl/SampleComponent/SampleLED.led"); // モーションを実 行 ············································ (4) makeMotion("/usr/palro/etc/apl/SampleComponent/SampleMotion.act"); // 発 話 ························································ (5) speak("こんにちは、ぼくの名 前 は、パルロです "); // SPC の終 了 ················································ (6) exitComponent(); } 7 (1) 作 成 する CSampleComponent クラスのインスタンスを、「spcApp」という名 前 で定 義 してください。これは、SPC ライブラリが開 発 者 の作 成 した関 数 を呼 び出 すための規 約 で す。 (2) SPC の処 理 は、SPCBase クラスで定 義 されたコールバック関 数 をオーバーライドして作 成 します。 (3) startLED 関 数 (顔 の LED の表 示 )には、PALRO LED ファイルのパスを指 定 します。 SampleComponent で使 用 する PALRO LED ファイルは、インストールすると以 下 のパ スに格 納 されます。詳 しくは、” 本 書 5. PALRO にインストールしよう ” を参 照 してくださ い。 インストール先 : /usr/palro/etc/apl/SampleComponent/ (4) makeMotion(モーションの実 行 )には、PALRO モーションファイルのパスを指 定 します。 SampleComponent で使 用 する PALRO モーションファイルは、「(3)の PALRO LED フ ァイル」と同 じ場 所 にインストールされます。 (5) speak 関 数 (発 話 )には、発 話 したい文 字 列 を指 定 してください。 (6) exitComponent 関 数 は、SPC を終 了 するための関 数 です。 exitComponent 関 数 を 呼 び 出 さ な くて も 、 シ ステ ム ソ フ ト ウ ェア が自 動 的 に SPC の実 行 を中 止 する場 合 があります。(PALRO が持 ち上 げられた場 合 など) 8 4.3 makefile を作 成 する SampleComponent の makefile を以 下 に記 載 します。この内 容 を makefile というファイ ル名 で保 存 してください。 OUTPUT_DIR=. MOD_NAME=SampleComponent MOD_SRC=SampleComponent.cpp MOD_LIB=$(OUTPUT_DIR)/$(MOD_NAME) MOD_OBJ=$(MOD_SRC:.cpp=.o) DEP=$(MOD_SRC:.cpp=.d) INC_PATH=-I./ CFLAGS=-Wall -c -Wno-deprecated LFLAGS=-Wl LIB_PATH=-L/usr/local/lib/ LIB_FILE=-lspcif -lspc ······································································ (1) all:release release:CFLAGS+=-O3 release:$(MOD_LIB) debug:CFLAGS+=-g debug:$(MOD_LIB) $(MOD_LIB):$(MOD_OBJ) [TAB]$(CXX) $(LFLAGS) -o $@ $(MOD_OBJ) $(LIB_PATH) $(LIB_FILE ) ······· (2) .cpp.o: [TAB]$(CXX) $(CFLAGS) $(INC_PATH) -MMD -MP -MF"$(@:%.o=%.d)" -o"$@" "$<" clean: [TAB]rm -f $(MOD_OBJ) $(MOD_LIB) $(DEP ) ········································ (2) -include $(DEP) 9 (1) SPC の実 行 に必 要 なライブラリとして、「libspcif」および、「libspc」を指 定 します。 (2) 「 [TAB] 」には、タブ文 字 を入 力 してください。 4.4 プログラムファイルを作 成 する 作 成 したヘッダファイル、ソースファイル、makefile を同 じディレクトリに格 納 し、以 下 のコマンド を実 行 してください。 $ make SampleComponent という名 前 のプログラムファイルが作 成 されれば完 了 です。 10 5.PALRO にインストールしよう ここでは、開 発 したプログラムファイル(SampleComponent)を PALRO にインストールするため の手 順 を説 明 します。 PAPPS についても同 様 の手 順 でインストールおよび実 行 することができます。 5.1 インストールのための準 備 アプリケーションをインストールするために、必 要 なファイルを準 備 します。 以 下 に、” 本 書 4. プログラムミングしよう ” で開 発 した SampleComponent を例 にファ イル構 成 を示 します。 [ アプリケーション名 ] ├ SampleComponent ├ [ etc ] | ├ SampleComponent.conf.xml | ├ SampleComponent.ukb | ├ SampleLED.led | ├ SampleMotion.act | └ その他 のファイル(音 楽 ファイルなど) └ [ src ] ├ SampleComponent.cpp ├ SampleComponent.h └ makfile ※ [] はフォルダー [ etc ]フォルダーに格 納 されたファイルは、全 て PALRO にインストールされま す。アプリケーションで必 要 なファイルは、全 てここに格 納 してください。 インストール先 : /usr/palro/etc/apl/(プログラムファイル名 )/ プログラムソースを他 の開 発 者 またはユーザーに公 開 する場 合 は、[ src ]フォ ルダーに格 納 してください。 11 5.2 インストールする アプリケーションのインストールは、PALRO Application Studio を使 用 します。詳 細 は、別 冊 ” PALRO Application Studio ガイド ” を参 照 してください。 PALRO Application Studio を起 動 したのち、 【 インストール 】 画 面 にて必 要 な項 目 を入 力 してください。 【 パッケージの生 成 】 を実 行 したのち 【 PALRO へのインストール 】 をクリックすると、アプ リケーションが PALRO にインストールされます。 項目 設定内容 プログラムファイル プログラムファイル を指 定 する ※ ここでは、SampleComponent を指 定 アプリケーションプロパティの ” 本 書 5.1 インストールのための準 備 ” で作 成 した 保 存 フォルダー [ etc ]フォルダーを指 定 する ソースファイルの保 存 フォルダ ” 本 書 5.1 インストールのための準 備 ” で作 成 した ー [ src ]フォルダーを指 定 する ※ プログラムソースを公 開 する場 合 のみ必 要 12 5.3 テストする アプリケーションのインストールが完 了 したら、実 際 に動 作 を確 認 できます。 SampleComponent では、” 本 書 3.1 アプリケーションに必 要 なファイル ” でトリガーワー ド「テスト を やって/して」を設 定 したので、PALRO に 『 テストやって 』 と話 しかければ、 SampleComponent が起 動 します。 テストやって。 また、開 発 したアプリケーションをテストしたい場 合 は、PALRO Application Studio でデバッ グ用 のログが表 示 できます。詳 細 は、別 冊 ” PALRO Application Studio ガイド ” を参 照 してください。 5.4 アンインストールする インストールしたアプリケーションは、PALRO コントロールパネルを使 用 してアンインストールし ます。詳 細 は、別 冊 ” 取 扱 説 明 書 【基 本 操 作 】 ” を参 照 してください。 PALRO コントロールパネルの 【 アプリケーション 】 をクリックし、一 覧 の中 から削 除 したいア プリケーションの 【 削 除 】 をクリックしてください。 プログラムファイルを修 正 して 再 度 インストールする 場 合 、アンインスト ールする 必 要 はありません。” 本 書 5.2 インストールする ” に従 ってインスト ールして ください。 13 6.PALRO Garden に公開しよう 開 発 したアプリケーションは PALRO Garden にアップロードすることで、他 の開 発 者 またはユーザー に公 開 することができます。 あなたが開 発 したオリジナルのアプリケーションを、たくさんの人 に使 って もらいましょう。 詳 細 は、PALRO Garden の 【 デベロッパー 】 - 【 ドキュメント 】 内 の ” アプリケーションアッ プロードガイド ” を参 照 してください。 ア ッ プ ロ ー ド す る ア プ リ ケ ー シ ョ ン は 、 事 前 に PALRO Application Studio を使 用 して十 分 に動 作 確 認 したのち、アップロードしてください。 14 7.アプリケーションを拡張しよう ここでは、開 発 したアプリケーションを拡 張 する方 法 を説 明 します。 7.1 アプリケーションに個 別 情 報 を追 加 したい PALRO コントロールパネルを使 用 すると、アプリケーションの動 作 パラメータなどを設 定 するこ とができます。ここでは、PAPPS のサンプルアプリケーションである PALRO Count Sheep を例 に、アプリケーションの設 定 項 目 を追 加 する方 法 を説 明 します。 PALRO Count Sheep は、アプリケーション開 発 用 VMware イメージ に 含 まれています。 インストール先 : /usr/local/src/papps/CountSheep/ また、PALRO Garden の 【 デベロッパー 】 - 【 ドキュメント 】 - 【 アプ リ ケ ー シ ョ ン 開 発 ガ イ ド 】 に あ る 【 本 書 で 使 用 し た PALRO Count Sheep はこちら 】 からもダウンロードできます。 PALRO Count Sheep は、ユーザーが設 定 した最 大 値 まで、羊 または執 事 を数 える、という アプリケーションです。アプリケーションに設 定 項 目 を持 たせるには、アプリケーションコンフィ グファイルを編 集 し、設 定 する項 目 を記 述 する必 要 があります。 PALRO Count Sheep は、以 下 の二 点 をユーザーが設 定 できるようにしています。 カウントする最 大 値 (以 下 の設 定 例 : <title>数 え上 げ数 </title>) 数 える対 象 (以 下 の設 定 例 : <title>数 え上 げ対 象 </title>) これらの設 定 項 目 を記 述 した、アプリケーション コンフィグファイルの内 容 は以 下 の通 りです。 設 定 例 の網 掛 け部 分 は、PALRO Application Studio で自 動 的 に作 成 されるため、詳 細 説 明 を省 略 します。 15 <?xml version="1.0" encoding="utf-8"?> <palro_application name="CountSheepApp" version="3.2.0" rele asedate="2012/11/09" type="PAPPS" mode="transient" appk ind ="other" language="ja"> <title>PALRO Count Sheep</title> <titlespk> カウントシープ</titlespk> <description>PAPPSでアプリケーションコンフィグファイルを読 み込 むサンプ ルアプリケーションです。</description> <section order="1" name="common"> …(1) <title>動 作 設 定 </title> …(2) <description></descriptio n> …(3) <configuration order="1" name="count" display="yes" modi …(4) fy="yes" conftype="text" formtype="text"> <title>数 え上 げ数 </title> …(5) <description>幾 つまで数 え上 げるかを設 定 します。(1~10)</descr iption> …(6) <value>10</value> …(7) <defaultvalue>10</defaultvalue> …(8) </configuration> <configuration order="2" name="kind" display="yes" modif y="yes" conftype="text" formtype="text"> <title>数 え上 げ対 象 </title> <description>0:ひつじ 1:しつじ</description> …(9) <value>0</value> <defaultvalue>0</defaultvalue> </configuration> </section> </palro_application> :自 動 生 成 された部 分 16 タグ (1)section 属性 設定内容 設 定 項 目 の大 分 類 を定 義 します。 大 分 類 は複 数 定 義 できますが、以 下 の属 性 値 を重 複 させることはできません。 order 【 コントロールパネル 】 - 【 アプリケーション 】 - 【 設 定 】 で表 示 される順 序 を定 義 します。複 数 の大 分 類 を定 義 した場 合 、ここで指 定 した値 が小 さい順 に表 示 されます。 ※ 半 角 数 字 を使 用 します。 name システムソフトウェアが大 分 類 を識 別 するための識 別 子 を 定 義 します。 ※ 半 角 数 字 を使 用 し、他 の大 分 類 と重 複 しない識 別 子 を 定 義 します。 (2)tit le 大 分 類 の名 称 を定 義 します。 (3)description 大 分 類 の説 明 を定 義 します。 (4)configuration 設 定 項 目 の小 分 類 を定 義 します。 小 分 類 は複 数 定 義 できま すが、以 下 の属 性 値 を 重 複 させる こと はできま せ ん。 order 【 コントロールパネル 】 - 【 アプリケーション 】 - 【 設 定 】 での表 示 で、大 分 類 の中 での表 示 順 序 を定 義 しま す。複 数 の小 分 類 を定 義 した場 合 、ここで指 定 した値 が小 さい順 に表 示 されます。 ※ 半 角 数 字 を使 用 します。 name システムソフトウェアが小 分 類 を識 別 するための識 別 子 を 定 義 します。 ※ 半 角 数 字 を使 用 し、他 の小 分 類 と重 複 しない識 別 子 を 定 義 します。 display 小 分 類 を表 示 する場 合 は yes を、表 示 しない場 合 は no を定 義 します。 modify 設 定 項 目 の変 更 可 否 を定 義 します。現 在 は yes (変 更 可 能 ) のみ対 応 しているため、yes を定 義 します。 conftype 設 定 項 目 のタイプを定 義 します。現 在 は text (テキストボ ックス) のみ対 応 しているため、text を定 義 します。 formattype 入 力 できるフォーマットを定 義 します。現 在 は text (テキス ト入 力 ) のみ対 応 しているため、text を定 義 します。 (5)tit le 小 分 類 の名 称 を定 義 します。 (6)description 小 分 類 の説 明 文 を定 義 します。 (7)value 【 コントロー ルパネル 】 - 【 ア プ リケー ション 】 - 【 設 定 】 で表 示 さ れる 画 面 で入 力 された値 を保 持 します。 (8)defaultvalue 将 来 拡 張 用 のタグです。定 義 する必 要 はありません。 (9)configuration 「(4) ~ (8)」と同 様 に、二 つ目 以 降 の小 分 類 を定 義 します。 17 編 集 したアプリケーションコンフィグファイルをインストールし、【 PALRO コントロールパネ ル 】 の 【 アプリケーション 】 から 【 PALRO Count Sheep 】 の 【 設 定 】 選 択 する と、記 述 した設 定 項 目 が表 示 されます。 また、アプリケーション(SPC)から設 定 値 を取 得 する場 合 は、loadConfig 関 数 を使 用 します。 上 記 の例 での[数 え上 げ数 ]を取 得 するには、以 下 のように記 述 します。 loadConfig(”common”, ”count”, value); 第 一 引 数 に大 分 類 名 、第 二 引 数 に小 分 類 名 を指 定 すると、第 三 引 数 に設 定 値 が返 ります。 詳 細 は、別 冊 ” SPC(Sapie Program Component) リファレンス ” を参 照 してください。 18 7.2 プライベート会 話 ファイルを使 用 したい プライベート会 話 データファイルは、トリガーワードにより起 動 されたアプリケーションが専 用 で使 用 する会 話 のデータを定 義 するもので、PAPPS を作 成 する際 に使 用 することができます。例 え ば、アプリケーションの処 理 中 に、質 問 をする場 面 があった場 合 、プライベート会 話 データファイ ルに音 声 認 識 させる言 葉 を定 義 することで、専 用 の音 声 認 識 を行 うことができます。尚 、 SPC を作 成 する場 合 は、専 用 の API が用 意 されていますので、プライベート会 話 データファイルを作 成 する必 要 はありません。 7.2.1 プライベート会 話 データファイル作 成 時 の注 意 点 作 成 時 は以 下 の点 に注 意 し、テキストエディターで作 成 します。 漢 字 コード: EUC_JP 改 行 コード: LF(0x0a) 全 て全 角 文 字 で記 載 項 目 間 はタブ区 切 り 拡 張 子 :.ukb ファイル名 : アプリケーション名 _private.ukb (例 : MyApp_private.ukb) 7.2.2 プライベート会 話 データファイルで定 義 する内 容 プライベート会 話 データファイルでは、以 下 の情 報 を定 義 します。 ① ユーザー辞 書 以 下 で示 す、③ ユーザー発 話 に指 定 する文 の “読 み”をカタカナで指 定 します。全 てのユーザー発 話 について、1 行 1文 で“読 み”を指 定 してください。また、ひとつ の文 に、複 数 の“読 み”を指 定 することができます。 ② 会 話 タイトル 会 話 のタイトルを定 義 します。 ③ ユーザー発 話 ユーザーが PALRO に話 しかける言 葉 です。 ※ ひとつの会 話 タイトルの中 で、同 じ言 葉 を使 用 することはできません。 ④ 回 答 テキスト 上 記 ③ で指 定 したユーザー発 話 を音 声 認 識 した際 にアプリケーションが受 け取 る ことができるテキストデータです。ユーザー発 話 に対 して PALRO が答 える処 理 に 使 うなど、自 由 に使 用 することができます。 19 ⑤ 回答付加情報 上 記 ③で指 定 したユーザー発 話 を音 声 認 識 した際 に対 応 するアプリケーション名 と、そのアプリケーションに引 き渡 す情 報 です。以 下 のフォーマットに従 い記 載 す る必 要 があります。 文 字 列 の先 頭 に、/A=アプリケーション名 / と記 載 してくだい。上 記 ③で指 定 した ユーザー発 話 の音 声 認 識 を行 った際 、ここで指 定 されたアプリケーションに音 声 認 識 したことを通 知 します。/A=アプリケーション名 / 以 降 は任 意 の文 字 列 を記 載 することができます。 ※ 記 述 例 : /A=MyApp/ JAPAN 7.2.3 プライベート会 話 データファイル作 成 例 映 画 情 報 をお知 らせするアプリケーション(MyApp)が以 下 の流 れの会 話 を実 現 する場 合 の作 成 例 を示 します。 【発 話 の流 れ】 PALRO の発 話 ユーザーの発 話 ① パルロ、上 映 中 映 画 教 えて わかりました!どの国 の映 画 がお好 み ですか? ② -1 日 本 /日 本 映 画 /邦 画 日 本 ですね。しばらくお待 ちください。 (日 本 の映 画 を回 答 する場 合 ) ② -2 アメリカ/洋 画 アメリカですね。しばらくお待 ちください。 (アメリカ映 画 を回 答 する場 合 ) 現 在 上 映 している映 画 は、・・・・・ 『パルロ、上 映 中 映 画 教 えて』は、アプリケーションを起 動 するためのトリガーワードのた め、ここでは説 明 を省 きます。上 記 例 の② -1 は、日 本 の映 画 を教 えてほしい場 合 に、ユ ーザーが回 答 する言 葉 です。この例 では、『日 本 』『日 本 映 画 』『邦 画 』の3種 類 を想 定 し ています。② -2 は、アメリカの映 画 を教 えてほしい場 合 です。この内 容 を定 義 する例 を以 下 に説 明 します。 20 日 本 [tab]ニホン[tab]ニッポン[LF] ※1 日 本 映 画 [tab]ニホンエイガ[tab]ニホンノエイガ[tab]ニッポンノエイガ[LF] 邦 画 [tab]ホウガ[LF] アメリカ[tab]アメリカ[LF] 洋 画 [tab]ヨウガ[LF] [LF] 映 画 情 報 [LF] ※2 日 本 [tab]日 本 映 画 [tab]邦 画 [LF] ※4 日 本 ですね。しばらくお待 ちください。[tab]/A=MyApp/ JAPAN [LF] ※5 アメリカ[tab]洋 画 [LF] ※6 アメリカですね。しばらくお待 ちください。[tab]/A=MyApp/ USA [LF] ※7 ※3 ※ 1) ユーザー辞 書 を登 録 します。この例 では、ユーザー発 話 である「日 本 」に対 し読 み を2通 り定 義 しています。これは、指 定 した2通 りの読 みのうち、どれを発 話 しても 認 識 させる指 定 になります。また、「日 本 映 画 」に対 しても同 様 に読 みを3通 り定 義 しています。このように、ひとつの文 の読 みを1行 で複 数 指 定 できます。 ※ 2) ユーザー辞 書 と会 話 タイトルの間 に1行 の空 行 を入 れてください。 ※ 3) 会 話 タイトルを任 意 の内 容 で登 録 してください。 ※ 4) ユーザー発 話 を登 録 します。同 じ意 味 として解 釈 する文 を複 数 指 定 することがで きます。ここで指 定 した文 に対 しては、前 述 のユーザー辞 書 に読 みを登 録 する必 要 があります。 ※ 5) 回 答 テキストと付 加 情 報 を1行 で登 録 します。 ※ 6)~※ 7) 記 載 方 法 は、※ 4)、※ 5)と同 様 で、ユーザー発 話 の行 と回 答 テキスト・付 加 情 報 の行 を交 互 に指 定 できます。この例 では、日 本 や邦 画 を音 声 認 識 した際 、 アプリケーション(MyApp)は、回 答 文 として「日 本 ですね。しばらくお待 ちくださ い。」を、付 加 情 報 として、「/A=MyApp/ JAPAN」を受 け取 ることができます。ま た、アメリカや洋 画 を音 声 認 識 した際 、回 答 文 として「アメリカですね。しばらくお 待 ちください。」を、付 加 情 報 として、「/A=MyApp/ USA」を受 け取 ることができ ます。 ・製 品 仕 様 および本 書 の内 容 は予 告 なしに変 更 される場 合 があります。 ・PALRO は、富 士 ソフト株 式 会 社 の登 録 商 標 です。その他 、記 載 されている会 社 名 、製 品 名 などは、各 社 の商 標 または登 録 商 標 です。 21 アプリケーションの開 発 に関 する技 術 的 な「Q&A」ホームページ ア プリケーシ ョンの開 発 者 様 からよくあるお問 い合 わせと解 決 法 に 関 する情 報 を、以 下 のホームページで確 認 できます。 http://www.palrogarden.net/tecfaq/ アプリケーションの開 発 に関 する技 術 的 なお問 い合 わせ PALRO Garden: http://www.palrogarden.net パルロセンター MAIL:[email protected] 富 士 ソフト株 式 会 社 〒231-8008 横 浜 市 中 区 桜 木 町 1-1 22