RSS Twitter Facebook
DTM / シンセサイザー / VST / WebMusic 関係の技術情報を発信しています

Products : ユーロラックモジュラー「RedLine」販売中

ユーロラック・モジュラーシンセサイザー「RedLine」を販売開始しました!

ユーロラック「RedLine」



2017/01/18 (2017年01月 のアーカイブ)

地道なアップデート[webmusic-icons]

Twitter Google+ Facebook

音楽系アプリ用アイコンセット webmusic-icons、回せるようになったりしています。
webmusic-icons

Posted by g200kg : 2:32 AM : PermaLink

2017/01/10 (2017年01月 のアーカイブ)

PhaserとFlangerの違いを説明しよう

Twitter Google+ Facebook

元々フェイザーはロータリースピーカーを目指して、フランジャーはテープレコーダを使ったフランジング効果を目指していたという出自の違いはともかくとして、どちらも似たような感じのエフェクトだし、まあ気に入った方を使えば良いんじゃないですかね?

とはいうものの何がどう違うのかは気になるでしょ、という事で比較できるパッチをWebAudioDesignerで作ってみました。
上半分がフェイザー、下半分がフランジャーです。Startボタンを押すと動き始めます。右の方にある赤いボタンはフランジャーとフェイザーの切り替えになっています。入力はどちらもホワイトノイズでスペクトラム平坦なんですが、エフェクトを通した後、複数のノッチが掛かっているのがわかります。フェイザーはallpassfilterによる位相回転、フランジャーは一定時間のディレイで位相がずれて、元信号と加算する事でノッチが発生するんですね。

フランジャーの方はリニア周波数軸に対して等間隔でノッチがずらっと並ぶいわゆるコムフィルターになります。ディレイタイムを操作するとノッチの密度が過激に変化します。

フェイザーの方はフィルターの段数で回転角が決まります。このパッチでは2次フィルター2段ですので昔ながらの4段フェイザーに相当します。回転角720度でぐるっと2回転してノッチの個数は2個固定です。フィルターの周波数をいじるとそのままスライドしてゆきます。

それからフランジャーはリニア周波数に対して上から下まで問答無用で一定間隔でノッチが並ぶんですが、フェイザーは限られた個数のノッチが狙った周波数帯に現れます。4段で2個のノッチだとわかりにくいですが並び方もリニア周波数じゃなくて厳密ではないですが対数周波数軸に対して等間隔っぽくなります。

最近のフェイザーって12段くらいあったりする機種もあるようなんですが、段数が増えるとノッチが増えるので音の傾向はフランジャーに似てきますかねえ。フェイザーの各段で微妙に定数を変えてる機種もあるみたいだし設計の自由度は高そうですけど。

という事で気に入った機種を使えば良いんじゃないですかね。フェイザーだろうがフランジャーだろうがニュアンスは機種それぞれだし。

WebAudioDesigner - PhaserとFlanger

Posted by g200kg : 12:37 AM : PermaLink

2017/01/01 (2017年01月 のアーカイブ)

WebAudio APIでウォブルベースを作ってみる

Twitter Google+ Facebook

「ウォブル」とか「ワブル」とか言いますけど、ベースに使われる音色の1つですね。EDM界隈でここ数年くらいで割合よく聞く言葉になりました。

Native InstrumentsのMASSIVEなんかが良く使われているようですが、特別な機材が無いとできないというわけでもなさそうです。内容としてはフィルターの開け閉めやその他エフェクトをLFOからモジュレーションして更にそのLFOの周波数をぐにぐにと変化させるという手法です。周波数をいじる方は演奏するならモジュレーションホイールに割り当てたり、DAW + ソフトシンセで打ち込むならLFOの周波数をDAWのオートメーションで動かすという方法が取れます。

簡単と言えば簡単なんですが、表現としてはなかなかインプレッシブです。
WebAudio API でこんな感じの音が出せるかなあという事で実験してみます。WebAudioDesignerで組んでみました。

WebAudioDesigner

ChromeかFirefoxでアクセスして左上の[Start]ボタンを押すと鳴ります。

