Pulse width: Difference between revisions

From daw.wiki
Jump to navigation Jump to search
DawWriter (talk | contribs)
Pulse widthとDuty cycleの関係、倍音構成、シンセサイザーでの利用を詳説
 
Marked this version for translation
 
Line 2: Line 2:


<translate>
<translate>
<!--T:1-->
'''Pulse width'''(パルスワイズ、パルス幅)は、パルス波や矩形波の1周期のうち、特定の状態が持続する時間幅を表す量である。シンセサイザーでは、オシレーターの[[<tvar name=1>Special:MyLanguage/Pulse wave</tvar>|パルス波]]の形状と倍音構成を決める主要パラメーターとして用いられる。
'''Pulse width'''(パルスワイズ、パルス幅)は、パルス波や矩形波の1周期のうち、特定の状態が持続する時間幅を表す量である。シンセサイザーでは、オシレーターの[[<tvar name=1>Special:MyLanguage/Pulse wave</tvar>|パルス波]]の形状と倍音構成を決める主要パラメーターとして用いられる。


<!--T:2-->
実務上のシンセサイザーでは、Pulse widthを絶対時間ではなく'''周期に対する割合'''として表し、0〜100%や0.0〜1.0で設定することが多い。この場合は[[<tvar name=2>Special:MyLanguage/Duty cycle</tvar>|デューティ比]]とほぼ同じ量を指す。
実務上のシンセサイザーでは、Pulse widthを絶対時間ではなく'''周期に対する割合'''として表し、0〜100%や0.0〜1.0で設定することが多い。この場合は[[<tvar name=2>Special:MyLanguage/Duty cycle</tvar>|デューティ比]]とほぼ同じ量を指す。


<!--T:3-->
== 定義 ==
== 定義 ==
周期Tのパルス波でHigh状態が続く時間をτとすると、Pulse widthの絶対値はτである。
周期Tのパルス波でHigh状態が続く時間をτとすると、Pulse widthの絶対値はτである。


<!--T:4-->
周期に対する比として表す場合、
周期に対する比として表す場合、


  <code>Pulse width ratio = τ / T</code>
  <!--T:5-->
<code>Pulse width ratio = τ / T</code>


<!--T:6-->
となる。
となる。


<!--T:7-->
百分率なら、
百分率なら、


  <code>Duty cycle [%] = (τ / T) × 100</code>
  <!--T:8-->
<code>Duty cycle [%] = (τ / T) × 100</code>


<!--T:9-->
である。
である。


<!--T:10-->
たとえば周期10 msの波形でHighが5 msならPulse width ratioは0.5、Duty cycleは50%となる。
たとえば周期10 msの波形でHighが5 msならPulse width ratioは0.5、Duty cycleは50%となる。


<!--T:11-->
== Pulse width と Duty cycle ==
== Pulse width と Duty cycle ==
電子工学ではPulse widthは秒、ミリ秒、マイクロ秒など'''時間'''で表す場合があり、Duty cycleは周期に対する'''比率'''を表す。
電子工学ではPulse widthは秒、ミリ秒、マイクロ秒など'''時間'''で表す場合があり、Duty cycleは周期に対する'''比率'''を表す。


<!--T:12-->
一方、シンセサイザーではノブやパラメーター名として「Pulse Width」が使われながら、実際には0〜100%の比率を操作する製品が多い。
一方、シンセサイザーではノブやパラメーター名として「Pulse Width」が使われながら、実際には0〜100%の比率を操作する製品が多い。


<!--T:13-->
このため、シンセシス文脈ではPulse widthとDuty cycleがほぼ同義的に使われる場合がある。
このため、シンセシス文脈ではPulse widthとDuty cycleがほぼ同義的に使われる場合がある。


<!--T:14-->
両者を区別する必要がある場面では、
両者を区別する必要がある場面では、


<!--T:15-->
* Pulse width: パルスの絶対的な時間幅
* Pulse width: パルスの絶対的な時間幅
* Duty cycle: 周期全体に占める割合
* Duty cycle: 周期全体に占める割合


