趣味人のブログ

Cogito, ergo sum. 我思う故に我あり.

SpeakerObjects

1. Overview of SpeakerObjects

SpeakerObjects, a customized version of SoundObject, specializes in binaural reproduction of stereo speaker-based sound fields.


www.youtube.com

Headphone monitoring of stereo sound that is assumed to be play-backed from speakers degrades sound localization. Similarly, stereo speaker sound mixed by headphone monitoring leads to sound imbalance. In these cases, it is necessary to compensate for the acoustic characteristics of the listening room during monitoring or mixing, which is supported by SpeakerObjects.

SpeakerObjects is provided as a VST 3 plug-in for digital audio workstations (DAW) and supports 44.1KHz, 48KHz, and 96KHz sampling rates. OS environment is 64bit Windows 11.

SpeakerObjects binary distribution is licensed under Creative Commons Attribution 4.0 (CC BY 4.0) at no charge.

github.com

SpeakerObjects source code distribution is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0) at no charge.

github.com

2. Operation of SpeakerObjects

Coordinate system

Coordinate system of SpeakerObjects based on the spatially oriented format for acoustics (SOFA) defined by AES69-2020 [1] specification is shown in Fig. 1.

Fig. 1: Coordinate system of SpeakerObjects.

As shown in the figure, in SpeakerObjects, the center of the sphere (listener's head) is located at the origin. And x, y, and z-axis directions are the front, leftward, and upward directions respectively. In the polar coordinates system, radius r is the distance from the origin to the left speaker, elevation angle θ [−90, 90] deg. is measured from the x-y plane, and azimuth angle φ [0, 360) deg. is measured counterclockwise from the x-axis. The depth, width, and height of the reverberation room are the distances of x, y, and z-axis directions respectively. And distances to the center of the sphere are measured from the point shown in the figure.

Note: The definition of elevation angle in AES69-2020 is different from the typical definition.

User interface

User interface of SpeakerObjects is shown in Fig. 2.

Fig. 2: User interface of SpeakerObjects.

The position of the left speaker indicated by the white dot colud be set from any of the rectangular coordinates, the polar coordinates, the x-y pad illustrating the top view, and the y-z pad also illustrating the rear view. The red dot indicates the position of the right speaker which is automatically positioned symmetrically to the left speaker. They are constrained by the inside of the reverberation room shown by the rectangles.

The reflectance slider indicates the reflectance of the reverberation room. Typically, it is set to less than 0 dB, however, in a large reverberation room, it may be set to over 0 dB because the level of reflected waves decreases due to distance attenuation.

The LPF cutoff frequency slider denotes the cutoff frequency of the LPF for reflected waves. However, in the case of ∞ KHz, the LPF function is invalidated.

The distance attenuation slider indicates the distance decay of direct and reflected waves. −6 dB means decreasing by half when the distance to the left speaker is doubled (i.e., point sound source) and 0 dB means no attenuation (i.e., plane sound source).

The HRIR option menu selects the HRIR database used by the pinna scattering effect filter.

Descriptions for dimensions of the reverberation room and center of the sphere are explained in the coordinate system. It is strongly recommended that the center of the sphere be placed in an asymmetrical position in the reverberation room. In addition to these, settings for acoustic speed and radius of the sphere are updated during the DAW is not playing, that is, not updated in real-time.

References

[1] Audio Engineering Society, "AES standard for file exchange - Spatial acoustic data file format," AES69-2020, December 2020.

VST is a registered trademark of Steinberg Media Technologies GmbH.

f:id:suzumushi0:20210807145222p:plain

SpeakerObjects

1. SpeakerObjects の概要

SpeakerObjects は SoundObject のカスタマイズ版であり,ステレオスピーカによる音場のバイノーラル再現に特化している.


www.youtube.com

ステレオススピーカーからの再生を想定したサウンドをヘッドホンでモニターすると,定位感が損なわれる.同様に,ヘッドホンモニタリングによってミキシングされたサウンドを,ステレオススピーカーから再生すると,サウンドのバランスが崩れる.これらの場合は,モニタリングやミキシングの際にリスニングルームの音響特性の補正が必要であり,SpeakerObjects はこれをサポートしている.

SpeakerObjects はディジタルオーディオワークステーション (Digital Audio Workstations: DAW) の VST 3 plug-in として提供され,44.1KHz, 48KHz, 96KHz のサンプリングレートをサポートしている.また,OS 環境は 64 bit の Windows 11 となる.

SpeakerObjects バイナリ―ディストリビューションCreative Commons Attribution 4.0 (CC BY 4.0) に基づいて無料でライセンスされる.

github.com

SpeakerObjects ソースコードディストリビューションCreative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0) に基づいて無料でライセンスされる.