ざっと解説すると...
音源になっているのはキーボードからドライブされている左端にある2つのオシレータです。それを上の方にあるフィルターを通した後ウェイブシェイパーで歪ませます。真ん中下の方にあるのは、本来ならDAWのオートメーションで操作するウォブルの周波数の変化を作る部分で、超低周波なオシレータとウェイブシェイパーでパターンを作っています。右の方にあるのはその後のエフェクトでステレオコーラスとリバーブとコンプを組んでいます。

ごちゃごちゃ繋いでいる内になんだか良くわからなくなっていますが、まあやればできるという感じですかね。


Posted by g200kg : 8:00 PM : PermaLink

2016/12/30 (2016年12月 のアーカイブ)

サイトリニューアル

Twitter Google+ Facebook

年末ですけど、サイトを大幅に書き直したりしています。
なかなか手が回らない英語版のページとかどうしようかと思っていたのですが、ここは、googleのウェブサイト翻訳ツールという奴に頼って統合するという方向でいってみます。↓これですね。

ウェブサイト翻訳ツール - Google Translate

これは楽だ。

ただ、先日google翻訳の精度が飛躍的に上がったという話があったのだけど、それはこのウェブサイト翻訳ツールにはまだ適用されていない模様で、ちょっと残念な英語になってたりします。

googleウェブサイト翻訳:
「年末ですけど、サイトを大幅に書き直したりしています。」 ⇒ 「But is the end of the year, has been or substantially rewrite the site. 」

google翻訳:
「年末ですけど、サイトを大幅に書き直したりしています。」 ⇒ 「Although it is the end of the year, I am rewriting the site drastically.」

まあ、ウェブサイト翻訳の方もそのうち精度が上がる事を期待しているんだけどどうなんでしょ。


後問題なのはソースコードなんかを載せている所で、ソースコードをいじられちゃったり、SyntaxHighliterを使っているとよくわからない文字化け状態になる事があります。こんな感じ...

これを避けるには、DOMエレメントのクラス名に"notranslate"を付ければその内部は翻訳対象から外れるという仕組みがあるのでソースコードを書いている所にこれを付けて回避できます。

ただしこれも少し注意点があって適当なタグに"notranslate"を付けても認識してくれない事があります。挙動がいまいち掴めていないのですが、確実なのは翻訳を回避したい所全体を<div class="notranslate">で囲んでしまうのが安定するようです。

何にしても言語毎に分けていて何か書き直そうとする度にあっちこっち何か所も直さなきゃいけないという事から解放されるというのは素晴らしいです。ネイティブの人が読んでどう思うのかはわからないけど、翻訳精度の向上をただただ期待...


Posted by g200kg : 6:30 PM : PermaLink

2016/12/21 (2016年12月 のアーカイブ)

最近のWebAudio APIでちょっと書いてみる

Twitter Google+ Facebook

このところハードウェアばかりいじってて、たまに触らないとWebAudio APIの使い方を忘れそうなのでちょっと書いてみた。 スコアを演奏するのを最近のWebAudio APIでどれだけ簡単に書けるか、という試みです。
actx=new AudioContext();
score=[
  10,7,-3,12,-1,10,-2,7,3,-6,  10,7,-3,12,-1,10,-2,7,3,-6,
  17,8,-4,17,8,-2,14,8,-6,     15,7,-4,15,7,-2,10,7,-6,
  12,8,-4,12,8,-2,15,12,-3,14,10,-1,12,8,-2,  10,7,-3,12,8,-1,10,7,-2,7,3,-6,
  12,8,-4,12,8,-2,15,12,-3,14,10,-1,12,8,-2,  10,7,-3,12,8,-1,10,7,-2,7,3,-6,
  17,14,-4,17,14,-2,20,17,-3,17,14,11,-1,14,11,-2,15,12,-4,15,12,-2,19,15,-6,
  15,-2,10,-2,7,-2,10,-3,8,-1,5,-2,15,3,-6,
];
p=-1;
t=actx.currentTime;
setInterval(()=>{
  while(actx.currentTime>t-2){
    n=score[p=++p%score.length];
    if(n>0){
      o=new OscillatorNode(actx,{frequency:220,detune:n*100});
      g=new GainNode(actx,{gain:.3});
      o.connect(g).connect(actx.destination);
      o.start(t);
      o.stop(t+4);
      g.gain.setTargetAtTime(0,t,.9);
    }
    else
      t-=n*.4;
  }
},100);
こんな感じになりました。まあ世間はクリスマスのようですしそれっぽい感じになっています。 なお最近 WebAudio APIに色々と追加されている機能を使っていますので Chrome でしか動きません。