<!--T:16-->
として扱うと明確である。
として扱うと明確である。


<!--T:17-->
== 50% と Square wave ==
== 50% と Square wave ==
HighとLowが同じ長さになる50% dutyの対称矩形波は[[<tvar name=3>Special:MyLanguage/矩形波</tvar>|Square wave]]である。
HighとLowが同じ長さになる50% dutyの対称矩形波は[[<tvar name=3>Special:MyLanguage/矩形波</tvar>|Square wave]]である。


<!--T:18-->
Pulse widthを50%からずらすと、HighとLowの滞在時間が非対称な[[<tvar name=4>Special:MyLanguage/Pulse wave</tvar>|パルス波]]になる。
Pulse widthを50%からずらすと、HighとLowの滞在時間が非対称な[[<tvar name=4>Special:MyLanguage/Pulse wave</tvar>|パルス波]]になる。


<!--T:19-->
たとえば、
たとえば、


<!--T:20-->
* 50%: Square wave
* 50%: Square wave
* 25%: 周期の4分の1がHigh
* 25%: 周期の4分の1がHigh
Line 49: Line 69:
* 75%: Highが長くLowが短い
* 75%: Highが長くLowが短い


<!--T:21-->
となる。
となる。


<!--T:22-->
25%と75%は波形の極性関係やDC成分を除けば、交流成分の振幅スペクトルに対称的な関係を持つ。
25%と75%は波形の極性関係やDC成分を除けば、交流成分の振幅スペクトルに対称的な関係を持つ。


<!--T:23-->
== 倍音構成 ==
== 倍音構成 ==
Pulse widthを変えると各倍音の振幅が変化する。
Pulse widthを変えると各倍音の振幅が変化する。


<!--T:24-->
50% Square waveでは偶数次倍音が打ち消され、奇数次倍音だけが残る。
50% Square waveでは偶数次倍音が打ち消され、奇数次倍音だけが残る。


<!--T:25-->
50%から外れると偶数次倍音も現れ、特定のDuty cycleでは特定次数の倍音が周期的に弱くなる、または理想的には消える。
50%から外れると偶数次倍音も現れ、特定のDuty cycleでは特定次数の倍音が周期的に弱くなる、または理想的には消える。


<!--T:26-->
一般的な矩形パルス列のn次倍音振幅は、Duty cycle Dに対して概念的に、
一般的な矩形パルス列のn次倍音振幅は、Duty cycle Dに対して概念的に、


  <code>Aₙ ∝ sin(nπD) / n</code>
  <!--T:27-->
<code>Aₙ ∝ sin(nπD) / n</code>


<!--T:28-->
のような関係を持つ。
のような関係を持つ。


<!--T:29-->
このためPulse widthは、フィルターを使わずにオシレーター自身のスペクトルを変化させる波形パラメーターとして重要である。
このためPulse widthは、フィルターを使わずにオシレーター自身のスペクトルを変化させる波形パラメーターとして重要である。


<!--T:30-->
== Pulse widthと音色 ==
== Pulse widthと音色 ==
Pulse widthが50%のときは典型的なSquare waveの音色になる。
Pulse widthが50%のときは典型的なSquare waveの音色になる。


<!--T:31-->
50%から離れるにつれて偶数次倍音を含むスペクトルとなり、より細いPulseでは独特の細く鋭い音色が得られる。
50%から離れるにつれて偶数次倍音を含むスペクトルとなり、より細いPulseでは独特の細く鋭い音色が得られる。


