電子趣味の部屋

電子系のガジェットやアプリ開発等の趣味の話題を書いてます

ダイソーの300円スピーカーで遊んでみました 高音質化改造

ダイソーで販売されている300円のスピーカーで遊んでみました。

ノーマル状態では値段なりの音です。
低音が弱く、高音も細かい音が表現しきれずに軽い感じの音でした。
パワーが足りずに振動版を上手く振動しきれていないような感じです。

そこで、ネット上で何人かの方が紹介されているコンデンサの交換を試してみることにしました。

上の画像のC3とC4のチップコンデンサを交換します。
初期のコンデンサは0.082uFのものらしいのですが、これを2.2uFに交換します。
あまり容量を増やしすぎてもオペアンプが熱を持って危険なので、3.3uF以下に抑えた方が良いらしいです。
経験上、普通のサイズの電解コンデンサだと半田付けした後に基板からはがしてしまいそうで、チップコンデンサにしました。サイズは0603のもので大丈夫でした。


こんな感じです。

決して良い音ではないですが、軽い感じの違和感がある音ではなく、普通に落ち着いて聞けるような音になりました。
ちょうどPC-9801で使用している、上海問屋かあきばおーで2,000~3,000円で買った(記憶が定かではない)ミニスピーカと同レベルの音になりました。

手間はかかりましたが、300円のスピーカとAliexpressで100個200円程度のコンデンサで2,3千円の音になったと思えばよかったと思います。
もう1つ買ったので、そのうち汎用アンプ基板でオペアンプを色々変えて遊んでみたいと思います。

PC-9801のこと

パソコンはMSXから入ったので、16ビット機は非常に憧れていました。

PC98を入手したのは大学の入学祝として親に買ってもらったPC-9801BXでした。

ちょうどコンパックショックの時代で、対抗して低価格で販売したFELLOWシリーズの初代です。
当時のPCはメーカーの小売希望価格は高めに設定されいて、実売価格は意外と低かったのを覚えています。
PC-9801BXも218,000円だったのを128,000円で買いました。モニターを合わせても20万円以下だったと思います。
当時はバイトもしてある程度小遣いにも余裕ができたので、HDDや86音源を増設したり、メモリやODPを足したりして無理やりWindows95まで延命してました。

この頃からQuickBasicやQuickCで本格的にプログラミングを始め、簡単なゲームやツールを作ってNiftyに登録したりしてました。
例のパズルゲームもあります(今でもベクターにあります)。

ゲームはティル・ナ・ノーグやウイニングポスト、フロンティアユニバース、レジオナルパワーシリーズ、ウィザードリィ5、トキオ1,2、A3,4を主にやってました。
他にも思い出せないものがありますが、別にゲーム機にもあるものはゲーム機の方で遊んでたので、改めて思い出してみると案外少ないですね。当時PCではプログラミングやフリーゲームを主にやってました。

3年ほどでメモリ14.6MBでWindows95を使うのは限界を感じDOS/V機を自作しました。

その後1年はゲームのために置いておきましたが、全く電源を入れなくなり最後には知人に譲ってしまいました。

過去記事にも色々書いてる通り、最近またPC98を手に入れ、ティル・ナ・ノーグとフロンティアユニバースを何度も遊んでいます。

音源作りに持っておきたい本 サウンドプログラミング入門

スイッチサイエンスで買い物をした時についでにM5Stack ATOM Echoも買ったので、久しぶりにPSG音源でも作って遊ぼうかなと思ってます。
過去にArduinoやmbedでPSG音源やファミコン音源を作って遊んでたことがありました。
その頃に結局実現する前に飽きて止まってしまってますがFM音源を作ってみたいなと思い、仕組みを理解するために買って今でも音源関係で役に立っている本があります。

サウンドプログラミング入門 - 音響合成の基本とC言語による実装

初版は2013年3月10日発行ですが、現在でも現行商品として販売されています。

章の構成を見てもらえればわかると思いますが、波形を出力する基本からPSG音源やFM音源等の仕組みも解説されていて1冊で一通りのことがコンパクトに書かれています。
この手の本は他になかなか無いので、重宝しています。

章の構成

