logo_MicroDIYS.png

あなたのみているページは、キャッシュかもしれません。F5キーでリロードしてみてください。
トップページへ
2019年のμDIYSへ行ってみる

221116
ワウを組み込んでみたんです。
キーボードExpressionレバーで周波数を変えるように作ってみました。
なんか思った感じにならないああと「ミヤゥミヤゥ」やっていたら、なんか外の様子が騒々しい感じ。
なんと家の外で猫がすごい剣幕で「ギャーギャー」言ってるんですよ。
妻が窓の外を見ると2階の部屋のほうを見あげて鳴いているとのこと。
わかるんでしょうね。

220907
多分、あと1か月かからないくらいで次の曲をUPするかもしれませんが、気に入らないところがあると、またいじっていたりします。
「宇宙戦艦ヤマト完結編 移動要塞」になります。30年位前かな?MU80で玉砕した曲です。まだ、無理があるかな。
宇宙戦艦ヤマト完結編は、沖田艦長の復帰とかかなり無理があった内容ですが、完成度が異常に高い作品だと思ってます。

220524PM
驚いたことにかつてGeocitiesの活動が残されていました。
本ページへのリンクもあるので、間違いないです。
特に問題はないので、そのままにします。
h83069f

220524
アーキテクチャをマイコンからPCに変えてみて、今まではスポーツカーかセスナを飛ばしていたような感覚だったのが
ジェット機を操縦しているような感じですね。
なんでもこなしてくれそうに錯覚するので、あれもこれもコードサイズも気にせずに組み込んでしまうやばいところがあります。
シーケンサーが外部にあって伝送速度がMIDIよりはずっと速いもののバッファーを持っているので遅延が以前より増えた感じはあります。
手で演奏はしないし、ほかに音源との同期はないの、それは問題にならないのですが、一度マザーボードのシリアルに直接インターフェースしたら
多分115.2kbpsまでの能力のRS232C ICが実装されているようで、テータが化けてしまったので、仕方なくFTDIのチップをかませています。
ここにもバッファーがあるので遅延量が増えていそうです。
system2.png

220515
久しぶりのYoutubeへのアップロードになりました。
演奏のほうは、もう少し直したいところもあるんですが、間が空きすぎてしまったんでこのあたりで妥協です。
演奏のはじめに、LinuxPCのコンソールからの立ち上げから始めてみました。
LinuxPC側の処理は
・シンセサイザーの発音(演奏)
・映像
・録画
の3つのソフトが走ると実は、発音のほうが途切れた部分があったようなんですが、
演奏のほうは別途録画したものと合成するので、問題なくYoutubeUp用の映像はできたわけなんです。


220507
横スクロールをやってみようかとSurfaceをいじりだしたのが、結構大変だった。
SDL ,SDL2の改変によるものか、参考にしたいプログラムがあっても動作するのは半分くらいかな。
深追いはせずに動くものを組み合させて対処している。
配列のなかにポインタ配列をいれて、引き渡すようなものを入れるとコアダンプが出て止まってしまう。
これも根が深そう。適当にごまかすことにする。もうちょっとかな。

220503
グラフィックね。ゲームのようなちょっと面白いものができつつあります。
ヤマトのアイコンのようなイラストが欲しいんだけど。どうしよう。

220501
連休にも入り、ここ数日、演奏しながらのグラフィック表示プログラムの作成に没頭中。
SDL2を久々いじっているが、ネットにはSDLとSDL2が混在しているのか動かない物がある。
MSX時代のような おもちゃのようなグラフィックができそう。
どこか面白みがないか考えている。

220408
今回、マイコンでのシンセをやめて、LinuxPCにて進めているのですが、2011年からほぼ数年おきにプラットフォームを変えてきていますね。
ラックでの組み込みにはノイズの問題が発生しました。各マイコンのデジタルノイズがミキサーの入力にGNDラインを経由してループしてしまうんです。
最後のほうは3.5φのジャックのGNDをすべてつないだりしていますが、リバーブなども多用していて収まりがつかなくなりました。
その点、今回製作したLinuxPC機では回路上のデジタルノイズは皆無なので、演奏の合間にリバーブが途切れた時などはやや不自然な感じがするくらいになってます。
処理能力に余裕ができたことも楽しみですが、なんといっても1パート当たり2Mバイトしかない波形メモリの制約がなくなったので、こまごましたループ処理なども不要になる反面
周波数が変化していくような波形を使用したときに周波数の割り付けがどうしたらよいものかわかりません。
とらえず0.1秒後あたりの周期を使用しています。
また、波形データを作る際に周期を自動で算出するものを何度か作っていますが、精度があまり上がらずに手作業になってます。
この辺りも課題ではありますが、技術的には面白いところです。

もうひとつ、Youtubeでのご披露にLinuxPCだと見せるものがないんです。
これまではマイコンがLEDをチカチカしてたんですけど、それもなんか味気なくて、グラフィックを取り入れてみたいんですが、どうしようかな。

220405
最近、更新していることもあって、見に来ていただいている方がいるようなのはうれしい限りです。
シンセのほうもいじってはいますが、Discovery-F4基板でUSB-DACを作っている方がいらっしゃったので、こちらでも動作させてみました。
やはりもともとついているDACより外付けにPCM1781をつけたほうが音がいいかな?
さらにゼロプレッシャーソケットでオペアンプをいくつか付け替えたりして、FX-AUDIOには及ばないかな?とかやってます。
そうですね。定番の5532はやはり裏切らない。でも私には\480のMUSES8920の良さがいまいちわからない。
むしろ、OPA2140が良かった。でもひょっとするとヘッドフォンを駆動しているので、ドライブ能力の違いだけかもと本当は何やっているのか?
わからないんです。
NJM2114だけは、なんか音が変なのがよくわかりましたよ。
あと4580DDね。5532と区別がつかないときもありますね。

