電音の歩み

電子楽器を中心とし、ものづくり関係も含めて紹介していきます。

母校のホームカミングデーの展示協力します

大学時代の一年先輩の上田氏からメールがありました。

氏は、府大の先輩、松下での先輩であり、その後は関大に勤務されていたのですが、いつの間にか母校の府大の広報・卒業生科の仕事をされているようです。

 

11月4日開催の第9回目のHCD(ホームカミングデー)は135年目なので盛大に行うとのことで、第2部のパーティーに、卒業生代表として併設展示をして欲しいという依頼でした。

www.osakafu-u.ac.jp

私に依頼が来た理由は、学生時代仲間と6800系のマイコンのハード・ソフトの開発をやっていたのをご存じで、その中でも私が開発した「Nakamozu Tiny Basic」というインタープリタは、ASCIIに連載したりして、全国の一部の方に使って頂き他のTinyBasicより高速と評価されていました。実際はそれよりも、ナカモズの名称が付いていることがHCDにふさわしいと言うことでお声が掛かったのだと思います。

Nakamozu Tiny Basic /ASCII

結局の所、Nakamozu Tiny Basicは動くハードが残っていないのと、せいぜいASCIIの合本を展示するくらいしかできないので、

学生時代それ以上に力を入れていた「アナログシンセ」を展示することにしました。

アナログシンセ資料室

と言うわけで、例の大きなモジュラーシンセをまた運び込むことになりました。

また、最新版としてEuroRack版のシンセも持って行き音出しに使うつもりです。

 

下記のHCDのお知らせには既に予定として書き込まれています。

 

www.opucr.osakafu-u.ac.jp

 

あのシーケンサーが帰ってきました。

40年前、初歩のラジオに連載を開始したとき、既にシンセこ・ラックの上に供えられていたシーケンの話です。

拙著「伝説のハンドメイドアナログシンセサイザー」のP198 に紹介しているように、連載前のシンセ初号機と組み合わせて使う目的で、友人のikkei氏に依頼したモノです。

モーグなどのシーケンサーを知らなかったため、とても面白い仕様になっています。

このあたりのことは、本に書いているので省略するとして、省略するとして、

書籍執筆のためにシンセを実家の押し入れから取り出したときには、既に動かなくなっていました。

 

このシーケンサーは、マイコンは使っていないのは当然として、ロジックICも使っておらず、ディスクリートで、何度か改造を経ているようで残っていた回路図も怪しい。

ということで作者のikkei氏に、直る期待半分で手が空いたときに見て欲しいと行って預けていたところ、本当に直って帰ってきました。 はんだが取れたり、線が切れたり、接触不良やトランジスタの故障などいろいろあったようです。

 

早速、最新のEuroモジュラーと接続して動作させてみました。

下の動画をじっくり見て貰えれば、以外と多機能なことが分かると思います。

ステップ毎にゲートをオフにできたり、CVの加算値を出力させてアクセントを付けたり、別に設定したCVとの加算をボタンで行い、ピッチをシフトさせたり等々・・

 


40数年前開発の、「あのシーケンサー」が帰ってきました。

 

 

f:id:hhh_yama:20181005163735j:plain

 

 

 

f:id:hhh_yama:20181005164506j:plain

Frequency Shifter の検討(その4)試作した回路

f:id:hhh_yama:20180813220058j:plain

f:id:hhh_yama:20180813221013j:plain f:id:hhh_yama:20180813221106j:plain

 

試作した回路

試作した基板は、入院中に発注し自宅に届いていたものです。

構成要素となる、Dome Filter , 二相sine/cosOSC , Ring Modulator は、個別に検証・調整が必要なので、この基板はブレッドボードのつもりで、これらの構成要素は基板上で未接続にしています。 

空きエリアにはユニバーサル部が設けられているので、検証後はここを利用して接続し、Frequency Shifterに仕上げようという目論見です。

 

示した回路図は、ここの構成要素を個別に検証後、手配線で接続したものを含んだ全体の回路図です。

また、Frequency Shifter は、サブセットとしてRing Modulatorを含んでいるので、スイッチ( FS/RM )で切り替え比較できるようにしています。

二相sine/cosOSCは、ふたつの積分器のCを切り替え、レンジを広げています。

 

スイッチ( Freq +/- )は、sine/cos発振器の周波数を負にすることも出来るようにしています。例の式(2A)(2B)を切り替えることに相当します。 これによりFrequency を上げる方向と下げる方向の両方が切り替えられます。

 

スイッチ( Mix )は、Frequency Shifter の出力に原音をミックスする機能です。

例えば周波数を0.3Hzシフトした出力と原音をミックスすると、ディチューンした2オシレータの様な音が作れます。 実際のディチューンとの違いは、基本波のうなりが0.3Hzになるだけで無く、全ての倍音同士のうなりも0.3Hzになるので、とてもソフトでやさしい、一味違うユニゾンコーラスに感じました。

 

またスイッチ( FS / RM )で、Ring Modulatorと比較すると違いが良く分かります。