第1章 サウンドプログラミングの基礎知識
 1.1 サンプリング
 1.2 標本化
 1.3 量子化
 1.4 メディアの規格
 1.5 WAVEファイル
 1.6 C言語によるサウンドプログラミング
 コラム1 サウンドレコーダー

第2章 サイン波を鳴らしてみよう
 2.1 サイン波
 2.2 波形と周波数特性
 2.3 12平均律音階
 コラム2 フェード処理

第3章 サイン波を重ね合わせてみよう
 3.1 サイン波の重ね合わせ
 3.2 ノコギリ波
 3.3 矩形波
 3.4 三角波
 3.5 位相
 3.6 白色雑音
 コラム3 音の三要素

第4章 周波数特性を分析してみよう
 4.1 周波数分析
 4.2 フーリエ変換
 4.3 窓関数
 4.4 楽器音の周波数分析
 4.5 スペクトログラム
 4.6 高速フーリエ変換
 コラム4 バーチャルピッチ

第5章 加算合成 ~ 足し算で音を作ってみよう
 5.1 加算合成
 5.2 サイン波の重ね合わせ
 5.3 時間エンベロープ
 5.4 オルガン
 5.5 ピアノ
 コラム5 分析合成

第6章 周波数特性を加工してみよう
 6.1 フィルタ
 6.2 FIRフィルタ
 6.3 IIRフィルタ
 6.4 DFTフィルタ
 コラム6 インパルス応答

第7章 減算合成 ~ 引き算で音を作ってみよう
 7.1 減算合成
 7.2 原音のフィルタリング
 7.3 周波数エンベロープ
 7.4 音声合成
 7.5 ボコーダ
 コラム7 パルス列

第8章 PSG音源 ~ 電子音を鳴らしてみよう
 8.1 PSG音源
 8.2 時間エンベロープ
 8.3 ゲームミュージック
 8.4 効果音
 8.5 オーバーサンプリング
 コラム8 MMLとMIDI

第9章 アナログシンセサイザ ~ 楽器音を鳴らしてみよう
 9.1 アナログシンセサイザ
 9.2 LFO
 9.3 トレモロ
 9.4 ビブラート
 9.5 ワウ
 9.6 ADSR
 9.7 オルガン
 9.8 バイオリン
 9.9 ピアノ
 9.10 ドラム
 9.11 アナログ信号とディジタル信号
 コラム9 デチューン

第10章 FM音源 ~ 金属音を鳴らしてみよう
 10.1 FM音源
 10.2 変調指数
 10.3 周波数比
 10.4 時間エンベロープ
 10.5 チューブラーベル
 10.6 エレクトリックピアノ
 10.7 ディジタルシンセサイザ
 コラム10 モジュレーション

第11章 PCM音源 ~ サンプリングした音を鳴らしてみよう
 11.1 PCM音源
 11.2 タイムストレッチ
 11.3 ピッチシフト
 11.4 Log-PCM
 11.5 DPCM
 11.6 ADPCM
 コラム11 ループシーケンサ

第12章 リアルタイム処理のサウンドプログラミング
 12.1 サウンドデバイスとサウンドドライバ
 12.2 録音処理
 12.3 再生処理
 12.4 ループバック再生
 12.5 ボイスチェンジャ
 コラム12 Pure DataとSuperCollider

Sipeed Maix Amigo のメモ

Sipeed Maix Amigo を買ったので、初めに用意したものをメモとして残しておきます。

MaixPyドキュメント

https://wiki.sipeed.com/soft/maixpy/en/

ファームウェア

https://dl.sipeed.com/shareURL/MAIX/MaixPy/release/master

2021年6月25日の最新
https://dl.sipeed.com/shareURL/MAIX/MaixPy/release/master/maixpy_v0.6.2_54_g897214100
maixpy_v0.6.2_54_g897214100_amigo_ips_defaults.bin

スイッチサイエンスで2021年6月21日に購入したバージョンはIPSの方だった。
説明にはTFTと書いてあったので、最初にTFTの方を入れたら色が反転したりラインがズレたりした。
IPSとTFTが混在している可能性がある。

kflash_gui

https://github.com/sipeed/kflash_gui
ファームウェアを書き込むもの。
ファームウェアを書き換える場合はEraseが必要 。(デフォルトはサイズが1MBだが上手く消されないので、16MBに変更する。)

モデル

https://dl.sipeed.com/MAIX/MaixPy/model