あっそうそうX6Jのオペアンプはもったいないので、まだ交換などしてませんです。
usb-dac-w480.jpg

220308
3回目のワクチン。なんか今回はきつかった。発熱でほぼ一日ダウン。
今日あたりはほぼ回復。
ところで、FX-AUDIOのUSB-DAC DAC-X6J なかなかいいです。
個々の楽器が前に出てくる感じで、臨場感がまるで違います。
エンジニアとしては何が違うのか気になって仕方ないのですが、それはそれで素直に音楽の楽しみが広がりました。
Linux機のモニタなんですが、SPDIF端子もあるのでWindowsPCからも受けられるようにSPDIFブラケットを買ってみようと思ってます。
その前に、ここ一週間ほどはアナログミキサーの分解清掃とヤフオク出品にだいぶ時間を割いてしまいました。
SAMS70のシンセも分解して片づけてしまったのであります。なんと気が早い。


220227
現在使用しているBehringerのミキサー QX2222USBの内蔵USB-ADC/DACはPCM2902の16ビットだったんですね。
やはりさみしいので、スペックアップしてみます。
モニタ用に FX-AUDIOのUSB-DAC DAC-X6Jをポチってしまいました。
定評がありそうなので楽しみです。
ヤフオクで、アプリ経由で\3,000ほど値引きされました。
けれど、この出力をまたデジタル化して、Youtubeに流すということはなくて、昨日の生のデジタルデータが使用されることになります。
シンセサイザーサミットなど、どこかで演奏する機会があれば、出番になるかもしれません。

220226
ダイレクトデジタル録音を試してみました。
DACへ吐き出す32ビットステレオデータをファイルに書き出すだけです。
これをAudacityでRaw読み込みして、waveファイルに変換したものを以下に置きます。
へたくそな手弾きです。
はじめてのRawファイル出力。のはずだったんだけどWaveだとFTP転送できないんでMP3ファイルに変換

220220
ちょっと余談になりますが、マイコンで作るシンセはそろそろお蔵入り、ベリンガーのミキサーもお手製のV1000のリバーブなどもいらない。
ubuntu機では、各楽器ごとにスレッドを立ち上げて楽音合成とリバーブを組にしているので、現在13個のものリバーブが組み込まれたのですが、
それぞれをステレオ化はせず、固定定位としています。

それはともかく、これまでは個々のマイコンのI2S出力をPCM1781という安価なそれでも24bitのD/Aコンバータから外にリバーブをかまして
ベリンガーミキサーにてまとめていたのですが、ubuntu機ではすべて24ビットの単精度小数点演算したデータを最終的には32ビットにかさ上げして
とりあえずマザーボードのALC887に流しています。
ノイズがどのくらいか気になったのですが、一昔前のマザーとは歴然とした差があって、3.5φのプラグでもノイズを感じません。
というか、エアコンやPCのファンの音でわからないかな?
そうでしたこちらはヘッドフォンで聞いたことないですね。
お話ししたかったのは、USB-DACという方法ですね。DTMなのですからオーディオインターフェースを使うのが常套手段なのですが、自作のlinuxプログラムなので、
例えばスタインバーグがドライバーを公開しているものを使うなどがありそうです。
けれど、やっぱりそのあたりが気になって仕方なく、アジアのサイトに面白そうな基板があるのがわかります。
後々使ってみようかなとも思うのですが、このあたり始めちゃうときりがないんでどうしようかな?
勝手にリンク→格安, でも高音質なUSB-DAC (ES9018K2M)

ただし、YutubeにUPするときの演奏は、デジタル出力をそのままSSDにファイルとして吐き出すことになると思うので、これを使う機会はあるかな?

220213
3週間ほどかかったでしょうか?ようやく、ubuntu機でのuDIYS組み込みができつつあります。
全パートを演奏してみた結果になります。
6つのコアが代わるがわる負荷が変動している様子がわかります。
なお、楽譜データのほうはもう一台のPCを使っていますので、WindowsとLinuxの連携になっています。
演奏のほうはなんかすかすかした感じになってしまいました。
おそらくこれまでは、アナログ回路がいくつも経由していたことで、よどんだ雰囲気が出ていたようです。
各パートの演奏を見直さなければなりません。

これを機会に整数演算処理をすべて浮動小数点に切り替えているのですが、まだやり切れていません。
LFOやベンド処理などが多分まだ残っています。

ubuntu_screen.png


220207
今年は2022年で、2200年ではなかったか。

220201
Ubuntu(LinuxPC)のほうでのuDIYSがようやく ワンパート分のシンセの音が出るようになりました。
音色データやWave データの取り込み方法を変えたので結構てこづりました。今日あたりは、かなりへこんでました。
この後のマルチパート化はそう難しくないと思うけど、マルチコアでのスレッド分散をやってみるのは初めてです。
どんな感じかな。
CPUは特別なのものでもなく、パフォーマンスのいいCorei5-8400をヤフオクで落として、手持ちのマザーボードに組み込んでます。
SSD240GBやメモリもおととし壊したマシンからとっておいたものです。
PCケースはこれもヤフオクからスリムケースを落としました。
ubuntu20.04を組み込んでALSAドライバーのソースから組み込みました。
Cプログラムの開発にEclipse CDTを使うことにしました。まだ、不慣れなことが多いです。

220123
よせばいいのに旗艦のデスクトップにubuntuのDualBootがうまくいかず、
SSDを2基つけたあたりで、Win10がパーになってしまったのです。
ファイルのバックアップはあったものの、関連付けがなくなるものもあり
クリーンインストールから復帰。
OneDriveが気づかないうちに20GBも消費してくれるし、WiFiルータの残りデータ量もなくなって、
仕方なく、Mineoに申し込み。ただし、Mineoには1.5Mbpsという細い回線で無制限オプションがあり、
通常はこれを使い、ダウンロード時やテレワークのTeamsでは高速につなぐなど面白い使い方ができることも発見。

