日刊!プチコン3号――懐かしさと表現力の両立「サウンド機能」カウントダウン企画……あと5回

» 2014年11月13日 19時15分 公開
[瓜生聖,ITmedia]

連載:日刊プチコン3号

懐かしさと表現力の両立「サウンド機能」

 グラフィックと並んでゲームの表現力をぐっと広げてくれるのがサウンド機能だ。プチコンのサウンド命令は大きく3つに分けられる。

・効果音

 効果音はBEEP命令で発生させることができる。プリセットの効果音はmkIIの70種から134種に増加。周波数はプチコンmkIIで1オクターブ4096段階で上下2オクターブに変更可能だったのに対し、プチコン3号では半音96段階で-32768〜32767の変更ができる(表現をプチコンmkIIに合わせると「1オクターブ1152段階で上下28.4オクターブに変更可能」ということにはなるが、もちろんこれは可聴音域を超えている)。

・音楽

 プリセット曲やMMLを鳴らすBGMPLAYなど、BGMから始める一連の命令は特に大きな変更はない。ただし、MMLの内部変数の読み出し/書き込みを行うBGMGETV/BGMSETVは、ほかの内部変数を扱う命令と統一され、BGMVARで読み出し/書き込みを行うように変更された。MMLはプチコンmkIIの仕様ほぼそのままだが、同時再生チャネルが8から16に、最大テンポが240から512に増加したほか、モジュレーションにオートパン@MLが追加されている。

 楽器を登録するBGMPRGはWAVSETに置き換えられた。書式はほぼ同じだが、波形文字列がmkIIの32/64バイトから、16/32/64/128/256/512バイトに拡張された。マイクからの入力を登録する場合には数値配列から登録できるWAVSETAが便利だ(サンプリングレート8180Hz固定、最大16384サンプルまで)。

・TALK

 音声合成のTALKはプチコンmkIIから大幅に機能が削られた。プチコンmkIIのときにあったイントネーション変更やピッチ制御、発生速度、ボリューム、話者設定、感情設定などの@コマンド、アクセントやフレーズ制御、行末処理(疑問、驚き)などはすべて削除されている。

 例えばプチコンmkIIのつもりで「アレ? ナニカアッタンデショーカ ワタシガチョット ミテキマショー タイヘンデス! タイヘンデス!」という文字列を渡すと「アレハテナ ナニカアッタンデショーカ ワタシガチョット ミテキマショー タイヘンデスビックリ タイヘンデスビックリ」と読み上げるので注意。

 そのほか、サウンド全体に効果がある機能としてエフェクター(リバーブ)が追加された。EFCSETでエフェクターのプリセットを選択、EFCON/EFCOFFでエフェクターの有効/無効、EFCWETでエフェクトの強さを指定する。

サンプル

EFCSETのデモ。エフェクトなし、リバーブ(風呂場)、リバーブ(洞窟)、リバーブ(宇宙)をBEEPとTALKで確認

関係する命令

BEEP [効果音番号][,周波数][,音量][,パンポット]

 説明

  単純な警告音・効果音の発生

 引数

  効果音番号

   鳴らす音の種類:プリセット音0〜133

   ※SMILEボタンを押してプリセット音一覧を確認可能です

  周波数

   周波数の変更値:-32768〜32767(96で半音)

  音量

   再生する音量:0〜127

  パンポット

   ステレオのパンポット指定:0(左)〜64(中央)〜127(右)

BGMPLAY [トラック番号,]曲番号[,音量]

 説明(1/2)

  音楽演奏(1) 登録済みBGMを再生

  ・同時に8曲演奏可能(ただし同時発音数は全体で16音まで)

 引数

  トラック番号

   再生するトラック番号:0〜7(省略時は0番)

  曲番号

   再生する曲番号:プリセット曲0〜42 ユーザー定義128〜255

   ※SMILEボタンを押してプリセット曲一覧を確認可能です

  音量

   再生する音量:0〜127

BGMPLAY "MML文字列"

 説明(2/2)

  音楽演奏(2) 入力したMMLデータを再生

  ・MMLデータによる再生はトラック0で行われる

  ・ユーザー定義曲番号255がMMLによる曲に書き換えられる

 引数

  MML文字列

   MMLコマンドを記入

BGMVAR トラック番号,変数番号,値

 説明(1/2)

  MMLの内部変数への書き込み

 引数

  トラック番号

   対象のMMLのトラック番号:0〜7

  変数番号

   値を書き込む内部変数:0〜7(MMLの$0〜$7)

  値

   変数に書き込む値

変数 = BGMVAR(トラック番号,変数番号)

 説明(2/2)

  MMLの内部変数の読み込み

 引数

  トラック番号

   対象のMMLのトラック番号:0〜7

  変数番号

   値を読み込む内部変数:0〜7(MMLの$0〜$7)

  戻り

   演奏中の指定された変数の内容(演奏停止中は-1)

