MGL::Audio各種定義#

概要#

MGL::Audioで定義されている、オーディオに関わる定義です。

#

種類

名前

内容

VoiceKey

オーディオボイスを表すキー

列挙型

InitializeMode

初期化モード

列挙型

SampleType

サンプルタイプ

列挙型

LoopType

ループタイプ

構造体#

種類

名前

内容

構造体

DataFormat

データフォーマット

定数#

名前

内容

kDefaultVoiceKeySeed

ボイスキーを生成する際のシード値


VoiceKey#

オーディオボイスを表すキー

宣言#

namespace MGL::Audio
{
    enum class VoiceKey : uint32_t {};
}

説明#

オーディオボイスと関連付けるための一意のキーを表す型です。

この値はMGL::Audio::LoadVoiceでオーディオボイスを読み込む際に指定し、以降はそのボイスキーを用いてオーディオボイスにアクセスします。

値の生成にはMGL::Audio::MakeVoiceKeyが利用可能です。

関連#


InitializeMode#

初期化モード

宣言#

namespace MGL::Audio
{
    enum class InitializeMode
    {
        None,           //!< なし
        Sample44k1ch,   //!< 44KHz 1ch
        Sample44k2ch,   //!< 44KHz 2ch
        Sample22k1ch,   //!< 22KHz 1ch
        Sample22k2ch,   //!< 22KHz 2ch
        SystemDefault,  //!< システムのデフォルト
    };
}

説明#

初期化時に指定するオーディオの初期化モードを表す値です。この値は特定のサンプリング周波数やチャンネル数でオーディオを扱いたい場合、もしくはオーディオを利用しない場合に使用します。

値の内容は次の通りです。

None

オーディオを使用しません。このモードを選んだ場合、オーディオスレッドは起動せず、オーディオ再生に関わる全ての機能は利用できません。

Sample44k1ch

サンプリング周波数44.1KHzのモノラル出力を使用します。

Sample44k2ch

サンプリング周波数44.1KHzのステレオ出力を使用します。

Sample22k1ch

サンプリング周波数22.05KHzのモノラル出力を使用します。

Sample22k2ch

サンプリング周波数22.05KHzのステレオ出力を使用します。

SystemDefault

システム標準のサンプリング周波数およびチャンネル数を使用します。


SampleType#

サンプルタイプ

宣言#

namespace MGL::Audio
{
    enum class SampleType : uint8_t
    {
        SignedInt,      //!< 符号付き整数
        UnsignedInt,    //!< 符号なし整数
        Float,          //!< 浮動小数点数
    };
}

説明#

量子化された音量のフォーマットを表す値です。値の内容は次の通りです。

SignedInt

符号付きの整数値で量子化されていることを表す値です。

UnsignedInt

符号なし整数値で量子化されていることを表す値です。

Float

浮動小数点数で量子化されていることを表す値です。

この型では値の形式のみを表し、サイズや格納方式などは規定しません。詳細はDataFormatを参照してください。

関連#


LoopType#

ループタイプ

宣言#

namespace MGL::Audio
{
    enum class LoopType
    {
        Disable,            //!< 無効(ループしない)
        Enable,             //!< 有効(ループする)
        ResourceDefault     //!< リソースが持つ情報に委ねる
    };
}

説明#

ループ再生の動作を指定するための値です。値の内容は次の通りです。

Disable

ループ再生を行いません。

Enable

ループ再生を行います。

ResourceDefault

ループ再生を行うか否かをリソースの設定に委ねます。

関連#


DataFormat#

データフォーマット

宣言#

namespace MGL::Audio
{
    struct DataFormat
    {
        float       samplesPerSec;      //!< サンプリングレート
        SampleType  sampleType;         //!< サンプルタイプ
        size_t      bitsPerSample;      //!< 1サンプルあたりのビット数
        size_t      channelCount;       //!< チャンネル数
        bool        isInterleaved;      //!< インターリーブかどうかのフラグ
    };
}

説明#

オーディオデータのフォーマットを表す構造体です。メンバ変数の内容は次の通りです。

float samplesPerSec

サンプリングレートを表す値です。1秒間あたりのサンプル数を表しています。

MGL::Audio::SampleType sampleType

量子化された音量のフォーマットを表す値です。

size_t bitsPerSample

1サンプルあたりのビット数を表す値です。

size_t channelCount

チャンネル数を表す値です。

bool isInterleaved

サンプリングデータがインターリーブで格納されているかを表す値です。


kDefaultVoiceKeySeed#

ボイスキーを生成する際のシード値

宣言#

namespace MGL::Audio
{
    constexpr uint32_t kDefaultVoiceKeySeed = MGL::Hash::kFNV1aDefaultValue32;
}

説明#

ボイスキーを生成する際にデフォルトで使用するシード値を表す値です。

MGL::Audio::MakeVoiceKeyの第2引数を省略した場合にこの値が使用されます。

関連#