そんなこんなでubuntu旗艦マシンがもう一つできるようなのであります。これが次のシンセサイザーとなります。
そうそう、ALSAのお勉強できてます。

まず基本動作になる鋸波を生成しながら音を出すプログラムができました。
音声データを非ブロックにて出力するときにどうやってバッファの空きを知るのか?がこの本を見てもなかなかわかりません。
割り込みは使わないほうがいいというコメントがALSA Projectにあったりして、結局、
snd_pcm_avail_update というAPI関数を使うと良いようでした。

220107
デジタルリバーブもそこそこいい感じになってきたので、
すべてデジタル処理にいつかしようかと思っていたのですが、色々調べると
ラズパイはシリアルを取り損なうとか、STMicroのST32MP1シリーズあたりも、
どうもCortex-AXのメインCPUはLinuxで走るのを意識されているようで
メリットが分からなくなり、なかなか思うような構想が描けなくなりました。

一方スマホの普及でARMチップも1GHzの動作を超えてきてはいますが
パソコンの能力には届きません。\1,2万の差額であるなら、LinuxPCのほうが
技術的な情報も多く何とかなります。

LinuxPCでμDIYSシンセを走らせるなど、2013年にやっていたのですが、
久々に走らせてみるとなんと/dev/dspがないではないですか?
これは大事件です。
ラズパイなどはossを組み込んで対処しているようですが、ubuntu16あたりは無理みたいです。
OSを古いものに戻すのも手なのですが、やはり、マルチコアの能力を引き出すにはOSはそこそこ新しいものに
すべきでしょう。

遅まきながらALSAのお勉強をすることにしたのでありました。
 Linuxサウンド処理基盤 ALSAプログラミング入門 出版元が用意している抜粋されたページが開きます。

ALSA Projectにサンプルもあるので、これを利用して済まそうかとも思ったが、少し勉強もしたくなった。


211114
私は将棋は指せないし、どうしてこれで投了となるのかさえなかなか読めない。
それでも、初番に何気なくとった角を後になって、想定できない場面で使ったり、
相手に飛車を成らせても攻め落とすなど、それはそれは到底行きつけない領域なのだなというくらいの
藤井さんなのかと私のような素人でも何か感銘してしまう凄さがある。

210524
シンセサイザーとゲームは古くはよく似た制御にあった。
・定期的に固定された領域のバッファの出力を吐き出す。
・そのバッファのデータの生成
が繰り返されて、バッファデータの内容は時間軸で相関した意味合いを持って刻々と変化する。

以前リンクを貼らせていただいた
インベーダーゲームのサウンド
にはサウンドの生成の数々がありましたが、
μDIYSとしては、CPUの処理が間に合わなくてMidway基板にないシフトレジスタを使ってというあたりが、どうにも気になってしまうのでした。悲しい。

そんなわけ?でtaito_space_invader_l_shaped_board_schematics ←申し訳ありません。著作権あるかもしれないので、googleしてみてください。
を見つけてその動作を読んでみたのでした。

こんな感じですね。これをハードウェアですべて行っている様子はなくて、バレルシフトされたデータは1度、CPUに読み込むようなんです。
おそらく、消えているインベーダーのところは、替わりに0を書き込むようプログラムしている。
SpaceInvadorsShiftResister3.png
このような動作なら横方向にシフトできますが、インベーダーの手や足が動きませぬ。たぶん2画面を交互に切り替えてますね。
と思ったが、表示メモリが8kバイト(ワーク領域も兼用している)しかないのでスクリーン2つは持てない。
バレルシフタによってnビットシフトした16ビット値を得て、それをCPUがメモリアドレスを増減しながら貼りつけていくことになっていそう。
おそらくそれは帰線消去期間の1.3ms位の時間に完了しなければならない。
だから、すべてのインベーダーを横移動せずに、横11匹のインベーダーを1列だけを順次動かす位の時間になれば、各列のインベーダーが時間差をもって移動したりする。最下段のインベーダーがビームをよけて上段に当たったりもするようになる。
このあたりの事情も面白い。

210508
明日 どこかに落ちる中国のロケット追跡
こちらのYoutubeはいいかも。
Altitudeってなんか減るのが速い気がする。
PM11時〜日本の九州から本州 宮城の上を通りそう。
まぢか?
Japan.png





210506
Googleアカウント 復活しましたよん。

210427
モスバーガーの電話番号が6800なのはこれですよね
これ地元だけでしたね。愕然。

210421
大変な失態をしてしまった。
2月に長くお付き合いのあったプロバイダーをやめていたのだが、メアドが変わるので、あれこれ切り替えていたつもりっだったが、
なんとなんとなんとぉ Googleアカウントのセカンドメールの設定を忘れていたのだ。
んなわけで、p.igmonが放置状態となった。
Youtubeは更新も削除もできないよ。

210418
PCBGOGOが面付けを依頼しても同じ値段になっている。
ここまで低価格になると送料の\2,000余りが惜しくなってくる。

210417
MSXの再現と言えば、ROMイメージを探すと思うけど。
まさかカセットテープを落札してとは。
落ちは、MSX1Diskなし仕様だった(ワークエリアが不足する)とのこと。
しっかり読んでしまった。
ところで、どうやって復調したんでしょ。そんなソフトもあるのかな?
昔ラジカセ同士でダビングした時にスピーカー入力をマイク入力に入れて。。。。。
そうそう抵抗入りのケーブルがあるとか知ったけど。50年近くたっても同じことやる人がいるなんて。
インピーダンスの違いですよね。でも電子回路わかる人たちがどのくらい理解しているかな?と思うこの頃でした。
懐かしい起動画面書いてみよう。
 MSX BASIC Version1.0
 Copyright 1983 by Microsoft    
 28815 Bytes Free
 OK






 color  cload  cont  list.  run 


