連載

日刊!プチコン3号――なぜか期待している人がとても多い「マイク入力」カウントダウン企画第9回

待ちきれないプチコン待機組のために、配信日まで日刊連載開始! 記事のネタが尽きるのが先か、配信が始まるのが先か! きょうは立冬の意味をそっと調べてみました。

 プチコンmkIIではQRコードを使ってプログラムやリソースを外部と受け渡すことができた。プチコン3号では残念ながらそのような機能は廃止されてしまった。3DS本体で撮影した写真や動画などの取り込みもできないので、グラフィックデータの準備・調達は基本的にはプチコン3号の中で完結することになるだろう。

 操作系以外の入力インタフェースは新たに追加されたマイク入力のみ。マイク入力を利用する場合はマイクを有効化した後にMICSTARTでサンプリングを開始する。サンプリングレートは8180Hz、10910Hz、16360Hz、32730Hzの4種類、ビット数は8ビットもしくは16ビット。秒数は8180Hz/8ビットで最大32秒、32730Hz/16ビットで最大4秒だが、ループモードにすると指定秒数内で上書きを繰り返す。

 プチコン3号の開発元スマイルブームの所在地「サッポロシティ」に思いを馳せつつ、いろいろ期待したいところだ。

advertisement

サンプル

プチコン3号に収録されているテクニカルデモから。音声入力があったかどうかを検知するだけ(「ハドソン!」など)であれば内蔵マイクでも十分だが、それ以上のことをするなら4極端子の利用を考えたほうがいいかも。

関係する命令

XON 使用する機能名

 説明

  特殊機能の利用宣言(先に宣言しないと機能しない)

 引数

  使用する機能名

   MOTION:モーションセンサー、ジャイロセンサー

   EXPAD:拡張スライドパッド

   MIC:マイク

MICSTART サンプリングレート,ビット数,秒数

 説明

  マイクからのサンプリング開始

  ※事前にXON MICで使用宣言する必要あり

 引数

  サンプリングレート

   0:8180Hz 1:10910Hz 2:16360Hz 3:32730Hz

  ビット数

   0:8ビット 1:16ビット

  秒数

   0:ループモード 1~:サンプリング秒数

   (8180Hz、8bit時最大32秒、16bit時最大16秒)

   (10910Hz、8bit時最大24秒、16bit時最大12秒)

   (16360Hz、8bit時最大16秒、16bit時最大8秒)

   (32730Hz、8bit時最大8秒、16bit時最大4秒)

   ※ループモードでは、最大サンプリング数を超えると先頭から上書きするので注意

MICSTOP

 説明

  マイクからのサンプリングを停止

 変数=MICDATA(取得位置)

 説明

  マイクからのデータ取得

  指定位置のサンプリングデータを返す

 引数

  取得位置

   0~(ビット数と最大秒数で範囲が決まる)

   ※ループモードの場合、範囲チェックは行われない

 戻り

  波形データ(128基準の8ビットまたは32768基準の16ビット数値)

MICPOS

 説明

  マイクからのサンプリング中の現在位置

  内部サンプリングバッファの先頭からの位置を示す

MICSIZE

 説明

  マイクの内部サンプリングバッファのサンプリング数

MICSAVE [[取得位置,] 取得サンプル数,] 配列名

 説明

  内部サンプリングメモリーから配列へのコピー

 引数

  取得位置

   取り込み始める位置(0~)

  サンプル数

   取り込む数(省略時:サンプリングバッファ全体)

  配列名

   取り込んだサンプリングデータの格納先

   配列の要素数がサンプル数より少ない場合、1次元配列に限って自動的に要素が追加される


 次回は漢字出力と文字コードに触れることにしよう。

※本稿の内容は開発中のものです。製品版配信時には仕様が変更される場合があります。

 「日刊!プチコン3号」で取り上げて欲しいネタや疑問、質問、感想は、ハッシュタグ「#nikkan_petitcom3」をつけてツイート! ライターの瓜生氏がたぶん(連載の中で)答えてくれるぞ。

Copyright © ITmedia, Inc. All Rights Reserved.