QAudioRoom Class
Header: | #include <QAudioRoom> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS SpatialAudio) target_link_libraries(mytarget PRIVATE Qt6::SpatialAudio) |
qmake: | QT += spatialaudio |
Inherits: | QObject |
パブリックタイプ
enum | Material { Transparent, AcousticCeilingTiles, BrickBare, BrickPainted, ConcreteBlockCoarse, …, UniformMaterial } |
enum | Wall { LeftWall, RightWall, Floor, Ceiling, FrontWall, BackWall } |
プロパティ
|
|
パブリック関数
QAudioRoom(QAudioEngine *engine) | |
virtual | ~QAudioRoom() |
QVector3D | dimensions() const |
QVector3D | position() const |
float | reflectionGain() const |
float | reverbBrightness() const |
float | reverbGain() const |
float | reverbTime() const |
QQuaternion | rotation() const |
void | setDimensions(QVector3D dim) |
void | setPosition(QVector3D pos) |
void | setReflectionGain(float factor) |
void | setReverbBrightness(float factor) |
void | setReverbGain(float factor) |
void | setReverbTime(float factor) |
void | setRotation(const QQuaternion &q) |
void | setWallMaterial(QAudioRoom::Wall wall, QAudioRoom::Material material) |
QAudioRoom::Material | wallMaterial(QAudioRoom::Wall wall) const |
シグナル
void | dimensionsChanged() |
void | positionChanged() |
void | reflectionGainChanged() |
void | reverbBrightnessChanged() |
void | reverbGainChanged() |
void | reverbTimeChanged() |
void | rotationChanged() |
void | wallsChanged() |
詳細説明
空間オーディオエンジン用の部屋を定義します。
リスナーが部屋の中にいる場合、部屋の特性に合った1次反射音とリバーブが音場に適用されます。
部屋は常に正方形で、中心位置、向き、寸法によって定義されます。部屋の6つの壁はそれぞれ異なる素材でできており、リスナーが部屋の中にいる間に経験する反射音と残響音の計算に寄与します。
複数の部屋が同じ位置をカバーする場合、エンジンは最小の容積を持つ部屋を使用します。
メンバータイプのドキュメント
enum QAudioRoom::Material
部屋のさまざまな壁に適用できるさまざまなマテリアルを定義します。
定数 | 値 | 説明 |
---|---|---|
QAudioRoom::Transparent | 0 | 部屋の側面はオープンで、反射や残響に寄与しない。 |
QAudioRoom::AcousticCeilingTiles | 1 | ほとんどの反射や残響を抑える音響タイル。 |
QAudioRoom::BrickBare | 2 | むき出しのレンガ壁。 |
QAudioRoom::BrickPainted | 3 | 塗装されたレンガの壁 |
QAudioRoom::ConcreteBlockCoarse | 4 | 生コンクリートの壁 |
QAudioRoom::ConcreteBlockPainted | 5 | 塗装済みのコンクリート壁 |
QAudioRoom::CurtainHeavy | 6 | 重いカーテン。主に低周波を反射する。 |
QAudioRoom::FiberGlassInsulation | 7 | ガラス繊維の断熱材。非常に低い周波数のみを反射する |
QAudioRoom::GlassThin | 8 | 薄いガラス壁 |
QAudioRoom::GlassThick | 9 | 厚いガラス壁 |
QAudioRoom::Grass | 10 | 芝生 |
QAudioRoom::LinoleumOnConcrete | 11 | リノリウムの床 |
QAudioRoom::Marble | 12 | 大理石の床 |
QAudioRoom::Metal | 13 | 金属 |
QAudioRoom::ParquetOnConcrete | 14 | コンクリートフローリング |
QAudioRoom::PlasterRough | 15 | ラフプラスター |
QAudioRoom::PlasterSmooth | 16 | 平滑漆喰 |
QAudioRoom::PlywoodPanel | 17 | 合板パネル |
QAudioRoom::PolishedConcreteOrTile | 18 | コンクリートまたはタイル |
QAudioRoom::Sheetrock | 19 | 岩 |
QAudioRoom::WaterOrIceSurface | 20 | 水または氷 |
QAudioRoom::WoodCeiling | 21 | 木製天井 |
QAudioRoom::WoodPanel | 22 | 木製パネル |
QAudioRoom::UniformMaterial | 23 | すべての周波数で均一な反射を与える人工素材 |
enum QAudioRoom::Wall
部屋の6つの壁を定義する列挙型
定数 | 値 | 説明 |
---|---|---|
QAudioRoom::LeftWall | 0 | 左の壁 (負の x) |
QAudioRoom::RightWall | 1 | 右の壁 (正の x) |
QAudioRoom::Floor | 2 | 下の壁(負のy) |
QAudioRoom::Ceiling | 3 | 上壁(正のy) |
QAudioRoom::FrontWall | 4 | 前方の壁(負のz) |
QAudioRoom::BackWall | 5 | 後ろの壁(正のz) |
プロパティ ドキュメント
dimensions : QVector3D
3D空間における部屋の寸法を定義します。デフォルトの単位はセンチメートルです。
アクセス関数
QVector3D | dimensions() const |
void | setDimensions(QVector3D dim) |
通知シグナル:
void | dimensionsChanged() |
position およびQAudioEngine::distanceScaleも参照してください 。
position : QVector3D
3D空間における部屋の中心位置を定義します。単位はデフォルトでセンチメートルです。
アクセス関数:
QVector3D | position() const |
void | setPosition(QVector3D pos) |
通知シグナル:
void | positionChanged() |
dimensions およびQAudioEngine::distanceScaleも参照して ください。
reflectionGain : float
この部屋で発生する反射のゲインファクター。0から1の値は反射を減衰させ、1より大きい値は反射にゲインを適用して大きくします。
デフォルトは1で、0を指定すると反射は無効になります。負の値は0にマッピングされます。
アクセス関数:
float | reflectionGain() const |
void | setReflectionGain(float factor) |
通知シグナル:
void | reflectionGainChanged() |
reverbBrightness : float
生成されるリバーブに適用される明るさの係数。正の値は高い周波数のリバーブを増加させ、低い周波数を減衰させ、負の値はその逆となる。
デフォルトは0。
アクセス機能:
float | reverbBrightness() const |
void | setReverbBrightness(float factor) |
Notifierシグナル:
void | reverbBrightnessChanged() |
reverbGain : float
この部屋で生成されるリバーブのゲインファクター。0から1の値はリバーブを減衰させ、1より大きい値はリバーブにゲインを適用し、より大きくします。
デフォルトは1で、0を指定するとリバーブは無効になります。負の値は0にマッピングされます。
アクセス機能
float | reverbGain() const |
void | setReverbGain(float factor) |
通知シグナル:
void | reverbGainChanged() |
reverbTime : float
この部屋で生成されるすべてのリバーブタイミングに適用される係数。値を大きくすると、リバーブのタイミングが長くなり、部屋が大きく聞こえるようになります。
デフォルトは1で、負の値は0にマップされます。
アクセス関数:
float | reverbTime() const |
void | setReverbTime(float factor) |
通知シグナル(Notifier signal):
void | reverbTimeChanged() |
rotation : QQuaternion
3D空間での部屋の向きを定義します。
アクセス関数
QQuaternion | rotation() const |
void | setRotation(const QQuaternion &q) |
ノーティファイアシグナル:
void | rotationChanged() |
メンバー関数ドキュメント
[explicit]
QAudioRoom::QAudioRoom(QAudioEngine *engine)
engine 用の QAudioRoom を構築します。
[virtual noexcept]
QAudioRoom::~QAudioRoom()
ルームを破棄します。
void QAudioRoom::setWallMaterial(QAudioRoom::Wall wall, QAudioRoom::Material material)
wall をmaterial に設定します。
壁の材質が異なると、部屋の音に影響する反射や残響の特性が異なります。
wallMaterial()、Material 、およびQAudioRoom::Wallも参照してください 。
QAudioRoom::Material QAudioRoom::wallMaterial(QAudioRoom::Wall wall) const
は、wall に使用されている素材を返します。
setWallMaterial()、Material 、QAudioRoom::Wallも参照して ください。
[signal]
void QAudioRoom::wallsChanged()
壁の素材が変更されたときにシグナルを返します。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。