不定期更新ブログ -26ページ目

不定期更新ブログ

日常のこと、趣味の音楽のこと...を不定期で更新していくブログです。

予告通り(?)音モノで遊んでみました。

今回制作したのは、SDカードに入れた標準MIDIファイルを再生するものです。
いわゆる、電子オルゴールですね。

音源チップとして使ったのは、こちらのSoundCortexチップというもの。

LPC810はもうディスコンになってしまいましたが、

私の部品箱の中には秋月電子で買い物をする度に2~3個づつ買っていた

LPC810が十数個入っています。もうコレクション状態ですね…(笑)
このPSG音源は3重和音までしか出せませんので、
後着優先で発音するようにプログラミングします。
3重和音だと心許ない気もしますが、
DAWで3重和音用に最適化して打ち込んだものを再生するという前提から、
これで用足りるかなと考えました。
オルゴール特有の残響音は、ソフトウェアエンベロープで再現します。
オルゴールっぽい、結構良い音がします。

ファイルシステムは、公開されている「Petit File System」を使いました。
このライブラリは、組み込み用にシュリンクされたものですが、
ディレクトリ内のファイル一覧、ファイルオープン、リード/ライトと、
一通り必要な機能は実装されている優れものです。

標準MIDIファイルの再生モジュールは、拙作ZCoderで使っていたものを
組み込み用にシュリンクし、ストリーミングに対応させました。
標準MIDIファイルを64バイトづつ細切れにメモリに読み込んで再生します。
LPC1114FN28のRAMは4KByteしかないため、
標準MIDIファイルを1曲分読み込んで再生することができないためです。

…で、これだけの要素を詰め込んでROM容量は29.2KByte。
何とか上限の32KByteに収まりました。

というか、SCC音源も使えるようにしたいのですが、

ちょっともう容量的にカツカツになってしまいました。

今のところ、写真のようにブレッドボード上で動作していますが、
近いうちにユニバーサル基板に回路を起こしたいと思います。

 

前回のLチカに続き、今度はLCDパネルで遊んでみました。
今回使ったLCDパネルは、こちらのAQM0802という型式のもの。

マイコンボードとはI2Cで接続します。
I2Cのプログラミング方法は、本家サイトのハンドブックが参考になります。
また、コマンドの送信方法はAQM0802に付いてきたリーフレットの
「初期設定例」の通りにコマンドを送信することで初期化できます。
あとはデータを送信すると、取り敢えず文字が表示されます。

実はこのLCDパネルを使ったのは初めてではなく、
以前、MCUXpressoでLPC810に繋いで使っていたのですが、
こんなに簡単だったっけな~と思いました。

また近いうちにライブラリ化しておきたいと思います。

次は音モノをいじってみたいなと考えています。

最近は遠ざかり気味だった電子工作ですが、
何かやってみたくてmbed LPC1114FN28を買ってみました。

これは何かというと、プロトタイピング用のマイコンボードと、
その開発環境です。

いわゆるマイコンボードとその開発環境です。

今日はまだアカウントの登録と開発環境の整備までやろうと思っていたのですが、
手順が分かりやすくて、ついついLチカまで一気にやってしまいました。

手順はざっとこんな感じです。

  1. とにかくmbed LPC1114FN28をUSBでPCに繋ぐ!
  2. ドライブの中の「MBED.HTM」を開いてサインアップ
  3. サインアップしたら、クラウドの開発環境を開く
  4. ボタンから「新しいプログラム」を選び、テンプレートとしてBlinkを選ぶ
  5. コンパイルして生成されたbinファイルをドライブにコピーする
  6. ボード上のリセットボタンを押下する

これでプログラムの実行が開始されます。

写真はブレッドボード上でLチカをしているところです。

さて、次は何をしようかな?

暇なときに涼しい部屋でネットができるように、
安いノートPCを探してみました。

そうしたところ、中古ですがだいたい1万円位で
手ごろなものが手に入ることがわかりました。

今回は楽天市場でLIFEBOOK S761/Dを購入しました。
メモリは4GBで、ストレージは250GB HDD。

で、立ち上げてみると、マジで重い。。。
立ち上げてから暫くの間は何の操作も受け付けないくらい重いです。
さすがにWindows10はこのスペックだと厳しかったか…。