別に動きませんです。


210401
生徒の演奏は著作権対象外 JASRACが部分敗訴
権利を守るなどと言う盾に子供を相手にするか?いい加減にしてほしい。
よく考えれば、そこまで著作権をどうこう言って何をしたいのか?

210327
ようちえんの付録だぁ
本当にバーコードスキャンか? プリンター印字か?
などと 野暮なことを言ってはいけない。おとなは悲しい。
拍手を送りたい

210322
もう昔になるのか、CD-Rはイメーションか太陽誘電が安心だった。
はじめて使ったMAXELLはカセットテープでもなんかヤな思いをした気がするが、
これがエラーばかり。
久々にDVD-Rを焼いてみるが、なんかこんなエラーばかり出る。
これはマクセルでも太陽誘電でもない。今どきはUSBメモリーに限る。
ちんたらちんたらレーザーで時間をかけて焼いているのはやめたほうがいい。
かなり無理のある制御なんだろう。

210321
千葉県知事選挙 順当なところに落ち着いたようで安心。

デジタルリバーブを作り直す。
V1000など使ったリバーブを3機も持っているが、楽音ごとに用意してみたくなった。
Tapとなるメモリー容量がSAMS70に384kバイトのSRAMに256K+16Kバイト確保できるようにしてみた。
リバーブアウトのほうにLPFを入れたりしてみた。まあいい感じだが、ある周波数に共鳴するところがある。

それは置いておいて、どのくらい命令が使われるかアセンブルリストを見てみると
VLDMIA r2!, {S1-S1}
VLDMIA r1!, {S2-S2}
などという見慣れない命令に気づいた。

LDM命令の浮動小数点レジスタへのロード命令だが、本来は{レジスタのリスト}となる物である。
非常に惜しい使い方をしている。Cortex-M7は複数のレジスタは扱えないのであろうか?

210313
SAMS70ボードにしたあたりから、ノイズが気になっていた。
色々調べたところ、ACアダプタやリバーブなどは良好なようで、
複数のチャネルをミキサーにつなぐとノイズが増える。
原因は、電源電流のパスがミキサーへのオーディオ出力を介してループしているようだ。
俗にいうグランドループがミキサーへ流れ込んでいる。
試しに、シンセサイザー基板のオーディオ出力のGND同志をワニ口クリックでつなぐとノイズが減っている。
金属シャーシで出力ジャックを落としてしまうのが筋だが、本質的には電源電流がそちらに流れるパスをなんとかできればいいのだが。。。


210310
千葉県 だめぼ

210224
テクノハウス東映も閉まってたなんて
アキバに見るところはないかな。

210211
遅まきながらNetflixの愛の不時着見ましたよん。
38度線を一歩ぐらいいいだろうと、彼女といちゃつきまくり、部下の兵士まで韓国豪遊の旅。
一歩ぐらいいいだろう ってもうどこまでも行っちゃいます。

210204
機能していなかったCOCOAって、もういたるところ隠れ感染者ばかりです。
そんなもんいらん。みんな家にいるし。

201129
オペアンプを替えるとオーバードライブの音はどう変わるのか?
確かにNE5532は違うよ
個人的にはLME49860NAが印象深いなあ。

201117
そうではありません。
はじめに思ったのは

よく観察してるよ。

しかし翼が当たるとなれば、中央のカラスは柱によりすぎてるだろ。
そうではなくて。。。周りを見渡しているような気もする。
確かムクドリはみんな同じ方向を見ている。
なぜ同じ方向を見ているのか?それが等間隔と関係があるとすると、風の方向なのかもしれない。
このくらいの距離が風の乱れがないんだろ。

201116
今日の一句

見上げれば
カラスも
ソーシャルディスタンス
IMG_0512-640.jpg



201108
この現象について、Audacityのヘルプより投稿したところ、関係者から返答が届いた。
原文は英語
ディザは、より高いビット深度からより低いビット深度に変換する場合にのみ適用されます。
WAVまたはその他の非圧縮オーディオ形式へのエクスポートは、すべての状況で実質的にロスレスです。
ただし、Audacity環境設定の設定によっては、一部のタイプの非圧縮オーディオエクスポートでは、オーディオデータにごくわずかな変更が加えられる場合があります(以下を参照)。
32ビットPCMWAV形式へのエクスポートは100%ロスレスであり、ディザリングは適用されません。
24ビットPCMWAV形式へのエクスポートは、約-130dBのピークディザレベルでディザリングされる場合があります。
16ビットPCMWAV形式へのエクスポートは、約-80dBのピークディザレベルでディザリングされる場合があります。
16ビットにエクスポートする場合、最大の「エラー」は\ xe2 \ x88 \ x9232768から+32767のスケールで+/- 3です。 16ビットオーディオは、せいぜいこのスケールの最も近い桁までしか正確ではありません。


そう、16ビットだとそのくらいのノイズが発生する。
無音かどうかということではなく、ビット深度を低くする場合にどうしてこのようなことが必要になるのか?

上記ページの冒頭に以下の説明がある。
「ディザ」は、デジタルオーディオのビット深度を減らすときに発生する量子化エラー(丸め誤差)の意図的なランダム化です。
通常の算術丸めは、過酷な高調波ノイズとして聞こえる可能性のある周期的なパターンを作成する可能性があります。
ディザは、ビット削減プロセスの可聴効果を最小限に抑えるように丸めをランダム化します。
ディザノイズ自体は、大幅に増幅されない限り聞こえません。


うーん、±3は-80dBで聞こえないだと。。。。なんか惜しい話だな。

その後、品質設定にて高品質変換のところでディザ無しとしたところ、確かにノイズはなくなることが確認できました。
私の場合24ビット以上の音源から16ビットにWAVE変換を行うことは、ほとんどなかったと思うのですが、どうだったかなぁ?

返事をいただいたお礼に送金の準備をしようと思う。