Ring Modulatorは、原音に高調波の少ない音を入れないと、発生した和と差の二つの音の倍音同士が不協和になり、濁った音になりますが、

Frequency Shifter に切り替えると、二つの音の片方が消えるためきれいな音になります。

これについては、周波数によっては完全に消えずに小さく残る場合も有り、完全にするためにはDome Filter の精度を上げる必要がありそうです。ただ、現状でも十分効果は発揮できていますので、何を狙うかにより改善点がかわりますね。

 

面白いのが、Ring Modulatorで1Hzなどの低周波で変調すると、1Hzで音量が変化するAMのトレモロ音になりますが、Frequency Shifter に切り替えると、振幅の変動は消え、1Hz だけ周波数がシフトした音が得られますので、原理は分かっていても不思議な気がします。

したがって、これに原音をミックスするとユニゾンコーラスになる訳です。

 

VCOの音をそのままシフトしても、ピッチと響きは変わるのですが、それほどの面白味は無く、特定のピッチを持たないリズム系の音の方が、周波数シフトの印象が強烈にでます。

 

また時間を取って、音のサンプルを録音したいと思います。

Frequency Shifter の検討(その3) 二相正弦波発振器

f:id:hhh_yama:20180810234932j:plain

                 grapf 1

f:id:hhh_yama:20180810234944j:plain

                circuit 1

二相正弦波発振器

Frequency Shifter を構成するには、下式のcos(αt) , sin(αt) 二相の変調用の正弦状波発振器が必要です。

  f:id:hhh_yama:20180810235423p:plain

私がFrequency Shifterに期待する効果が、

  (A) 周波数シフト(上下) & 倍音構成を崩す

  (B) ディチューンによるコーラス効果

です。

 

変調用発振器の発振周波数としては、(A)の為には原音の音高以上の可変域が必要になり、

(B)の為には0.1 Hz以下までの超低周波まで可変域の下限が必要です。

また、応用を広げる意味では VCO にしたいところですが、今回は早く結果・効果が知りたいのでVCOは諦めることにします。

 

また、簡単な構成で低歪みな正弦状波を出力したいので、ファンクションジェネレータ方式にはしないで、正弦状波を直接発振する方式とします。

 

選んだ方式は、二重積分ループを使った状態変数型の発振回路です。

 circuit1 がその回路です。

U2,U3が反転積分器でU1で反転させてメジャーループを構成しています。

out2を cos out とすると、それをU1で反転した -cos を反転積分した out1 は、sin outになり、

それをさらに反転積分した out2 は cos になり正帰還ループになります。

またout1からのマイナーループもあり振幅の安定化を計っています。

 

発振周波数は、二つの積分器の時定数を変えることにより行います。

C=C1=C2, R=R3=R4 とすると発振周波数は、f = 1/(2π C R )になります。

実際には、2連VRを使うことになります。例えば100KのVRを使うとき直列に例えば1Kの抵抗を接続します。このように、この構成でそこそこ実用的に可変できる範囲は二桁程度です。それ以上欲張ると、周波数の高域の可変カーブが急峻になりすぎ使えません。また、2連VRのトラッキング誤差が高域で顕著になるので発振が安定しなくなります。

したがって、目標の可変域を得るためには、Cを何段階かに切り替えることにします。

 

積分時定数を変える方法として、2連VRで入力電圧をアッテネートした上でその電圧を固定のRを使った積分器を使う構成もあります。 この構成はA型VRを使うと周波数の可変カーブが自然になるので私もよく使っていましたが、低周波側では積分器の入力電圧が低くなるため、オフセットバイアス電圧の影響が顕著になるためやはり可変範囲を大きく出来ないので、採用しないことにしました。

 

この定数でシミュレーションしたのがPhoto1です。

発振ループゲインの調整は、R7を増減します。

R7を大きくしすぎると発振が止まり、小さくしすぎるとout1の正弦状波出力のつぶれが増えてきます。out2の歪みは変化しません。

 

周波数切り替えで、Cを切り替えたときR7 の調整値が変わらなければ良いのですが。

 

 

 

 

 

 

Frequency Shifter の検討(その2) Dome Filterの検討

f:id:hhh_yama:20180808101443j:plain

graph 1

f:id:hhh_yama:20180808101458j:plain

circuit1

 

Dome Filter ?

入力された原音の基音と高調波の位相を90°シフトするフィルタをDome Filterと呼びます。

ヒルベルト変換のアナログ近似で、実部用と虚部用の二つのAll Pass Filter ( Phase Shifter )で構成します。

各Phase Shifterは、オーディオ帯域を出来るだけ直線的に位相をシフトするため、一段で180°シフトできる一次のPhase Shifterをつなぎ目を滑らかに6段つないで広帯域に直線的位相シフトをしています。graph1の上と下のカーブがcircuit1の上段と下段のPhase Shifterの特性です。

