Pulse width: Difference between revisions
Pulse widthとDuty cycleの関係、倍音構成、シンセサイザーでの利用を詳説 |
NekoDensen (talk | contribs) 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を使えば周期的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とは文脈が異なる。