How to btk: 基本サンプル

BTK: 基本サンプル

4
STEPS
TOOLS

\u30d9\u30bc\u30ea\u30fc\u306b\u306f\uff13\u3064\u306e\u30b5\u30fc\u30dc\u304c\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u9996\u306e\u7e26\u632f\u308a\u3092Pitch\u3001\u9996\u306e\u6a2a\u56de\u8ee2\u3092Roll\u3001\u4f53\u306e\u6a2a\u56de\u8ee2\u3092Yaw\u3068\u547c\u3093\u3067\u3044\u307e\u3059\u3002

ベゼリーには3つのサーボが使われていますが、首の縦振りをPitch、首の横回転をRoll、体の横回転をYawと呼んでいます。

\u3053\u3053\u3067\u30b5\u30fc\u30dc\u306e\u4e2d\u5fc3\u4f4d\u7f6e\u3092\u6c7a\u3081\u3066\u3044\u307e\u3059\u3002\u57fa\u672c\u306f\uff19\uff10\u5ea6\u3067\u3059\u304c\u3001\u305a\u308c\u3066\u3044\u308b\u5834\u5408\u306f\u8abf\u6574\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002

ここでサーボの中心位置を決めています。基本は90度ですが、ずれている場合は調整してみてください。

\u58f0\u306e\u8cea\u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002SetAccent\u306f\u30a2\u30af\u30bb\u30f3\u30c8\u306e\u5f37\u3055\u3067\u6700\u5f310\u6a19\u6e9664\u6700\u5f37255\u3002SetPitch\u306f\u58f0\u306e\u9ad8\u3055\u3067\u6700\u9ad80\u6a19\u6e9664\u6700\u4f4e255\u3002SetSpeed\u306f\u767a\u8a71\u901f\u5ea6\u3067\u6700\u904550\u6a19\u6e96100\u6700\u901f300\u3002

声の質を設定しています。SetAccentはアクセントの強さで最弱0標準64最強255。SetPitchは声の高さで最高0標準64最低255。SetSpeedは発話速度で最遅50標準100最速300。

Studuino mini\u306e\u5834\u5408\u30a2\u30ca\u30ed\u30b0\u5165\u529b\u30d4\u30f3\uff16(A6)\u306b\u306f\u7167\u5ea6\u30bb\u30f3\u30b5\u30fc\u304c\u53d6\u308a\u4ed8\u3051\u3089\u308c\u3066\u304a\u308a\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u660e\u308b\u3055\u304c200\u4ee5\u4e0a\u306e\u5834\u5408\u306e\u307f\u4e0b\u8a18\u306e\u51e6\u7406\u3092\u884c\u3048\u3068\u8a18\u8ff0\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u6697\u3044\u5834\u5408\u306f\u51e6\u7406\u3092\u884c\u3044\u307e\u305b\u3093\u3002

Studuino miniの場合アナログ入力ピン6(A6)には照度センサーが取り付けられております。ここでは明るさが200以上の場合のみ下記の処理を行えと記述されています。暗い場合は処理を行いません。

\u3053\u3053\u3067\u4f53\u3092\u6a2a\u56de\u8ee2\u3055\u305b\u3066\u3044\u307e\u3059\u3002\u5909\u6570spd\u306b\u56de\u8ee2\u901f\u5ea6\u3001\u5909\u6570destY\u306bY\u8ef8\u306e\u76ee\u6a19\u89d2\u5ea6\u3092\u4ee3\u5165\u3057\u3001servoMove()\u95a2\u6570\u3092\u547c\u3079\u3070\u30b5\u30fc\u30dc\u304c\u56de\u8ee2\u3057\u307e\u3059\u3002

ここで体を横回転させています。変数spdに回転速度、変数destYにY軸の目標角度を代入し、servoMove()関数を呼べばサーボが回転します。

atp.Synthe()\u306f\u3082\u3046\u3054\u5b58\u77e5\u3060\u3068\u601d\u3044\u307e\u3059\u304c\u3001AquesTalk pico LSI\u306b\u558b\u3089\u305b\u308b\u95a2\u6570\u3067\u3059\u3002

atp.Synthe()はもうご存知だと思いますが、AquesTalk pico LSIに喋らせる関数です。

\u3053\u3053\u3067\u306f\u9996\u3092\u4e0a\u4e0b\u306b\u52d5\u304b\u3057\u3066\u3044\u307e\u3059\u3002destP\u306f\u9996\u306e\u7e26\u632f\u308a(pitch)\u306e\u76ee\u6a19\u89d2\u5ea6\u3067\u3059\u3002

ここでは首を上下に動かしています。destPは首の縦振り(pitch)の目標角度です。

\u3053\u3053\u3067\u9996\u3092\u6a2a\u632f\u308a\u3055\u305b\u3066\u3044\u307e\u3059\u3002destR\u306f\u9996\u306e\u6a2a\u632f\u308a(Roll)\u306e\u76ee\u6a19\u89d2\u5ea6\u3067\u3059\u3002

ここで首を横振りさせています。destRは首の横振り(Roll)の目標角度です。

\u3053\u3053\u3067\u30c7\u30b8\u30bf\u30ebIO\u306b\u30b5\u30fc\u30dc\u3092\u5272\u308a\u5f53\u3066\u3066\u3044\u307e\u3059\u3002

ここでデジタルIOにサーボを割り当てています。

The creator of this guide has not included tools