<!--T:32-->
Ableton Liveの旧Analogドキュメントでは、Rectangular oscillatorのPulse Widthを狭くするとthinまたはpinchedな音色となり、対称状態ではSquare waveとなることが説明されている。<ref name="ableton-pw">[https://downloads.ableton.com/manuals/81/ableton_live_manual_en.pdf Ableton Live Manual 8.1, Instrument Reference, Analog]</ref>
Ableton Liveの旧Analogドキュメントでは、Rectangular oscillatorのPulse Widthを狭くするとthinまたはpinchedな音色となり、対称状態ではSquare waveとなることが説明されている。<ref name="ableton-pw">[https://downloads.ableton.com/manuals/81/ableton_live_manual_en.pdf Ableton Live Manual 8.1, Instrument Reference, Analog]</ref>


<!--T:33-->
== シンセサイザーでの表記 ==
== シンセサイザーでの表記 ==
製品によって、
製品によって、


<!--T:34-->
* PW
* PW
* Pulse Width
* Pulse Width
Line 85: Line 119:
* Duty Cycle
* Duty Cycle


<!--T:35-->
などの名称が使われる。
などの名称が使われる。


<!--T:36-->
同じ名称でも、パラメーター範囲の定義は製品ごとに異なる。
同じ名称でも、パラメーター範囲の定義は製品ごとに異なる。


<!--T:37-->
たとえば50%を中央値として0〜100%表示する機種もあれば、中央を0として正負方向に波形対称性を変化させる機種もある。
たとえば50%を中央値として0〜100%表示する機種もあれば、中央を0として正負方向に波形対称性を変化させる機種もある。


<!--T:38-->
したがって、数値だけで実際のDuty cycleを断定する場合は機器マニュアルを確認する。
したがって、数値だけで実際のDuty cycleを断定する場合は機器マニュアルを確認する。


<!--T:39-->
== PWMとの関係 ==
== PWMとの関係 ==
Pulse widthを時間的に変化させるのが[[<tvar name=5>Special:MyLanguage/PWM</tvar>|Pulse Width Modulation]]である。
Pulse widthを時間的に変化させるのが[[<tvar name=5>Special:MyLanguage/PWM</tvar>|Pulse Width Modulation]]である。


<!--T:40-->
たとえばLFOをPulse Widthへ入力すると、
たとえばLFOをPulse Widthへ入力すると、


  <code>40% → 50% → 60% → 50% → ...</code>
  <!--T:41-->
<code>40% → 50% → 60% → 50% → ...</code>


<!--T:42-->
のようにDuty cycleが周期的に変化する。
のようにDuty cycleが周期的に変化する。


<!--T:43-->
これに伴って倍音構成も連続的に変化し、静止したPulse waveより動きのある音色になる。
これに伴って倍音構成も連続的に変化し、静止したPulse waveより動きのある音色になる。


<!--T:44-->
== 変調源 ==
== 変調源 ==
Pulse Widthの代表的な変調源には、
Pulse Widthの代表的な変調源には、


<!--T:45-->
* [[<tvar name=6>Special:MyLanguage/LFO</tvar>|LFO]]
* [[<tvar name=6>Special:MyLanguage/LFO</tvar>|LFO]]
* [[<tvar name=7>Special:MyLanguage/Envelope</tvar>|エンベロープ]]
* [[<tvar name=7>Special:MyLanguage/Envelope</tvar>|エンベロープ]]
Line 116: Line 161:
* ランダムモジュレーター
* ランダムモジュレーター


<!--T:46-->
などがある。
などがある。


<!--T:47-->
LFOを使えば周期的PWM、Envelopeを使えばノート開始後に一方向へ変化するPulse Width sweepを作れる。
LFOを使えば周期的PWM、Envelopeを使えばノート開始後に一方向へ変化するPulse Width sweepを作れる。


<!--T:48-->
== アナログ回路 ==
== アナログ回路 ==
アナログVCOでは、ノコギリ波や三角波をコンパレーターへ入力し、比較閾値を変えることでPulse Widthを生成する方式がある。
アナログVCOでは、ノコギリ波や三角波をコンパレーターへ入力し、比較閾値を変えることでPulse Widthを生成する方式がある。


<!--T:49-->
たとえばランプ波が閾値より高い区間をHigh、低い区間をLowにすれば、閾値位置がそのままDuty cycleを決める。
たとえばランプ波が閾値より高い区間をHigh、低い区間をLowにすれば、閾値位置がそのままDuty cycleを決める。


<!--T:50-->
比較閾値をCVで動かせばPWMとなる。
比較閾値をCVで動かせばPWMとなる。


<!--T:51-->
この方式はPulse Widthが独立した波形形状パラメーターとして実装しやすい。
この方式はPulse Widthが独立した波形形状パラメーターとして実装しやすい。


<!--T:52-->
== デジタルシンセサイザー ==
== デジタルシンセサイザー ==
デジタルではPulse Widthを、
デジタルではPulse Widthを、


<!--T:53-->
* wavetable読み出し位置
* wavetable読み出し位置
* phase distortion
* phase distortion
Line 138: Line 191:
* oscillator warp
* oscillator warp


<!--T:54-->
などで実現できる。
などで実現できる。


<!--T:55-->
Ableton WavetableのClassic oscillator effectでは、PWパラメーターによって波形のPulse widthを変更でき、ハードウェアシンセでは通常Square/Pulse系で行われる処理を他のwavetableにも適用している。<ref name="ableton-wavetable-pw">[https://www.ableton.com/en/manual/live-instrument-reference/ Ableton Live 12 Manual, Wavetable oscillator effects]</ref>
Ableton WavetableのClassic oscillator effectでは、PWパラメーターによって波形のPulse widthを変更でき、ハードウェアシンセでは通常Square/Pulse系で行われる処理を他のwavetableにも適用している。<ref name="ableton-wavetable-pw">[https://www.ableton.com/en/manual/live-instrument-reference/ Ableton Live 12 Manual, Wavetable oscillator effects]</ref>


<!--T:56-->
== 極端なPulse width ==
== 極端なPulse width ==
Pulse widthを0%または100%へ近づけると、一方の状態がほぼ消失する。
Pulse widthを0%または100%へ近づけると、一方の状態がほぼ消失する。


<!--T:57-->
理想的な0%または100%では交流成分が消え、一定値のDCに近づく。
理想的な0%または100%では交流成分が消え、一定値のDCに近づく。


<!--T:58-->
実際のシンセサイザーでは、
実際のシンセサイザーでは、


<!--T:59-->
* 最小/最大値を制限する
* 最小/最大値を制限する
* 無音にならない範囲へクランプする
* 無音にならない範囲へクランプする
Line 154: Line 213:
* 波形を折り返す
* 波形を折り返す


<!--T:60-->
などの実装が行われる場合がある。
などの実装が行われる場合がある。


<!--T:61-->
== DC成分 ==
== DC成分 ==
High/Lowが+1/-1で対称な波形では、Duty cycleが50%なら平均値は0である。
High/Lowが+1/-1で対称な波形では、Duty cycleが50%なら平均値は0である。


<!--T:62-->
Pulse widthを50%からずらすと平均値が変化し、DC成分が発生する。
Pulse widthを50%からずらすと平均値が変化し、DC成分が発生する。


<!--T:63-->
実際のオーディオオシレーターでは出力カップリングやDSP処理によってDC成分を除去する場合があるため、画面上のPulse shapeと実際の出力平均値が単純には一致しないこともある。
実際のオーディオオシレーターでは出力カップリングやDSP処理によってDC成分を除去する場合があるため、画面上のPulse shapeと実際の出力平均値が単純には一致しないこともある。


<!--T:64-->
== 制御信号としてのPulse width ==
== 制御信号としてのPulse width ==
Pulse widthは音声波形以外でも、
Pulse widthは音声波形以外でも、


<!--T:65-->
* Clock
* Clock
* Gate
* Gate
Line 173: Line 238:
* Switching power conversion
* Switching power conversion


<!--T:66-->
など広い電子回路分野で使われる。
など広い電子回路分野で使われる。


<!--T:67-->
これらでは絶対時間としてのPulse widthが重要になる場合も多く、シンセサイザーの音色パラメーターとしてのPulse Widthとは文脈が異なる。
これらでは絶対時間としてのPulse widthが重要になる場合も多く、シンセサイザーの音色パラメーターとしてのPulse Widthとは文脈が異なる。


<!--T:68-->
== 関連項目 ==
== 関連項目 ==
* [[<tvar name=8>Special:MyLanguage/Pulse wave</tvar>|パルス波]]
* [[<tvar name=8>Special:MyLanguage/Pulse wave</tvar>|パルス波]]
Line 188: Line 256:
* [[<tvar name=16>Special:MyLanguage/Harmonic</tvar>|倍音]]
* [[<tvar name=16>Special:MyLanguage/Harmonic</tvar>|倍音]]


<!--T:69-->
== 参考資料 ==
== 参考資料 ==
<references />
<references />


<!--T:70-->
* [https://downloads.ableton.com/manuals/81/ableton_live_manual_en.pdf Ableton Live Manual 8.1, Analog]
* [https://downloads.ableton.com/manuals/81/ableton_live_manual_en.pdf Ableton Live Manual 8.1, Analog]
* [https://www.ableton.com/en/manual/live-instrument-reference/ Ableton Live 12 Manual, Wavetable]
* [https://www.ableton.com/en/manual/live-instrument-reference/ Ableton Live 12 Manual, Wavetable]
* [https://docs.cycling74.com/legacy/max7/tutorials/08_filterchapter03 Cycling '74, Filter Tutorial 3]
* [https://docs.cycling74.com/legacy/max7/tutorials/08_filterchapter03 Cycling '74, Filter Tutorial 3]
</translate>
</translate>

Latest revision as of 06:39, 9 October 2026

Pulse width(パルスワイズ、パルス幅)は、パルス波や矩形波の1周期のうち、特定の状態が持続する時間幅を表す量である。シンセサイザーでは、オシレーターのパルス波の形状と倍音構成を決める主要パラメーターとして用いられる。

実務上のシンセサイザーでは、Pulse widthを絶対時間ではなく周期に対する割合として表し、0〜100%や0.0〜1.0で設定することが多い。この場合はデューティ比とほぼ同じ量を指す。

定義

周期Tのパルス波でHigh状態が続く時間をτとすると、Pulse widthの絶対値はτである。

周期に対する比として表す場合、

Pulse width ratio = τ / T

となる。

百分率なら、

Duty cycle [%] = (τ / T) × 100

である。

たとえば周期10 msの波形でHighが5 msならPulse width ratioは0.5、Duty cycleは50%となる。

Pulse width と Duty cycle

電子工学ではPulse widthは秒、ミリ秒、マイクロ秒など時間で表す場合があり、Duty cycleは周期に対する比率を表す。

一方、シンセサイザーではノブやパラメーター名として「Pulse Width」が使われながら、実際には0〜100%の比率を操作する製品が多い。

このため、シンセシス文脈ではPulse widthとDuty cycleがほぼ同義的に使われる場合がある。

両者を区別する必要がある場面では、

  • Pulse width: パルスの絶対的な時間幅
  • Duty cycle: 周期全体に占める割合

として扱うと明確である。

50% と Square wave

HighとLowが同じ長さになる50% dutyの対称矩形波はSquare waveである。

Pulse widthを50%からずらすと、HighとLowの滞在時間が非対称なパルス波になる。

たとえば、

  • 50%: Square wave
  • 25%: 周期の4分の1がHigh
  • 10%: 非常に細いHigh pulse
  • 75%: Highが長くLowが短い

となる。

25%と75%は波形の極性関係やDC成分を除けば、交流成分の振幅スペクトルに対称的な関係を持つ。

倍音構成

Pulse widthを変えると各倍音の振幅が変化する。

50% Square waveでは偶数次倍音が打ち消され、奇数次倍音だけが残る。

50%から外れると偶数次倍音も現れ、特定のDuty cycleでは特定次数の倍音が周期的に弱くなる、または理想的には消える。

一般的な矩形パルス列のn次倍音振幅は、Duty cycle Dに対して概念的に、

Aₙ ∝ sin(nπD) / n

のような関係を持つ。

このためPulse widthは、フィルターを使わずにオシレーター自身のスペクトルを変化させる波形パラメーターとして重要である。

Pulse widthと音色

Pulse widthが50%のときは典型的なSquare waveの音色になる。

50%から離れるにつれて偶数次倍音を含むスペクトルとなり、より細いPulseでは独特の細く鋭い音色が得られる。

Ableton Liveの旧Analogドキュメントでは、Rectangular oscillatorのPulse Widthを狭くするとthinまたはpinchedな音色となり、対称状態ではSquare waveとなることが説明されている。[1]

シンセサイザーでの表記

製品によって、

  • PW
  • Pulse Width
  • Width
  • Shape
  • Duty
  • Duty Cycle

などの名称が使われる。

同じ名称でも、パラメーター範囲の定義は製品ごとに異なる。

たとえば50%を中央値として0〜100%表示する機種もあれば、中央を0として正負方向に波形対称性を変化させる機種もある。

したがって、数値だけで実際のDuty cycleを断定する場合は機器マニュアルを確認する。

PWMとの関係

Pulse widthを時間的に変化させるのがPulse Width Modulationである。

たとえばLFOをPulse Widthへ入力すると、

40% → 50% → 60% → 50% → ...

のようにDuty cycleが周期的に変化する。

これに伴って倍音構成も連続的に変化し、静止したPulse waveより動きのある音色になる。

変調源

Pulse Widthの代表的な変調源には、

  • LFO
  • エンベロープ
  • キーボードトラッキング
  • Velocity
  • Mod wheel
  • Aftertouch
  • Step sequencer
  • ランダムモジュレーター

などがある。

LFOを使えば周期的PWM、Envelopeを使えばノート開始後に一方向へ変化するPulse Width sweepを作れる。

アナログ回路

アナログVCOでは、ノコギリ波や三角波をコンパレーターへ入力し、比較閾値を変えることでPulse Widthを生成する方式がある。

たとえばランプ波が閾値より高い区間をHigh、低い区間をLowにすれば、閾値位置がそのままDuty cycleを決める。

比較閾値をCVで動かせばPWMとなる。

この方式はPulse Widthが独立した波形形状パラメーターとして実装しやすい。

デジタルシンセサイザー

デジタルではPulse Widthを、

  • wavetable読み出し位置
  • phase distortion
  • comparator演算
  • band-limited pulse generator
  • oscillator warp

などで実現できる。

Ableton WavetableのClassic oscillator effectでは、PWパラメーターによって波形のPulse widthを変更でき、ハードウェアシンセでは通常Square/Pulse系で行われる処理を他のwavetableにも適用している。[2]

極端なPulse width

Pulse widthを0%または100%へ近づけると、一方の状態がほぼ消失する。

理想的な0%または100%では交流成分が消え、一定値のDCに近づく。

実際のシンセサイザーでは、

  • 最小/最大値を制限する
  • 無音にならない範囲へクランプする
  • DCを除去する
  • 波形を折り返す

などの実装が行われる場合がある。

DC成分

High/Lowが+1/-1で対称な波形では、Duty cycleが50%なら平均値は0である。

Pulse widthを50%からずらすと平均値が変化し、DC成分が発生する。

実際のオーディオオシレーターでは出力カップリングやDSP処理によってDC成分を除去する場合があるため、画面上のPulse shapeと実際の出力平均値が単純には一致しないこともある。

制御信号としてのPulse width

Pulse widthは音声波形以外でも、

  • Clock
  • Gate
  • Trigger
  • PWM control
  • Servo control
  • Switching power conversion

など広い電子回路分野で使われる。

これらでは絶対時間としてのPulse widthが重要になる場合も多く、シンセサイザーの音色パラメーターとしてのPulse Widthとは文脈が異なる。

関連項目

参考資料