デモはこちらにあります。 test-kiyoshi.html
ちょっと解説。
2行目。 score という配列に入っているのが演奏データです。プラスの値とマイナスの値が混じっていますが、プラスは発音の指示、マイナスは指定の時間だけ待ついわゆるステップタイムになります。単音の演奏ではプラスとマイナスの値を交互に指定する事になりますが、プラスの値を複数続ける事で和音の発生も可能です。

11行目。 t=actx.currentTime がありますが、この t は現在時刻ではなく、次に発音するタイミングを先読み処理するために使用します。処理全体は setInterval() で回っていますが、音の発生タイミングは後で start()、stop()、setTargetAtTime() に渡されるこの t で決まります。この先読み処理をしないと処理が重くなったりタブが裏に回ったりした時にテンポが崩れる事になります。while(actx.currentTime>t-2) というループで2秒先のデータまで読んでいます。

16行目。1つの発音に対し、OscillatorとGainをそれぞれ作成し、setTargetAtTime()で音の減衰を作っています。WebAudio APIを触り始めた人が最初にはまる罠として、一度止めたOscillatorは再使用できないという仕様があるのですが、元々の設計が意図していたのは、発音1回に対してOscillatorを1つ生成するというこんな感じの使い方だったと思われます。まあ、シンセ的なものを作ろうとするとそれじゃすまないんですけどね。

さて、ノードを作るのにactx.createOscillator()じゃなくてnew OscillatorNode(actx,...)を使っています。これが使えるのは今は Chrome だけですが、一緒にパラメータの値を {frequency:220, detune:n*100} のように渡せるのが楽でいいですね。

ここでscoreから読みだした発音データを detune に渡しています。楽譜上の音の高さ(MIDIノート番号とか)を周波数に変換するには、
440*Math.pow(2,(note-69)/12)
なんていう式が良く使われてたりするのですが、オシレータには detune というcent (100セント=半音) 単位のパラメータがあり、そちらを使うとノートの番号から簡単に駆動できます。1200セントで1オクターブです。

そして18行目の
o.connect(g).connect(actx.destination)
こういう風にノードの接続を繋げて書けるのが最近の WebAudio API です。うん、書きやすい。

23行目。さて、scoreから読んだ値がマイナスの場合には、発音すべきタイミングを進めます。これで、実時間 currentTime が t の 2秒前まできた時にオシレータが準備される事になります。

WebAudio API、扱うための予備知識みたいなものが結構色々必要なのでとっつきにくいかなぁとは思うのですが、慣れてくれば簡単に書けますよ。

※なお、「きよしこの夜」って楽曲と英語歌詞の著作権は消滅してるんですが、日本語歌詞はまだ著作権残ってるんですよね。音楽系扱う時はこのあたり注意しましょう。

Posted by g200kg : 1:42 AM : PermaLink

2016/12/20 (2016年12月 のアーカイブ)

TFoM Cafe Deluxe

Twitter Google+ Facebook

2016年12月18日(日)、「TFoM Cafe Deluxe」が六本木スーパーデラックスで開催されました。
Tokyo Festival of Modular が主催する新しいイベントシリーズでメーカーの製品ブースとモジュラーのライブが行われます。という事で、私も協賛してブースを出してきました。

ブース準備中の会場の様子です

準備したg200kgブース。 こじんまりと新製品 SUSHI の先行販売体制で行きます

お隣にブースを出していたCentreさん。ASBS2016にも出されていたCDジャケットサイズのシーケンサ「C_Quencer」とか機能強化版のプロトタイプとか。http://centrevillage.net/

Hikari Instrumentsさん。新製品のアッテネータ/ミキサーも展示しています。http://www.hikari-instruments.com/

キッコサウンドさん。楽器フェアにも出てましたがユーロラック界に進出です。mi.1e は Bluetooth 接続でCV/GATEを出すというモジュールです。http://quicco.co.jp/

X-Fade Modularさん。ADSR-1とかコンパクトシーケンサMi-Ko-Cとか

米本電音研究所さん。ユーロラックに搭載されたいつもの謎ガジェットSYSTEM-Yを展示。ツクダオリジナルのスライムは電気を通すという謎豆知識をゲットw。
http://yonemotominoru.com/