WAVSET 定義番号,A,D,S,R,"波形文字列"[,基準音程]

 説明

  MMLのユーザー定義楽器音を定義

 引数

  定義番号

   ユーザー定義楽器番号:224〜255

   ※MMLの@コマンドで指定する番号

  A,D,S,R

   エンベロープ定義パラメータ

   A:アタック 0〜127

   D:ディケイ 0〜127

   S:サスティン 0〜127

   R:リリース 0〜127

  波形文字列

   16進数文字列。2文字で1サンプルの値(8bit)を表す

    〜(128)〜HFF(255)

   16,32,64,128,256,512サンプルの指定が可能(文字数はサンプル数の2倍)

  基準音程

   省略時は69(O3A)

WAVSETA 定義番号,A,D,S,R,数値配列[,基準音程][,先頭添字][,最終添字]

 説明

  MMLのユーザー定義楽器音を配列から定義

  ・MICSAVEで得た配列から定義するときに便利

  ・サンプリングレート8180Hz、8ビット固定

 引数

  定義番号

   ユーザー定義楽器番号:224〜255

   ※MMLの@コマンドで指定する番号

  A,D,S,R

   エンベロープ定義パラメータ

   A:アタック 0〜127

   D:ディケイ 0〜127

   S:サスティン 0〜127

   R:リリース 0〜127

  数値配列

   MICSAVE命令で得た配列(最大16384サンプルまで)

  基準音程

   省略時は69(03A)

  先頭添字

   数値配列の読み込み開始要素の添字(省略時は0)

  最終添字

   数値配列の読み込み終了要素の添字(省略時は最終要素)

TALK "音声文字列"

 説明

  音声合成による発生

 引数

  音声文字列

   発音させたい文字列(文字をそのまま発音する)

EFCON

 説明

  音楽のエフェクトをONにする

  ・エフェクトの種類はEFCSET命令で選択

EFCOFF

 説明

  EFCONでONにした音楽のエフェクトをOFFにする

EFCSET 種類番号

 説明(1/2)

  音楽のエフェクトの種類を選択する

 引数

  0:なし(EFCOFFと同じ)

  1:リバーブ(風呂場)

  2:リバーブ(洞窟)

  3:リバーブ(宇宙)

EFCSET 初期反射時間,残響音ディレイ時間,残響音減衰時間,残響音フィルタ係数1,残響音フィルタ係数2,初期反射音ゲイン,残響音ゲイン

 説明(2/2)

  上級者向けエフェクトパラメータの設定

 引数

  初期反射時間

   0〜2000(msec)

  残響音ディレイ時間

   0〜2000(msec)

  残響音減衰時間

   1〜10000(msec)

  残響音フィルタ係数1

   0.0〜1.0

  残響音フィルタ係数2

   0.0〜1.0

  初期反射音ゲイン

   0.0〜1.0

  残響音ゲイン

   0.0〜1.0

EFCWET BEEP効果値,BGM効果値,TALK効果値

 説明

  BEEP、BGM、TALKそれぞれのエフェクト量を設定する

 引数

  BEEP効果値

   BEEPに対するエフェクトの大きさ(0〜127)

  BGM効果値

   BGMに対するエフェクトの大きさ(0〜127)

  TALK効果値

   TALKに対するエフェクトの設定(64未満:OFF、64以上:ON)

   ※TALKに対してはON/OFFおみで、量は変化しない


 次回はSPRITEの扱い方の変更点について紹介する。

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

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


Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2024年04月25日 更新
  1. ワコムが有機ELペンタブレットをついに投入! 「Wacom Movink 13」は約420gの軽量モデルだ (2024年04月24日)
  2. 16.3型の折りたたみノートPC「Thinkpad X1 Fold」は“大画面タブレット”として大きな価値あり (2024年04月24日)
  3. 「社長室と役員室はなくしました」 価値共創領域に挑戦する日本IBM 山口社長のこだわり (2024年04月24日)
  4. 「IBMはテクノロジーカンパニーだ」 日本IBMが5つの「価値共創領域」にこだわるワケ (2024年04月23日)
  5. Googleが「Google for Education GIGA スクールパッケージ」を発表 GIGAスクール用Chromebookの「新規採用」と「継続」を両にらみ (2024年04月23日)
  6. わずか237gとスマホ並みに軽いモバイルディスプレイ! ユニークの10.5型「UQ-PM10FHDNT-GL」を試す (2024年04月25日)
  7. バッファロー開発陣に聞く「Wi-Fi 7」にいち早く対応したメリット 決め手は異なる周波数を束ねる「MLO」【前編】 (2024年04月22日)
  8. ロジクール、“プロ仕様”をうたった60%レイアウト採用ワイヤレスゲーミングキーボード (2024年04月24日)
  9. 「Surface Go」が“タフブック”みたいになる耐衝撃ケース サンワサプライから登場 (2024年04月24日)
  10. あなたのPCのWindows 10/11の「ライセンス」はどうなっている? 調べる方法をチェック! (2023年10月20日)
最新トピックスPR

過去記事カレンダー