Hoover Sound専用オシレータをNTS-1で作ってみた

このブログ、1か月近く間が開いてしまいましたが、私はずっと在宅勤務をしています。
3月は、とうとう一度も会社には行きませんでした。

で、浮いた通勤時間で、いままで興味があってもできなかった、オンライン英会話やオンライン販売サイトなどを試してみています。

その甲斐あって?NTS-1用のオシレータを作って、さらにそのオンライン販売を始めてみたので、その話を書こうと思います。
まあ販売といっても、運が良ければNTS-1の代金が回収できるかも?というレベルですが・・・

今回は、まず作ったものの話です。

2月にNTS-1で試作したオシレータをちょこっとTwitterで紹介しました。

このオシレータですが、実際にはαJunoのDCOのエミュレータです。以前、その振る舞いはがっつり調べましたので、エミュレータ自体は割と簡単にできました。

しかし、αJunoというシンセサイザーは、内蔵コーラスや複雑なエンベロープ、そのエンベロープで制御できるパラメータなどにも特徴があって、DCOのエミュレーションだけではNTS-1でαJunoの音を再現するのは難しいです。

そこで、αJunoのDCOそのものではなく、αJunoを使った音色として有名な「Hoover Sound」専用のオシレータを作ってみることにしました。

Hoover Soundについては以前も触れたことがありますが、この曲の冒頭の「ウィ~~ンウィ~~ン」という音が有名です。

Hooverというのは、米国の電気掃除機のメーカーの名前です。
電気掃除機のスイッチを入れたときにモータの回転音が上がっていくところ、スイッチを切ったときに回転音が下がってくるところ、がこの音色と似ていることから、この音色がHoover Soundと呼ばれているようです。

こぼれ話ですが、この波形はαJuno-2のプリセット音色の”What the?”という音色がベースになっています。この音色をプログラムしたEric Persing氏は、以下のビデオで

日本のエンジニアがHoover Soundを作ってくれというので、Hoover Soundって何だ?といろいろ調べたら、最後に自分の作った音だってことが分かったんだ! もともとこの音は日本のエンジニアへのジョークのつもりで作ったんだよね

と語っています。

Hoover Soundには、(1)PWMつき鋸波の音を使っている(2)フィルターをほとんど使っていない(3)ピッチをエンベロープで変化させている という特徴があります。

特にPWMつき鋸波(SAW3)というαJuno特有の波形のPWMをLFOで揺らせた音が印象的です。αJuno以外のシンセサイザーはこの波形は出せないので、Hoover Soundを作るときはSuperSawなどの他の波形で代用しているようです。
これにさらにPWMつき矩形波(PULSE3)と、サブオシレータによる2オクターブ下のデューティ比25%の矩形波(SUB5)を足し合わせたのが、Hoover Soundのベース波形です。

PULSE3とSAW3は位相が同期していますので、足し合わせると図のように鋸波の半分が突出したような波形になります。SUB5を足すと、この波形がさらに4回に1回、全体が持ち上がるような感じになります。

そして、この音色ではフィルターを全開にしているので、倍音成分がそのまま出ていきます。DCOの生音が強調された音色だと言えます。なので実はHoover Soundは、αJunoの音色の中では比較的、DCOだけでエミュレートしやすい音色なんですね。

最後にピッチの変化ですが、上に挙げた「Dominator」という曲では元の音程から1オクターブ上がって、5度まで下がって落ち着くという動きをしていますが、これに限らずピッチがスムーズに上下することが重要で、これまでにさまざまなピッチ変化をするHoover Soundが使われています。
例えば、次の曲の音もHoover Soundがありますが、ピッチの変化の仕方はDominatorとは違っていますね。こちらは全音で下がって上がるフレーズが印象的ですが、メロディアスなのでピッチベンダーで変化をつけているのではないかと思います。

音色”What the?”(と、多分DominatorのHoover sound)のピッチ変化の制御には、αJunoの持つ、エンベロープをDCOのピッチに適用する機能が使われています。
αJunoエンベロープは、マニュアルにある下図のように、普通のADSRとは違う構成になっています。

後半のSustain-Releaseの部分は一般的なシンセサイザと同じなのですが、前半部分はキーを押すとT1後にL1へ到達し、次いでT2後にL2へ到達し、さらにT3後にL3に到達するという三段ロケットになっています。

そして、この図は正確に表現されているのですが、T1区間とT2区間では直線的(実際には等比級数的)に値が変化するのに、T3区間では曲線的(実際には多分等差級数的)に変化するのです。(人間の感覚は等比級数的にできているので、等比級数的に変化する場合に直線的に変化したと感じます。)

面白いのはL1=L2の場合にT2は0になり、T2区間をすっ飛ばすことができること、L3>L2になっていてもかまわないということです。これをうまく使うとADSR的かつDの部分の変化が等差級数的なものも等比級数的なものも作れますし、Attak-Hold-ReleaseタイプでAとRが等差級数的なものも作れます。

下の画像はDominatorの冒頭部分のピッチ変化をSoundEngine Freeで可視化したものですが、等差級数的に変化させているのが分かります。(音階の周波数は等比級数的ですので、ピッチが等比級数的に変化していれば画面上では直線になるはずです。)

前置きが長くなりましたが、こういったもろもろのことを考慮しつつ、「Hoover Soundを簡単に作る」ことを目的としたオシレータを作ってみることにしました。

αJuno DCOエミュレーションのコードをベースに、波形自体は固定とします。エミュレーションではありますが、実機とそこそこ似た感じの音が出せます。ハードウェアシンセでPWM付きSAWを出せるものはこれまでなかったかもしれません。


なお、波形は固定といいつつ、ノイズだけはオン・オフが選べるようにしてみました。”What the?”にはノイズ成分が含まれているのですが、音作りの上ではノイズは良い面も悪い面もあるからです。

ピッチの変化は、ShapeとShiftShapeパラメータに割り当てて、NTS-1のノブでアタックタイムとディケイタイムをユーザが変更できるようにしてみました。
NTS-1では、エンヴェロープをピッチにかけることができません。(Minilogue xdは、マニュアルを見た感じだと普通のADSRタイプのエンベロープ、OSC2のPitchをエンベロープで制御することができるようですが)
ですので、内蔵のEGとは別にオシレータ本体にピッチエンベロープを実装する必要があります。

実装したピッチエンベロープは簡易的なもので、上述のαJunoのT1とT2区間だけです。値の変化も等比級数のみです。
L1、L2の値はそれぞれパラメータにすることも考えましたが、「簡単に作る」ことを重視して、プリセット式にしました。
以下がその内容で、L1とL2の組を1つのパラメータで選択できるようにしました。

コーラスとピッチ変化を加えた音はこんな感じです。

厳密には、先述の通りピッチの変化が等比級数的なところがDominatorの音色とは違いますが、まあ雰囲気は出ているのではないでしょうか。

コメント