201102
俺のAudacityおかしいよ

1.無音期間を0.3秒作って
Audacity_silent.png



2.Waveフォーマットで保存
Audacity_save.png

3.これを読み直すとノイズが乗っている。デジタル処理なのになんですかこれ?
1万分の1位の振幅。Signed16bitならば±2ビット位は出ていそう。
これはバージョン2.1.0。2.4.2にUpしても変わらない。。送金しないとグレードが落ちるのかな?
201031Audacity_noise.png
1週間立ってこんな感じ。
さらに32個追加。
IMG_0398-480.jpg IMG_0399-480.jpg


201024
実家の柿が何百もなって困っている。
売り物ほど甘くないし、焼酎につけると甘くなるのだが手間がかかって妻も並行している。
それによその方にあげてもさほど喜ばれるものでもないようだ。
昨年、実家から20個ほど干し柿にしたらそれなりに良かったので、今年は本腰でやってみる。
売り物の干し柿は表面が粉が吹いているが、あれは、表面を気付てそうなるようなので、フォークでやってみた。
本当はもっと目の細かいものでやったほうがいいのかな?
これから毎日、外に干して観察する。
もう少し乾くまでは夜間だけ部屋に入れておこうかな。

あれっはじめからこすっては、いかんかったかな?
IMG_0394-w480.jpg IMG_0395-w480.jpg


201011
MT Power Drum Kit2のドラムパターンがドキュメントにmidファイルとして落ちるので、これをエクセルで表示してみる。
MT_Groove01.png
やってみると、追加されるパターンが先頭にきてしまうようなので、一つ一つファイルに落とすしかないようだ。
それでも見えるようになるのは面白い。

200927
船乗りの物語〜雑記帳(ご無沙汰してます)
をみてMT POWER DRUMをCantablieにプラグインしたら、
CantabileがAudio Driverが見つからないなどと言ってくる。
どうもCPUとマザーボードを変えた以降Cantabileを使ってなくて、いまになってこんな不具合に遭遇した。
再インストールやいろいろ検索してるけどうまくいってない。
MT POWER DRUMの問題ではない。そのほかのシンセを入れてもダメ。

いろいろいじったらベリンガーのミキサーのほうはうまくいくのでしばらく様子を見てみよう。

200921
ブラックタイガーのブラスをPCMFMに入れ替えて作り直している。
FM変調というより歪系のエフェクトになっていて、シンフォニックというよりロック調になってる。
ドラムがいかにもドラムマシンであって馴染まないので、これも何とかしたい。

200912
Chor stella《宇宙戦艦ヤマト》オペラ歌手リモート合唱??幻の4番まで??
なんかうれしいぞ。

200910
ガトランティスのテーマをUPしました。

200904
FM変調が歪系のエフェクトとしていい感じなので、MIDIサブセットのコントロールチェンジに各種パラメータを組み込みました。
演奏しながらコントロールを変えることができます。
今回組み込んだもの

PCMFM2op.png

ヤマハのSY77もPCMとFM変調ができるようなんですが、これは、はっきりとモジュレータとキャリアの使い方が逆で、モジュレータのほうがPCM(AWMと言っている)、キャリアにサイン波なんですね。
どうして、キャリアにPCM波を持ってこなかったんでしょう。そのほうが効果がわかりやすかったと思うんですけどね。
もう一度ネットをみると、どのシンセもPCM波形をROMに持ってるので、何かやりづらいことがあったのか?
効果の程度がわからなかったのか?はなはだ疑問なのです。

200823
エンベロープにて変調度合いを変える処理を組み込みました
なかなかいい感じなので、本格的に組み込むことを考えてみます。

200822
バスフォールトになる問題は、シフト演算が算術シフトであるべきところが論理シフトになっていたことであって、修正できた。
もうすぐエンベロープにて変調度合いが変えられるところまで来ている。

ところで市販のシンセもしくはソフトシンセなどでFM変調を行うオシレータのキャリアに楽器音のPCM波形を持つものがあるのか調べてみると
KORGのKRONOSができると言っている話もある。
仕様を見ると PCMによるFMモジュレータ とあるが、キャリアにPCMがあるのかわからないがきっとできるのであろう。
どこかにそれを発音している動画はないだろうか?

200821
FM変調は変調度合いは誤っていないが、場合によってはバスフォールトになる問題の原因がまだわからない。
キャリアとモジュレータ双方をサイン波にした場合は問題なさそう。

200818
昨日のFM変調は変調度合いの計算が何か変な気がするので見直している。
度合いだけが変な様子。
今週末には、正規のFM音源のようにエンベロープで変調度合いを変えるようにしてみるつもり。

渡哲也さん 悲しいです。
もう戻れないあの時代。曲のほうは張りがないのが納得がいかないのでそのうちやり直します。

200817
FM音源はサイン波をキャリアとモジュレータに用意するのですが、キャリアにPCM波形を持ってきたらどうなるか?
ということを試してみました。変調後の音も聞くことができるようにしました


200726のほうの結果はアタック時の音色変化がないとブラスにならないことがわかったので、諦めました。

200726
シンセ大好きな皆様
ブラスの音ってこうなってる。。。
トランペット
トロンボーン
Tptone.png TBtone.png
だから、音階を上げていくと波形の時間軸を短くするだけの多くのシンセサイザーは間違ってるのだよ。
って知ってましたか?
これはデジタルよりアナログのほうが作りやすい。モジュラーシンセなら出来そう。
時間軸を短くするだけなら、高次倍音が耳にきつくなることが想像できる。
そうだったんだな。やはりこれをそのうち作らんといかん。

200724
学生のころCMU-800に関心がありました。
8253などで音源を組んだりしてましたが、すぐにFM音源のYM2151に出会ってしまうのでした。
いまさらながら、回路を見てみたくなったのでした。