github.com

2. SpeakerObjects の使用方法

座 標 系

AES69-2020 [1] に規定された SOFA (Spatially Oriented Format for Acoustics) に基づいた SpeakerObjects の座標系を Fig. 1 に示す.

Fig. 1: Coordinate system of SpeakerObjects.

図に示す通り,SpeakerObjects では球 (リスナーの頭部) の中心は原点に位置する.また,x, y, z 軸方向が各々正面,左,上方向となる.極座標系の半径 r は原点から左スピーカーへの距離,仰角 (Elevation) θ [−90, 90] deg. は x-y 平面から計測され,方位角 (Azimuth) φ [0, 360) deg. はx 軸から反時計回りに計測される.残響室の奥行 (Depth),幅 (Width),高さ (Height) は各々 x, y, z 軸方向の長さとなる.また,球の中心の距離は図に示す点から計測される.

Note: AES69-2020 の仰角の定義は通常の定義とは異なる.

ユーザーインタフェース

SpeakerObjects のユーザーインタフェースを Fig. 2 に示す.

Fig. 2: User interface of SpeakerObjects.

白色の点で示される左スピーカーの位置 (Position of left speaker) は,直交座標 (Rectangular coordinates),極座標 (Polar coordinates),上面図 (Top view) を示す x-y パッド,背面図 (Rear view) を示す y-z パッドの何れからも設定できる.赤色の点は右スピーカーの位置を示し,左スピーカーの対称となる位置に自動的に配置される.これらスピーカーの位置は長方形で示された残響室の内部に制約される.

Reflectance (反射率) スライダーは残響室の反射率を示す.通常 0 dB 以下に設定するが,広い残響室では距離減衰により反射波のレベルが下がるため 0 dB 以上に設定する場合がある.

LPF cutoff frequency (LPF のカットオフ周波数) スライダーは反射波の LPF のカットオフ周波数を示す.但し,∞KHz の場合,LPF 機能は停止する.

距離減衰 (Distance attenuation) スライダーは,距離による直接波と反射波の減衰を示す.−6 dB で左スピーカーまでの距離が 2 倍となった際に半減 (即ち点音源) を,0 dB で無減衰 (即ち面音源) を意味する.

HRIR オプションメニューは,耳介散乱効果フィルタが使用する HRIR データベースを選択する.

Dimensions of reverberation room (残響室の寸法),Center of sphere (球の中心) は座標系で説明した通りである.球の中心は残響室に対して非対称な位置とする事を強くお勧めする.これらに加えて Acoustic speed (音速),Radius of sphere (球の半径) の設定はリアルタイムには更新されず,DAW が停止している際に更新される.

参考文献

[1] Audio Engineering Society, "AES standard for file exchange - Spatial acoustic data file format," AES69-2020, December 2020.

VST is a registered trademark of Steinberg Media Technologies GmbH.

f:id:suzumushi0:20210807145222p:plain

PolyPortamento

1. Overview of PolyPortamento

PolyPortamento is a plug-in enabling polyphonic portamento with MPE synthesizers.


www.youtube.com

MIDI Polyphonic Expression (MPE) specification [1] is applicable to polyphonic, that is, MIDI channel-based pitch bend, as well as portamento and legato functions. However, in a large number of MPE synthesizer implementations, MPE support of MIDI functions is limited to pitch bend only.

PolyPortamento is a plug-in inserted between a MIDI track and an MPE synthesizer. It works MIDI channel basis and then converts a received MIDI Note On event to a series of Pitch Bend Changes for portamento.

PolyPortamento is provided as a VST 3 plug-in for digital audio workstations. OS environment is 64bit Windows 10 and later.

PolyPortamento binary distribution is licensed under Creative Commons Attribution 4.0 (CC BY 4.0) at no charge.

github.com

PolyPortamento source code distribution is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0) at no charge.

github.com

2. Operation of PolyPortamento

MIDI track in DAW

PolyPortamento slides pitch of time continuous notes in a MIDI channel. Since MIDI channels 2 through 16 work as monophonic, channel separation is required for notes in a chord. Refer to example.mid included in the PolyPortamento binary distribution. Note that do NOT use the MIDI channel 1. It is the master channel of MPE having a different role from the other channels.

Plug-in user interface

User interface of PolyPortamento is shown in Fig. 1.