実行するときに別途モデルが必要な時がある。
何が必要かはドキュメントを参照する。

サンプルスクリプト

https://github.com/sipeed/MaixPy_scripts

MaixPy IDE

https://dl.sipeed.com/shareURL/MAIX/MaixPy/ide

最終更新が2020年7月とバージョンが古く、ボードの選択でAMIGOがない。
選択しなくても使えるが、詳細は不明

Thonny(https://thonny.org/)でもMicroPython(generic)で使用可能
フラッシュにソースを保存するときにエラーメッセージが表示されるが、問題なく保存して実行される。
サブディレクトリは作成不可

ついに HP-16C を手に入れました。

過去に HP-16C の互換機の SwissMicros DM16 を買った話をしたのですが、ついに本物の HP-16C を入手しました。

実は本物ではないDM16は飽きてすでに手放してます。

この度電子工作関連で10進数と2進数と16進数を変換しながら見たいことがありまして、普通のCASIOの関数電卓(fx-JP500)のn進計算モードを使ってました。
そこで同じようにn進数の変換がワンタッチですぐにできる HP-16C が欲しくなりました。

SwissMicros DM16を大型化して本物に近づけたDM16Lも考えたのですが、送料を考えると2万円に近くなるので、結局本物を狙うことにしました。

国内外のオークションやフリマで相場は2~3万円なのですが、1ヵ月ほどウォッチして運よくかなりの美品を2万円で手に入れることができました。
もう30年以上前のものなので、大抵のものは写真でもわかるくらいの傷や汚れがあるのですが、年代物とは思われないくらいの新品に近い状態でした。恐らく今までのオーナーはあまり使わずにコレクションとして保管してあったものと思われます。

HEXボタンで16進数へ、DECボタンで10進数へ、OCTボタンで8進数へ、BINボタンで2進数へすぐに変換できます。

使用目的の99%はn進数の変換ですが、相当な美品だったこともあり、コレクションとしても大変満足しいます。

DM16L

DM16L

  • SwissMicros
Amazon

3D CADの入門に最適 Fusion360 マスターズガイド ベーシック編

3Dプリンタにも慣れ、最近は自分でも簡単なケースやホルダーのようなものを自作してるのですが、定番のFusion360を使用しています。
いざ使ってみると、操作方法が全く分かりませんでした。
BlenderやShade等の3Dソフトはある程度使えるのですが、3D CADは思ったより全く違いました。
そこで入門書で定番のFusion 360 マスターズガイド ベーシック編を買ってみました。

始めのペン立ての制作を本書に添って進めるだけで操作の基本がわかり、色々と自分で作れるようになりました。全体の10%以下のページ数の内容です。
3Dソフトがある程度使えることもあると思いますが、未経験者でもわかりやすく書かれている本だと思います。

久しぶりに読んでみて効果があった本だったので、同じように3D CAD (Fusion360)の使い方に戸惑ってる方には間違いなくお薦めできる本だと思います。

Arduino UNO互換機を購入する際の注意事項


Arduino UNOを購入する際に価格が安い互換機も探す場合に注意事項を紹介します。
特にUNOの互換機にはUSB-Serial変換チップに純正品と同じATmega16U2ではなく、CH340Gが使われている場合があります。
これはArduino開発環境のドライバとは別にドライバのインストールが必要になり面倒なので、避けたほうが良いです。

コストを下げるためにCH340Gが使われており、この手の物は他の部分でも作りが雑で同じ互換機でもATmega16U2が使用されているものより質が悪いことが多いです。
AliExpress等で中華互換機を探すと全体的にATmega16U2と比較して極端に安いものが多いですが、手間と質を考えるとATmega16U2の方が色々と楽になります。
(ATmega16U2の物は安くても1000円前後するのに対して、CH340Gのものは300円ほどからある。)

またCH340Gは機能ICでUSB-Serial専用チップです。プログラムの書き換えができるのATmega16U2と違い、ファームウェアを書き換えてAVRライタにしたり、USB-MIDIで遊んだりはできません。

始めは割り切って買ったとしても、後から色々と不具合が出るので、ATmega16U2が使われていることをチェックして購入することをお勧めします。

UNOと同じくATmega16U2を使用しているMega等にも言えることですので、気を付けてください。