ユーロラックケースを作る Vivicat Green木工所さん。どうしても価格上の比重が高くなるユーロラックのレールを木工技術でカバーしているのでとても安くなっています。
http://www.vivicat-green.net/

ElectroGraveさん。ユーロラックフォームファクターではありませんが、4Chパンとか特徴的な機材を展示。http://electrograve.com/


Sputnik Modular さんの Spectral Processor。16バンドのフィルターバンクとエンベロープフォロワ、VCAが入っていてボコーダーにもなります。



ライブの方も盛りだくさんです。タイムテーブルはこんな感じで、マーケットタイムと製品デモをはさみつつモジュラーライブが行われます。


TFoM主催のDave Skipper氏



こちらも主催のHATAKEN氏。


トリは電子海面のお三方でした



こんな感じで無事終了しました。g200kgブースにお立ち寄り頂いた方、ありがとうございました。
新製品 SUSHI は会場限定先行販売という形を取らさせていただきましたが、年明け早いうちに体制を整えたいと思います。

Posted by g200kg : 2:12 AM : PermaLink

2016/11/21 (2016年11月 のアーカイブ)

アナログシンセビルダーズサミット2016が開催されました

Twitter Google+ Facebook

今年も恒例のDIYシンセイベント、「アナログシンセビルダーズサミット(ASBS)」が開催されました。という事で私もユーロラックモジュールの SUSHI プロトタイプを持ち込んできたので、一部だけですが気になったものなどさらっと。
会場は北の丸公園の科学技術館、いつもの会議室です。この日は雨だったので荷物が多い人は大変だったのでは。
伝説のシンセビルダー、山下さんが持ち込んだ機材。手前はワークショップの教材などにも使っているというアームテルミン。そして奥にある白い鍵盤が新作のメロトロンっぽい何か。メロトロンと同じGから始まるキーボードになっています。これをやりたかったために既存のキーボードを途中でぶった切ったとか。
中身も見れました。Arduinoで4音ポリ音源を搭載。メロトロンぽいピッチの不安定さを出すための全力チューニングが施されています。
hakuさん製作のシンセ。完成品は青いボックスでシルク印刷まで自前でやっているとの事。その中身が基板むき出しの奴で、CPUはSTM32。オシレータにBLITを使用、サチュレーション処理でオーバーサンプリングまでやっている。ツマミで搭載しきれない機能をPC上で編集できるという実に実用的な実装です。
原田さんの謎ガジェット。気のせいかHDDのように見えますが、これでスクラッチぽいプレイができますww
Si7さんのタッチパネルLCD搭載のピアノロール型シーケンサーPiR-01。ユーロラックモジュールになっています。でかい。プロトタイプ展示という事ですが残念ながら発売予定は無いそうです。
せいみさんのFlashAir Sound。WiFi 搭載の SD カードである FlashAir に音源チップを接続、iPhone等の端末からトリガーできるというもの。FlashAir は Lua スクリプトなるもので GPIO をもった完全なマイコンとして扱えるらしい。そんな事できたんだね。
centrevillageさん。問題のブツは中央にある黒くて丸い奴。CDのジャケットが基板でできていて組み立てるとシーケンサーになるというものらしいですが、このシーケンサーがちょっと手が込みすぎな代物。基本はユークリッド系のシーケンサーのようですがやたら多機能でスケールの切り替えやらルーパー的な記録機能やらもあるらしい。
小野さんが持ち込んだ JASPER。ビンテージチープマシンの名機、EDP WASPのクローンです。ブリブリ鳴ります。
去年は基板状態だったsweaccoさんの無限音階オルガン。1オクターブしか鍵盤がありませんが無限音階で上下が繋がっているのでどこまででも弾けます。ちゃんとケースに入るとかわいい。
公生32+さんが持ち込んだMoogのVCFのカスタム品。
ちなみに私はこんな感じでユーロラックモジュール、RedLineシリーズ SUSHI を並べていました。
という事で他にも興味深いものは色々あったのですが、いつもの事ながらその後の懇親会の方がやたら濃い。

いつの間にかこんなの撮られてました。自重。

Posted by g200kg : 12:17 AM : PermaLink

g200kg