Fig. 1: User interface of PolyPortamento.

Portamento time indicates pitch sliding time from earlier to later notes when notes are continued in a MIDI channel. The time unit is selected from seconds, seconds for a one-octave slide (seconds/octave), tempo-synced beats (quarter notes) time, or beats time for a one-octave slide (beats/octave).

Portamento curve indicates pitch change.

Right-mouse clicking on the user interface shows UI zoom factors.

MPE synthesizer configuration

Select high sustain level preset of MPE synthesizer, because PolyPortamento converts MIDI Note On event to a series of Pitch Bend Changes.

Enable the MPE mode of the MPE synthesizer.

Surge XT: set Status MPE and select Poly in the Play Mode. Refer Fig. 2.
Vital: set MPE ENABLED. Refer Fig. 3.

Note: MPE status of Vital is not correctly saved DAW project file so every time a project is started, unset then set MPE ENABLED.

Set the number of voices to an appropriate value. Note that in some presets, the default value of voices is set to 1.

Fig 2: Configuration of Surge XT.

Fig 3: Configuration of Vital.

Reference

[1] The MIDI Manufacturers Association, "MIDI Polyphonic Expression Version 1.0," March 2018.

VST is a registered trademark of Steinberg Media Technologies GmbH.

f:id:suzumushi0:20210807145222p:plain

PolyPortamento

1. PolyPortamento の概要

PolyPortamento は MEP シンセサイザーによるポリフォニックのポルタメントを実現するプラグインである.


www.youtube.com

MPE (MIDI Polyphonic Expression) 規格 [1] は,ポリフォニック,即ち MIDI チャネルベースのピッチベンドだけでなく,ポルタメントやレガート機能にも適用できる.しかし,多くの MPE シンセサイザーの実装では,MPE による MIDI 機能のサポートはピッチベンドに限定されている.

PolyPortamento は MIDI トラックと MPE シンセサイザーの間に挿入するプラグインであり,MIDI チャネル毎に動作し,受信したノートオンイベントを,ポルタメントのために一連のピッチベンドチェンジに変換する.

PolyPortamento はディジタルオーディオワークステーションVST 3 plug-in として提供され,OS 環境は 64 bit の Windows 10 以降となる.

PolyPortamento バイナリ―ディストリビューションCreative Commons Attribution 4.0 (CC BY 4.0) に基づいて無料でライセンスされる.

github.com

PolyPortamento ソースコードディストリビューションCreative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0) に基づいて無料でライセンスされる.

github.com

2. PolyPortamento の使用方法

DAWMIDI トラック

PolyPortamento では MIDI チャネルにおいて,時間的に連続したノートのピッチが変化する.MIDI チャネル 2 から 16 は単音で動作するため,和音ではノートのチャネルを分離する必要がある.バイナリディストリビューションに含まれる example.mid を参照.尚,チャネル 1 を使用してはならない.チャネル 1 は MPE のマスターチャネルであり,他のチャネルとは役割が異なる.

プラグインユーザインタフェース

PolyPortamento のユーザーインタフェースを Fig. 1 に示す.

Fig. 1: User interface of PolyPortamento.

ポルタメント時間 (Portamento time) は,MIDI チャネルのノートが連続した際に,ピッチが前のノートから後のノートへ変化する時間を示す.時間の単位は,秒 (seconds),1 オクターブ変化する際の秒 (seconds/octave),テンポに同期した四分音符時間 (beats, quarter notes), 1 クターブ変化する際の四分音符時間 (beats/octave) から選択する.

ポルタメントカーブは (Portamento curve) は,ピッチの変化を示す.

UI 上でマウスを右クリックすると,UI の倍率が表示される.

MPE シンセサイザーの設定

PolyPortamento は MIDI ノートオンイベントを,一連のピッチベンドチェンジに変換するため,MPE シンセサイザーのサステインレベルが高いプリセットを使用する.

MPE モードをオンにする.

Surge XT: Status MPE をオン,Play Mode を Poly にする.Fig. 2 を参照.
Vital: MPE ENABLED をオンにする.Fig. 3 を参照.

Note: Vital の MPE のステータスは DAW プロジェクトに正しく保存されないため,プロジェクトを立ち上げた際に毎回 MPE ENABLED をオフ・オンする.

ボイス数を必要な数に設定する.プリセットによっては,デフォルトのボイス数が 1 となっている事に注意.

Fig 2: Configuration of Surge XT.

Fig 3: Configuration of Vital.

参考文献