200714A
子供のころ、もんじゃ焼きを自分で焼くことのできる駄菓子屋に行ったことがある。
火鉢に鉄板を乗せて、小麦粉を水で溶いたものにキャベツを刻んで入れただけのものが出てくる。
器の大きさで¥20,¥30,¥50
というものだ。

ある日、子供たちは気づいてしまった。
¥20,¥30と分けて頼んだほうが、¥50より量が多いことを。。。。

それをやると店のババアに怒られたらしい。

200714
FusionPCBが配送業者を変えて、配送期間を1/3へ短縮を図るとしている。
本当なら何かネタがないか考えてみたくなる。

200713
インベーダーゲームのサウンドは8910あたりだとばっかり思っていた。
i8080全盛だった頃なので矩形波を加工するあたりは、当時のRolandのJUNOや電子ピアノ、AMDEKのCMU-800なんかでも
見られる。1983年頃にはYamahaがFM音源を出してきている。そのあたりが面白かった。
(200714追記)インバーダーサウンドはアナログ合成部があるのなら、MAMEはどのようにして効果音を作っているのか?
もしかするとサンプリング音?? それはMAMEの主旨ではない。

学生時代にPC6001のPSG(8910)を1つ増設する依頼があって、6重和音にしたことがあったけど、YM-2151が外販されていたら面白かったと思ってましたが、音楽やるには、なにか音作りに限界も感じてましたね。

200707
アナログシンセ・ビルダーズ・サミット(メンテナンス中のよう)
ご無沙汰してますが、今年は無理なんでしょうね。

過去に参加した時のが写真画像を取っていただいているページがありました。
第12回アナログシンセ・ビルダーズ・サミット に行って来た
2012 アナログシンセ・ビルダーズ・サミットに行ってきました その1
いずれも初代のSH-2Aボードをユニバーサル基板に組んでますね。
基本的な構成は、今も同じです。

200705
今日は FIRフィルタの畳み込み演算のあたりを(リンク)見てみます。ちょっと訂正加筆しました。

200703
SAMS70のCPUコアCortex-M7のFPUコプロセッサ部分に関しての情報はほとんどありません。
Cortex-Mシリーズの浮動小数点ユニット
どちらかというとSTMicroのほうに多くのドキュメントがあるのですが、FPUについてはARMの定めるところによるので
それを見てくれとあります。ところが いろいろ検索すると、はじめにARM Developerサイトになるのですが、
We could not find this page とつれない表示の画面がロボットと一緒に出てきます。

STMicroのSTM32F4はcortex-m4と同じFPV4-spのハードウェア32ビット単精度浮動小数点演算器を実装しているのですが、
Cortex-M7は倍精度も可能になっているようです。
単精度でも24ビットの仮数部は充分な精度であって、また倍精度の64ビットにすればメモリの読み書きの実行時間は無駄になります。

FPU演算をするレジスタは単精度に指定した時にS0〜S31の32本ものレジスタが使用できます。
通常の汎用レジスタはR0〜R15かと思いましたが、R12くらいまでが実用の範囲かと思いました。

詳細な説明

200629
主な計算処理の7,8割に単精度浮動小数点演算の適用が済みました。
実働1日ちょっとでできてしまいました。
以下、FPUを適用後と適用前のCPU負荷率の違いになりますが、あまり変化なかったんです。
和音16音で60%前後になりました。(1音あたり4つの波形ジェネレータを割り当てたとき)
オブジェクトサイズは2%ほどの増加しかないので、大きな成果でした。考察は後にします。
FPUvsINT.png


200628
keilのμVisionにて浮動小数点を扱うには、コンパイラの設定にて、ハードウェアFPUを選択することは容易に分かったのですが、
実機にて走らせるとUsageFalultの割り込みハンドラーに飛んで止まってしまいます。
これがなかなか解決しませんでした。理詰めで探索して、なにかCPUの設定が足りないのかもしれないという感がしたのですが、親戚のSTM32F4あたりの先例もなかなか見つかりません。
そんなときFPU Exampleにそれがあるようなので、みてみようかなっと思った時にねむいさんのブログにたどり着きました。
私のほうのソースはもともとExampleに手を入れたもので、CPACRレジスタを操作している箇所が見つかり、これを生かしたところ、Faultハンドラーに飛ばなくなりました。

さて、これまでの整数演算を浮動小数点演算に変えるには、1を基点とする正規化に定数を全て改めなければなりません。
例えばこれまでの整数演算では
16ビットの変数xにて0〜1を表現するときに、これを0〜65535として
x/65536 すなわち x>>8と表現していたのです。

yのほうはWavePCM16ビット Signed16Bitであったなら
(y * x) >>8
として、乗算を行っています。ビットシフト部がDSPでいうバレルシフタになります。
この演算の場合 変数X,YをSigned32Bit UnSigned16Bit としておけば、CPUレジスタが32ビットであるときに桁あふれは起きません。
ところが、WavePCMをいくつも加算した後に定数を掛け合わせるようなことをすると32bitを溢れてしまうのです。
このあたりが整数演算の面倒なところです。

このようなx>>8をすべて単精度浮動小数点表記に直す作業がはじめに必要です。
そのほか飽和処理やコンプレッサなどに大小判断などもあるのでこれらも検証していくことになります。

そのほか問題となるかどうかという点は、コンパイラがフリーで使っているのでコードサイズが32kバイトに収めなくてはならないことも気になるところです。

200627
内部処理を変えてから、フィルターのQを上げると音が割れやすくなりました。
2011年当初からすべての演算に浮動小数点演算を用いず、整数演算とバレルシフトを多用しているのですが、
Qが上がるとレンジが増大して、24ビットをオーバーフローするようなんです。
これを避けるために演算の要所にバレルシフトの幅を細かく抑えてきましたが、さすがに手が回らなくなってきました。