…というわけで、まずはストレージをSSDに換装。
ただ、パーティションが変則的で、
回復用のものがデータパーティションの後にあるので、
同じ250GB程度のSSDを使わないと、
パーティションが分断されてしまいます。
250GBよりも大容量のSSDを使う場合には、
Cドライブが250GB、
残りがDドライブというような割り当てになります。
私は500GBのSSDを使ったので、
250GB+250GBという割り当てになりました。

そうしたところ、Windowsの立ち上げが劇的に高速に。
ログインして直ぐにアプリを立ち上げようとしても
サクサクと動いてくれます。

換装前と換装後のベンチマークの結果を掲載しておきます。

【換装前】

------------------------------------------------------------------------------
CrystalDiskMark 7.0.0 x64 (C) 2007-2019 hiyohiyo
                                  Crystal Dew World: https://crystalmark.info/
------------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

[Read]
Sequential 1MiB (Q=  8, T= 1):    70.728 MB/s [     67.5 IOPS] <116908.94 us>
Sequential 1MiB (Q=  1, T= 1):    71.638 MB/s [     68.3 IOPS] < 14605.67 us>
    Random 4KiB (Q= 32, T=16):     0.462 MB/s [    112.8 IOPS] <941138.08 us>
    Random 4KiB (Q=  1, T= 1):     0.343 MB/s [     83.7 IOPS] < 11882.69 us>

[Write]
Sequential 1MiB (Q=  8, T= 1):    68.048 MB/s [     64.9 IOPS] <121253.52 us>
Sequential 1MiB (Q=  1, T= 1):    66.295 MB/s [     63.2 IOPS] < 15481.58 us>
    Random 4KiB (Q= 32, T=16):     0.750 MB/s [    183.1 IOPS] <767679.34 us>
    Random 4KiB (Q=  1, T= 1):     0.711 MB/s [    173.6 IOPS] <  5742.30 us>

Profile: Default
   Test: 1 GiB (x5) [Interval: 5 sec] <DefaultAffinity=DISABLED>
   Date: 2020/08/18 22:33:19
     OS: Windows 10 Professional [10.0 Build 19042] (x64)

【換装後】

------------------------------------------------------------------------------
CrystalDiskMark 7.0.0 x64 (C) 2007-2019 hiyohiyo
                                  Crystal Dew World: https://crystalmark.info/
------------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

[Read]
Sequential 1MiB (Q=  8, T= 1):   399.102 MB/s [    380.6 IOPS] < 20953.20 us>
Sequential 1MiB (Q=  1, T= 1):   377.071 MB/s [    359.6 IOPS] <  2778.91 us>
    Random 4KiB (Q= 32, T=16):    28.955 MB/s [   7069.1 IOPS] < 71629.04 us>
    Random 4KiB (Q=  1, T= 1):    19.510 MB/s [   4763.2 IOPS] <   208.25 us>

[Write]
Sequential 1MiB (Q=  8, T= 1):   385.315 MB/s [    367.5 IOPS] < 21653.94 us>
Sequential 1MiB (Q=  1, T= 1):   376.051 MB/s [    358.6 IOPS] <  2786.13 us>
    Random 4KiB (Q= 32, T=16):   104.509 MB/s [  25514.9 IOPS] < 19990.45 us>
    Random 4KiB (Q=  1, T= 1):    45.531 MB/s [  11116.0 IOPS] <    89.45 us>

Profile: Default
   Test: 1 GiB (x5) [Interval: 5 sec] <DefaultAffinity=DISABLED>
   Date: 2020/08/19 14:37:06
     OS: Windows 10 Professional [10.0 Build 19042] (x64)

ランダムアクセスの速度が60倍程度早くなっています。
その辺が効いているのでしょうか?

これならばOfficeも行けるぞと思い、
Microsoft Office 2016をインストールしてみました。
Excelの起動も3秒弱と、かなりの快適マシンになりました。

あと、メモリも4GBと少な目なので、8GBのメモリも注文しました。

古いPCなのにこんなに使えるとは思っていませんでした。
キーボードもストロークが深くて好きな感じです。
うふふ、なんだか得した気分。
 

美ヶ原を散策してきました。

快晴で日差しは強かったのですが、風は冷たかったです。

 

「思い出の丘」から松本平を一望できました。

 

アザミソウもいっぱい咲いています。

 

もうトンボが飛んでいました。少し秋めいた雰囲気。

 

そして、アサギマダラも舞っていました。綺麗な蝶々。

 

思ったよりも人出が多くて、駐車場も満車に近かったです。

今年は秋になったら、もう一度くらいは運動も兼ねて散策に来たいと思います。