[1] The MIDI Manufacturers Association, "MIDI Polyphonic Expression Version 1.0," March 2018.

VST is a registered trademark of Steinberg Media Technologies GmbH.

f:id:suzumushi0:20210807145222p:plain

AudioQAM

1. Overview of AudioQAM

AudioQAM simultaneously modulates phase and amplitude of audio input, and as a result, creates unexpected sound.


www.youtube.com

Quadrature Amplitude Modulation (QAM) is widely used in digital communications. AudioQAM is derived from digital quadrature amplitude modulators and refined for audio processing. AudioQAM supports sine as well as triangle, square, and sawtooth waveforms for carrier waves.

In the case of the sine waveform carrier, AudioQAM is essentially equivalent to the phase shift network and thus works as the well-known Bode frequency shifter. However, the low-frequency shift of conventional frequency shifters results in the spectral inversion band. Since it typically creates noisy sounds, AudioQAM supports automatic input band-limiting that suppresses the spectral inversion band.

In the triangle, square, and sawtooth waveform carrier cases, the output spectrum is the convolution of the carrier wave and audio input spectrums, therefore creating unknown sound. AudioQAM automatic input band-limiting also optimizes superimposed spectrum by the convolution, thus it could create clearer sound.

AudioQAM is provided as a VST 3 plug-in for digital audio workstations and supports any sampling rates. OS environment is 64bit Windows 10 and later.

AudioQAM binary distribution is licensed under Creative Commons Attribution 4.0 (CC BY 4.0) at no charge.

github.com

AudioQAM source code distribution is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0) at no charge.

github.com

2. Block diagram of AudioQAM

A single-channel block diagram of AudioQAM is shown in Fig. 1.

Fig. 1: A single-channel Block diagram of AudioQAM.

The structure of AudioQAM is simple. A pair of HPF and LPF are equipped at input and output respectively. Hilbert Transformer outputs the input signal and π/2 phase lag signal of the input. Direct Digital Synthesizer generates highly accurate broadband sine, triangle, square, and sawtooth wave signals and π/2 phase lag signals of these. The amplitudes of these quadrature signals are modulated by Ring Modulators.

3. Operation of AudioQAM

User interface of AudioQAM is shown in Fig. 2.

Fig. 2: User interface of AudioQAM.

All of the blue-letter numerical numbers are directly editable.

The frequency of the carrier wave could also be set from the blue slider.

The scale of the slider is selected from linear or logarithmic.

The range of the slider is selected from between ±50Hz and ±3,200Hz.

The waveform of the carrier is selected from the sine, triangle, square, or sawtooth wave.

HPFs and LPFs of input and output could be set cutoff frequencies.

In the case of the sine waveform carrier in the automatic band-limiting mode, the cutoff frequency of the input HPF is automatically set based on the carrier wave frequency. Similarly, in the triangle, square, and sawtooth waveform carrier cases in the mode, the cutoff frequency of the input LPF is automatically set. In the latter cases, the most important filter is input LPF. Especially, in cases of square and sawtooth carrier waveforms, impressive interesting sounds may result from setting the cutoff frequency to a roughly absolute value of the carrier frequency.

The input HPF is effective for low-frequency noise reduction. The output LPF is also effective for high-frequency noise reduction, especially in cases of square and sawtooth carrier waveforms.

The input and output mix ratio is set from wet/dry.

 

VST is a registered trademark of Steinberg Media Technologies GmbH.

f:id:suzumushi0:20210807145222p:plain

AudioQAM

1. AudioQAM の概要

AudioQAM はオーディオ入力の位相と振幅を同時に変調し,想定外のサウンドを生成する.


www.youtube.com

直交振幅変調 (Quadrature Amplitude Modulation: QAM) はディジタル通信において広く使用されている.AudioQAM はディジタル直交振幅変調器から派生したもので,オーディオ処理用にリファインされている.AudioQAM は搬送波として正弦波だけでなく,三角波矩形波,鋸歯状波をサポートしている.

搬送波が正弦波の場合,AudioQAM は位相シフトネットワーク (phase shift network) と本質的に等価となり,既存のボード周波数シフタ (Bode frequency shifter) として動作する.但し,従来型の周波数シフタの低周波数シフトではスペクトルが反転する帯域が生じる.これは通常ノイズと感じられるため,AudioQAM ではスペクトル反転帯域を抑制する自動入力帯域制限をサポートしている.