SAMS70はCortex-m7コアなので浮動小数点演算も可能なようなのですが、多数の変数にそれを適用するとどこかで整数ー浮動小数点への変換を行うこととなりそうなので、負荷がどのくらい持ち上がるのか抵抗があって避けてきました。
すこし、検討するころになっているのでしょうか?

200623
SAMS70の内部処理を変えたので、久々にCPUの負荷率を測定したら、30%ほどと余裕がありました。
1音当たりの音源波形数は4つに減らして、エフェクト処理はコンプレッサーのみとしています。

200608
5月にシンセの内部処理を大幅に変更しました。
ベロシティーや音量変化に応じてフィルターのかかり具合を個々の音ごとにかかるようにしました。
えっそんなことできてなかったの?っということなんですが、フィルターに関しての処理がまとまってきたのは最近なんです。
これまでギンギンに聞き苦しかった演奏もメリハリと安堵感 藁)が得られるようになると思います。きっと。

200607
STM32F4Discovery シンセの引退です。デモ演奏の時も派手さがあったんですがね。
楽器のシールが貼ってあったのが個人的には好きなんですが、異なるアーキテクチャを維持しておくのが億劫なので仕方ありません。
廃棄せずにしまっておこうと思ってます。
手前は初期のSAMS70です。
IMG_2693-w480.jpg

200603
5月のGWにシーケンサー部をPCBGOGOに基板発注したもの(写真の青い基板)が3週間かかって届きました。
コロナやEpacket指定であったこともありシンセンの空港で2週間待たされました。
NUC123-w480.jpg
もともと、STM32-Discoveryのシンセの最上部にユニバーサル基板で組んでいましたが、
すでにSTM32-Discoveryは音源として使用していないこともあり、シーケンサー部をSAMS70のユニットに合うサイズに起こしなおしました。

このユニットはPCからの自動演奏データや音色データをUSBシリアルで受けて,μDIYSシンセに転送するものです。
またMIDIキーボードのデータを中継する機能もあって、Mdiysシンセのボーレートは460.8kbpsとしていますので、ボーレート変換を行っています。
NUC123はNuvoton製でCortex-M0 72MHz動作品ですが、おそらくRolandのMPU-401に似た機能になっていると思いますが、MPU-401の動作は理解しておりません。
音色データのほうはUSB-シリアルを介して、直にμDIYSシンセにデータを送出するものですが、μDIYSシンセのフラッシュROMデータを一括して書き換える機能にも使用しています。
また、μDIYSシンセとのデータ送出は高速フォトカプラを使用して、PCからのノイズが混入しないようにしています。

200529
西部警察 PartU OPテーマ曲
をUPしました。
2015年に震世サミットにて演奏した時のものですが、
演奏自体は初代のSH-2AかSTM32-Discoveryによるもので、映像は今日取り直して合成したFackです。
現在は右のユニットのSAMS70が鳴っているのですが、当時のシンセプログラムとは違うので、とてもお聞かせすることができない状況です。
最近の演奏は左のDiscoveryはミキサーにつないでなくて右のSAMS70だけ使ってます。

200528
aitendoは6月いっぱい店舗閉店中。
秋月は5人までの入店など、とても行く気のしない状況。
そうジムだって、並んで待つのなら行きたくない。
外食も気が乗らない。
しかし、長い自粛が解除されて行きたいと思うのは、人の集まるところばかり。
自粛は当分避けがたい。


200523
ちょっとMIDIでトラブったので、ご報告。
ヤマハのキーボード CBX-K3のスライダーにてデータを送信した時に以下のExpressionがうまく処理できないよう。
midi_message_CBX-K3.png 左記は、YAMAHA CBX-K3のMIDI送信データの一部です。
このキーボードは、キーを押さなくとも
アクティブセンシング、MIDIクロックのほかに
ピッチホイールチェンジが刻々とデータを送信しています。

F8 MIDIクロック
FE アクティブセンシング
E0 Low High ピッチホイールチェンジ
B0 Cnt Data コントロール、Expression(Cnt 0x0B)

黄色の部分がスライダーを操作して、Expressionデータを変化させています。
B0-0B-1C と3バイトの部分ですが、コントロールチェンジの
内容が変わらなければ1バイト目が送信されません。
これはMIDIの規定通りの動作です。
どうもこの辺をMDIYSシンセで受信する際にコケてしまうことがあるようです。

コントロールチェンジやプログラムチェンジ、ノートON/OFFなどのチャンネルメッセージは別のチャネルメッセージが受信されるまで継続して、
MIDIクロックやアクティブセンシングなどのシステムメッセージは、以降に影響しないような処理にしなければならない。ようにすればよいかと思うのですが、そのようになっていない部分があるのかなっと。。。




200520
皆様の地区は解除されますでしょうか?
ここを見られる方の半数は首都圏なんですよね。
もう少しの辛抱ですね。
東葛地区も千葉県です。都内への行き来が多い地区です。
どうも致死率は2%では済まなくて4,5%くらいはあるようです。
感染すると受け入れてくれる病院がなかなか見つからないようです。
薬はまだ当てにならない状況ですし、困りました。

200425
正直2か月前は東京のみがテレワークだろうとたかをくくっていた。
インフルエンザだって毎年1万人が死んでいる。1000万人が感染している。
なんでそんなに騒ぐのかと昔の知事もテレビで言っていた。

山中先生のお言葉など(そのほかの情報もある)表にしてみる。

新型コロナウイルス
季節性インフルエンザ
日本の感染者数/年
1.3万人 4/26
1000万人
日本の死者/年
360 4/26
1万人
致死率(%)
発現者の2%強
0.1
ひとりの患者の拡散数
2人強
1人弱
症状が出現
感染者の2割
潜在者が徘徊
様態の変化
急激に悪化
抗体出現者の再発
有りうる
ほとんどない
薬の用意
アビガンが6月末か?
効果は2/3程度
タミフルなど
ワクチンの用意
1,2年後
毎年年末

