一庵堂ブログ

つれづれなるままに、日暮らし、ネットに向ひて…

全体表示

[ リスト ]

まあ、なぜ今、私が、こんなネタを書くのか不明ですし、アイディア自体は
かれこれ30年近く前のネタです。でも最近、突然思い出して計算してみたのでメモしてみました。

1980年代
YAMAHAのDX-7が発売されて、ノイズを発生させるアルゴリズムの多くに、自分の出力をモジュレーター
とする自己フィードバックした、オシレータがつかわれていました。
普通のモジュレータ→オペレータの接続と比較すると、設定方法とか音色とかも違っていました。

当時、なんでそうなるのかなと思いつつ、
FM→ベッセル関数(http://ja.wikipedia.org/wiki/%E3%83%99%E3%83%83%E3%82%BB%E3%83%AB%E9%96%A2%E6%95%B0)→そんな感じ?
って位に思っていました。

1990年代
世の中カオスブームで、カオスの代表的な事例としてパイこね変換、テント写像(http://ja.wikipedia.org/wiki/%E3%83%86%E3%83%B3%E3%83%88%E5%86%99%E5%83%8F)により
非周期的なノイズが発生することが示されていました。

YAMAHAのノイズ用のフィードバックFMって、ベッセル変換よりこっちの話じゃない?
って事に気が付きました。

で、この頃の話ですが、TIのTMS320シリーズというTIの名作DSPが比較的手ごろな価格になってきていて、
ちょっと工夫すれば、アナログシンセ作るより低価格で楽に出来るんじゃないかという価格になってきていました。
(リアルタイムにPCで実現するのはまだ無理だろうってのは自明でした。)

とは言え、ディジタルフィルターでVCFを作るのは難しかろうと思い、
音色を変化させるのはフィルターではなくウェーブテーブルだろうな〜と考えていました。

波形を変形させて音色を変化させる方法自体は
エンベロープでパルス幅変調(PWM:Pulse Width Moduration)をかけて
クラビネット、チェンバロ系の音を出すのにポリシンセ以前の電子ピアノでは
よく使われていました。

ポリシンセ時代で以降で有名なのはPPG 2.2のCASCADE MODEでしょう。
また、カタログの説明から想像するにCASIOのCZのPD音源もウェーブテーブルを使っていたのではないでしょうか?
で、1980年代に考えていた事とつきあわせると、Sin波のウェーブテーブルをフィードバックさせて、
どんな感じになるんだろうかと言うことをつらつら考えていました。
(0%では正弦波で100%では雑音になるのは分るけどその中間がどうなるか知りたかった。)

けど、実験するほどの熱意は無かった。(^◇^;)

2013年7月末
自己相関関数の本を買ってみようかなと考えていた時、突如として上記の話を思い出したので、エクセルで波形及びFFTした結果を計算してみました。

構成としては
イメージ 1

↑で

Lamp Gen.
アナログ的にはのこぎり波(ランプ波)の発生器ですが、インクリメント演算で出来るので
計算機上で実現するのが比較的容易な波形です。

Sine Wave Table
3波形分のサイン波(正弦波)の波形変換テーブルで、出力波形からのフィードバックが無い場合
(Lamp Gen.からの出力のみの時)は2番目の波形変換テーブルのみ使用して、正弦波を出力します。

サイン波の出力はLamp Gen.の出力のピークと合わせています。

(波形変換テーブルを3波形分用意しているのは、
Lamp Gen.と変換テーブル出力がどっちも最大の時、
Lamp Gen.と変換テーブル出力がどっちも最小の時、
をあわせて1つのテーブルにしたかったからだけです。
いろいろ実装を考えると実現するのが簡単そうだし…)

波形計算
上記をLamp Gen.の波高を128段階(7bit)で実現し、帰還量を0,10,20,30,40,50,100%に変化させてExcelで計算した例を示します。

イメージ 2

0:正弦波
10,20%:のこぎり波(ランプ波)に似ているように思います。
30%以上:なんかレゾナンスっぽいorノイズっぽい感じになっているように思います。

FFT解析
Excelを使用したのは手軽にFFT計算が出来るからで、上記の波形をFFT解析して、20次の高調波まで表示してみました。

イメージ 3

ノイズに聞こえるかどうかは分りませんが(^◇^;)
高調波の量をフィードバックする量である程度制御出来る事が示せたと思います。

まとめ
比較的単純な計算で音色制御できる例を示せたと思いますが、どうでしょうか?

正直言って「これで、フィルターが要らない!!」
なんて、これぽっちも思っていなくて、PWM変調による音作りと同様
単純で非常に少ない計算量で音色を制御できる事が魅力だと思います。

今回、サイン波のテーブルを使用している理由は、一番倍音の少ない音を
出したかったので、やっているので、少々倍音が増えてもかまわないんだったら

テント写像を使えば、単純な演算だけでテーブルを持つ必要すらありません。

シンセサイザーの音色変化の為のアルゴリズムについて最近どうなっているのか私は分りませんが、
ウェーブテーブルの切替機能+フィードバックをかける構造
だけあれば、結構面白い使い方ができるのでは無いかと思います。

PS.
Max/MSPとか持っていたら簡単に音を出したり、実験できるのでしょうか?

閉じる コメント(0)

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事