20Hzから20KHzの範囲でほぼ直線に見え、上段と下段の出力間の位相差は90°になるようにしています。実際シミュレーションではこの範囲でほぼ90°になっています。

この特性を得るにはR,Cの精度が相当必要と思われますが、時定数のRの値が全て異なるのでこれを実装するのは大変です。

実際どんな音が得られれば良いのかも未知数ですので、今回の試作では5%以下で良いつもりでやります。

 

入力された原音の基音と倍音を全て90°位相シフトするのは、アナログでは不可能(?)なので、このような少しごまかしっぽい構成がとられています。

人間の耳はオーディオ信号の位相が変化しても分からないということで、上段の出力を原音の代わりとみなすことで、90°シフトを実現していると理解しています。

 

 

Frequency Shifter の検討(その1) 原理と構成について

 

 

f:id:hhh_yama:20180806233831p:plain 

                                       Fig1

f:id:hhh_yama:20180806004201j:plain

 

Freqency Shifterって?

 

長い入院生活の間で何か面白いモジュールの検討をしたいと思っていました。

そのとき頭に浮かんだのが、Freqency Shifter です。

かなりマイナーなモジュールで、私自身も実際の製品を見たことも無く、音を聞いたこともありません。

 なぜ思いついたかというと、10年近く前ですが、houshu氏が学会で京都に来たとき、折角だからということで夜に京都でお会いし飲む機会がありました。

そのとき、彼が話題のひとつとして持ってきてくれたのがFreqency Shifterで、資料としてたしかUSP(米国特許)を見せて貰ったように思います。

このモジュールがどれほど音作り効果が期待できるかはともかく、技術的な面白さに大層興奮したことだけは記憶しています。

 

検討に入る前のおぼろげな私の理解

・Ring Modulatorで得られるピッチシフトは、必ず二つの周波数(和と差の周波数)が発生する。

 多くの場合不協和の2音が現れるので、倍音が多い原音を入れるとすぐ濁ってしまうので、きれいな音を出すには、原音は倍音の少ないものに限定される。または、あえて濁った音を出す使い方になる。

・なんとかして和や差だけの周波数が得られれば、濁らせずにピッチシフトができ、より広範囲な応用ができそう。

・Ring Modulatorでの4象限乗算を90度位相のずれた、sineとcosで各々行えば、差の出力を打ち消すことが出来そうである。

・自分で発生する変調信号では、sineと同時にcosも出力するの構成が可能。

 しかし、入力される任意の原音(倍音も含めて)に対して90度位相のずれた信号(倍音含む)を作るのは困難。たぶん不可能だろう。(各倍音を検出して90度位相のずれた信号を作るデジタル的な手法は×。原音には和音や打楽器音なども来るため。)

・dome filterという巧妙な技術により原音を二相化できそう。

 ポイントは原音の全ての倍音を二相化するのでは無く、位相の絶対的なシフトは気にせず(耳では位相だけがずれても違いは分からないはずなので)相対的に90度位相のずれた出力を出す二組のPhase Shifter(広域に直線的に位相がシフトよう設計された)の二組の出力を、sineとcosとする。

 dome filterはFreqency Shiftwerのキモですので次回詳しく説明します。

 

 今回の検討

 病室からhoushu氏にメールして、moog他の資料のURLを教えて頂き、時間を掛けて検討を進めました。

 その結果を整理すると、

 

(1) Freqency Shifter(FS) は Ring Modulator(RM) の発展系である。

   ・Ring Modulator(RM)

 RMの機能を数式で表すと、原音を正弦状波 cos(ωt)、変調波も正弦状波 cos(αt)とすると、

両信号の4象限乗算になるので、  

f:id:hhh_yama:20180806000410p:plain

となり、よく知られているように、両信号の和の周波数の正弦状波と、差の周波数の正弦状波がミックスされたものになります。

実用的には変調波には正弦状波が用いられますが、原音には何が入力されるか解かりません。

倍音も含む場合は、例えば2倍音に対しても式(1)からα加算とα減算のミックスが生成されます。

倍音に対して一定周波数が加減算されるので、ピッチか変わる効果と倍音構成が崩れる効果が得られます。

 

 ・Freqency Shifter(FS)

 ピッチシフト効果を狙うためには、和のみや差のみを取り出したいところです。

 それが得られる数式が、三角関数の加法定理です。

f:id:hhh_yama:20180806003340p:plain

  (2A)を用いると和のみが得られ、(2B)で差が得られます。

 これを実現するには、二つのRing Modulator と加減算器が必要で、

 構成を図で表すとFig.1 のようになります。

 変調側のsin(αt)を作るのは、cos(αt)とsin(αt)を発振する二相発振器で可能ですが、

 もっと難しいのは、sin(ωt)を作ることです。

 これには、上で説明したDome filterを使います。

 

6809/Z80マシーンを発掘しました(5) 動かしてみました!

大分メンテしたら、安定に動くようになりました。

どんな感じかは動画で見てください。

8" フロッピーの迫力ある動作音も懐かしいです。

 

youtu.be