医療機関を苦しめているのは、拡散の程度が速いことと、感染者が急激に悪化すること。
加えて症状の出ない感染者がまき散らしていることだろう。
おまけに抗体も当てにならない。薬もない。これは悪夢としか思えない。
作為的に作られたものではないかと思うほどの代物なのだ。

200423
NZ まだだめみたい。

何か期待していることがうまくいっていない。
・薬があれば治る。
・一度かかればもうかからない。
・みんながかかっていればそのうち治まる。
なんか様子が変だ。
ウイルスが変異しているのかもしれない。

ともかく 今具合が悪くなっても見てくれる病院はないと思ったほうが良い。
今は絶対にかかってはいけない病気なのだ。

トンネルにあるようなパイプのついた強制ファンで外の空気を入れて、中の空気を吐き出すようにしなければ
医務室は密閉空間なのだ。

200420
ニュージーランドがロックダウンを解除した。
かなり落ち着いている模様。
日本と比べて密度はどの程度の国だったろう?
日本やアメリカはこうもうまくいくだろうか?

200409
感染者の分布を日本地図で見ると、都市部や地方都市に集中していて、なにか焼夷弾の攻撃を受けているような痛ましさを感じてしまう。
ヨーロッパの悲劇はEUのまとまりの崩壊とあまりにもタイミングがあってしまっていて偶然と思えない。

明日も明後日も家にいなければならない。
明後日は老いた実家のお袋のところに金銭の処理に行かなければならない。
すぐに帰ってこようと思う。

冬眠とか そうあのカプセルとかで休んでいられるのがいい。
しかしそれはできない。
事業者は税金や光熱費、従業員の給与などは払わなければならない。
そんな社会を作っている。

アサヒコムを見たら、ウィルスというのは生物がある程度進化したものから抜け出た放浪者のようなものらしい。
あの寅さんが柴又に帰ってくると地元の人は歓迎して受け入れたりするようなものだ。
そうして進化や衰退を好む好まざるにかかわらず生物は繰り返しているらしい。
生物のくせに自己防衛の制御が効かない。自分から壊れていくなんて全く不合理だ。なんかこのあたりに生きるということの本質があるように思う。

来年はエイリアンが来襲するかもしれない。
ありえないことばかりが続いているようだけど、自然の摂理の中のほんのひと物語なのだろう。
我々は本当に無力だ。

200404
コロナばかりで疲れ気味ですね。
久々に曲をUPしました。
フィルターを一新しました。ブラスがこれまでと違うと思いますが、いかがでしょう。

200401
エイプリルフールなどではなく、これは現実なのだ。
今日は「令和」が公表された日だったことなど、とうの昔に思える。
みんなじっとしてろ 警報がそろそろ発令されそう。
でも都内に一人入ってくれば、また同じ状況になりそう。

マスク2枚配布は ふざけすぎだとみんな思っているだろう。

200308
人類は地球上の生物の頂点なんてとんだ勘違いであって、100ナノメートル(1万分の1ミリ ??)のなんだかわからないウイルスというやつに生活を脅かされている。
人工知能だのAIだの知ったかぶりをしたおさるさんくらいの笑える存在だったのだ。
アリと人間、もしくは、大腸菌と人間は遺伝子レベルでは大差ない生き物らしい。

200301
東葛地区はポツリポツリ感染が分かった人が出てきている。
ダメだ。気候が変われば普通はこのような病気は治まるもの。
そうでなければ、薬もないし、とてつもない感染力なのだから、蔓延するのは時間の問題。
家に帰れば、マスクもしない。でも隠れ感染者は症状が出ないから、家族にうつってしまう。
日に日に感染の発覚した人の数は増えていく。
そのうち、職場に行けなくなる。私は技術屋なのでテレワークでは仕事にならない。
壊滅的な状況になる。
こんなシナリオにならないでほしい。

日本が減少しても時間差で他国に蔓延が始まるから、鎖国でもしなければ収まりがつかない。

春になり気候が変わって
治まっていくことを祈るしかない。
事は深刻だ。

そうそう、妻がいろいろ教えてくれる。
あのウイルスは伊賀栗のようにトゲトゲにくるまっているが、乾燥するとトゲが折れてしまうらしい。
換気をすることが重要なんだと。
今までは寒かったから締め切った部屋にいた。クルーズ船もそうだった。
強制換気が重要だ。

200212
大学の電子計算機より、自宅のMSXの演算結果の桁数が大きくて、宿題をMSXでやって提出したら、これは違う計算機だな。と見抜かれて。。。。
いまもちょっと道を外れてしまうのかな?とこの年になって今更気づいたりする。

200209
フィルタ部の見直しを行いました。
音の輪郭がはっきり出るようになりました。
GRP.png


200102
年明けから驚いたのは、ゴーン大脱走でしたが、皆さんいかがお過ごしでしょうか?

ソフトシンセをいじってみたくて、ローランドのUM-ONEも買ってみました。
um-one-w480.jpg ローランド製品を買ったのは初めてだったりします。
鍵盤はCBX-K3を持ってます。
以前、MICOを作ってみたんですが、和音がダメでしたね。

CBX-K3 − UM-ONE − PC
と接続しました。
DEXEDを鳴らしたいのですが、リバーブをプラグインしたかったので、いろいろ探したところCatabile3.0(64ビット)にDEXEDとMConvolutionEZの組み合わせでやっと動きましたね。
まだ、BehringerのミキサーをUSBにつなぐとUM-ONEが認識されないなど不都合な状況にありますが、なんとか音が鳴る状況です。
けれど、ソフトシンセを併用した演奏は、たぶんしないと思います。ただ面倒なことと面白みがないかな。

入力のほうは「夕日に眠るヤマト」を入れましたが、新たな試みをしたくなったのでUPは先になりそうです。

inserted by FC2 system