搬送波が三角波矩形波,鋸歯状波の場合,出力の周波数スペクトルは,搬送波とオーディオ入力のスペクトルの畳み込みとなり,未知のサウンドを生成する.AudioQAM の自動入力帯域制限は,畳み込みによるスペクトルの重畳も最適化するため,より明確なサウンドを生成する事ができる.

AudioQAM はディジタルオーディオワークステーションVST 3 plug-in として提供され,全てのサンプリングレートをサポートしている.また,OS 環境は 64 bit の Windows 10 以降となる.

AudioQAM バイナリ―ディストリビューションCreative Commons Attribution 4.0 (CC BY 4.0) に基づいて無料でライセンスされる.

github.com

AudioQAM ソースコードディストリビューションCreative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0) に基づいて無料でライセンスされる.

github.com

2. AudioQAM のブロックダイアグラム

AudioQAM の片チャネルのブロックダイアグラムを Fig. 1 に示す.

Fig. 1: A single-channel Block diagram of AudioQAM.

AudioQAM の構造はシンプルである.入力と出力に各々一対の HPF と LPF を備えている.ヒルベルト変換器 (Hilbert Transformer) は,入力信号と,これの π/2 位相遅れの信号を出力する.直接ディジタル合成器 (Direct Digital Synthesizer) は搬送波として,広帯域の正弦波,三角波矩形波,鋸歯状波の信号と,これらの π/2 位相遅れの信号を高精度で生成する.これらの直交信号はリング変調器 (Ring Modulators) によって振幅変調される.

3. AudioQAM の使用方法

AudioQAM のユーザーインタフェースを Fig. 2 に示す.

Fig. 2: User interface of AudioQAM.

青字の数値は全て直接編集できる.

搬送波 (Carrier wave) の周波数 (Frequency) は青色のスライダーからも設定できる.

スライダーのスケール (Scale) は,線形 (Linear) 若しくは対数 (Logarithmic) を選択する.

スライダーのレンジ (Range) は,±50Hz から ±3,200Hz の中から選択する.

搬送波の波形 (Waveform) は,正弦波 (Sine),三角波 (Triangle),矩形波 (Square),若しくは鋸歯状波 (Sawtooth) を選択する.

入力および出力の HPF,LPF はカットオフ周波数 (cutoff frequency) を設定できる.

搬送波が正弦波で,帯域制限 (Band-limiting) が自動 (Automatic) モードの場合,搬送波の周波数に基づいて,入力の HPF のカットオフ周波数が自動的に設定される.同様に,搬送波が三角波矩形波,若しくは鋸歯状波でこのモードの場合は,入力の LPF のカットオフ周波数が自動的に設定される.後者の場合,入力の LPF が一番重要である.特に,搬送波が矩形波と鋸歯状波の場合,これのカットオフ周波数をキャリア周波数の絶対値程度とすると印象的な風変わりな音が得られる場合がある.

入力の HPF は低域のノイズ抑制,出力の LPF は特に搬送波が矩形波と鋸歯状波の際の高域のノイズ抑制に有効である.

Wet/dry は出力と入力のミックス比を設定する.

 

VST is a registered trademark of Steinberg Media Technologies GmbH.

f:id:suzumushi0:20210807145222p:plain

Headphones monitoring of stereo speakers sound with SoundObject

Note: With the release of SpeakersObjects, this article is obsolete.

suzumushi0.hatenablog.com

Headphones monitoring of stereo sound assuming playback from speakers harms sound localization. Similarly, stereo speakers playback of sound mixed by headphones monitoring causes imbalance sound. In this case, compensation for the acoustic characteristic of the listening room is required during mixing and SoundObject could support it. This note describes headphones monitoring of stereo speakers sound with SoundObject.

Structure of tracks

  1. Assume that a track in DAW holding stereo sound is subjected to monitoring.
  2. Add tracks for left and right channels and insert SoundObject plug-ins.

Routing

As an example, the setting for Reaper is shown below.

  1. Stop the master send of the stereo track.
  2. Send the left signal of the stereo track to the left track.
  3. Send the right signal of the stereo track to the right track.
  4. Set the master send of the left and right tracks (default setting). That is, mix and monitor outputs of SoundObject.

Configuration of SoundObject

  1. Set dimensions of the reverberation room and center of the sphere as that of the listening room and listening position respectively. It is strongly recommended to locate the center of the sphere to an asymmetric position in the reverberation room.
  2. Set positions of the acoustic source as speaker positions.
  3. Set output as combined waves and binaural.
  4. Adjust reflectance and LPF cutoff frequency as you like.

f:id:suzumushi0:20220220102225p:plain

Reference

github.com