メモ:録音中のオーディオ入力をヘッドホンで聴くには

やりたいこと Windowsで、オーディオキャプチャーケーブルから入力した音声を録音しつつ、ヘッドホンで聴く。 録音 録音にはAudacityを用いる。 オーディオ入力の設定 「コントロールパネル」 > 「サウンド」 を開く 「録音」タブを開く デバイス(この場合…

XIAOGYANでインターネットラジオ

XIAOGYAN (IoT ALGYAN 8周年記念ボード)で動作するインターネットラジオのサンプルコードです。 ※ XIAO ESP32「S3」用です。「C3」ではうまく動作しません。 参考 ESP32 でインターネットラジオ(Web Radio)を作る(ハマったこと) - Qiita ESP32-DevKitCで…

ウインドシンセ開発関連

現在開発中のFM音源ウインドシンセ 以前作ったFM音源ラジコン楽器 参考にしたもの OTOONE / AFUUE HOME | AFUUE AFUUE - fab-wiki OTOONE_DEV YWinth 「簡易に演奏可能なリコーダー型ウインドシンセサイザー」 論文「簡易に演奏可能なリコーダー型ウインドシ…

メモ:Setup.msiのエラーログを得る

アプリのインストーラを実行したら、「インストーラは未完了です。」「***のインストール中にインストーラが中断されました。」のようなメッセージが出てインストールが中断される場合、コマンドプロンプトからオプションを指定してインストーラを実行す…

.NET Frameworkのバージョンを確認する方法

レジストリの値を確認する。regeditで下記のレジストリの値を調べる。 キーのパス : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full 値の名前 : Release またはコマンドプロンプトに下記のコマンドをコピペして実行する。 reg quer…

簡単な例で C/C#/Rust のメモリ管理を比較

C言語と C#と Rustとで、動的メモリ管理の考え方の違いと、そのメリット・デメリットについて考えます。 (1) C言語の場合 C言語の場合、動的メモリ(ヒープ)は malloc関数で確保し、free関数で解放します。確保したメモリはプログラマが責任をもって解放しな…

メモ:WindowsでRustの開発環境

前提 Windows に Visual Studio と VSCode はインストールずみ 開発環境のインストール Install Rust - Rust Programming Language] から rustup-init.exe をダウンロードしてインストール。 VSCode の Extensions で rust-analyzer 拡張機能をインストール…

メモ:VSCodeでVBA

Excel VBAの困ったところ VBのソースがExcelブックに抱き込まれているため差分管理が困難。 Editorが古臭く、不便で使いづらい。 有志が作成したアドインを入れないと行番号すら表示されない。 VSCodeの拡張機能をインストール VSCode の Extensions で「XVB…

メモ:VBAのコードに行番号表示

Excel VBA マクロでコードの行番号を表示する方法 アドインのインストール AddLineNumbersアドインをダウンロード AddLineNumbers VBA for x64 (64bit) AddLineNumbers VB6/VBA (32bit) コマンドプロンプトを管理者として実行 (c:\Windows\system32 がカレン…

VSCodeで組込み系のソースを編集

やりたいこと VSCodeで組込み系マイコンのCソースを編集したい。 ビルドやデバッグは別のIDEでやるのでできなくていい。 前提 VSCodeに拡張機能 C/C++ がインストールされていること。 とりあえずこれだけで、構文ハイライトやナビゲーション、インテリセン…

メモ:VSCodeの文字化け

やんごとなき理由でShift-JISで書かれたファイルをVSCodeで編集しようとすると、文字化けが起こる。VSCodeのデフォルトの文字コードはUTF-8なので当然である。設定で、Files:Auto Guess Encoding にチェックを入れるといちおう文字コードを自動判別するよう…

メモ:PowerShell の文字化け問題

PowerShellとは? Windows独自の 珍妙な 強力なシェル たしかにDOS窓と比べてはるかに強力だがよく分からない。 シェルスクリプトの拡張子は .ps1 (でもメモ帳に関連付けられる…) そしてやたら文字化けする。 シェルスクリプトの実行権限 下記コマンドで確認…

WinMergeで差分のみの表示になってしまった!

WinMergeを使っていて、Ctrl+S で保存するときに指がすべって Ctrl+D を押してしまうと、差分のみの表示に切り替わってしまう。もう一度 Ctrl+D を押すと全行表示に戻る。メニューの「表示」→「Diffコンテキスト」からも設定できる。また、差分の前後1行を含…

ラジコン楽器の図解 (内部の結線)

むかし作ったラジコン楽器の内部の図解。 (というか自分が忘れたので調査した。) 本体内部 フロントパネルの裏面 イヤホンジャック LED ラジコン受信機 FM音源ボードの改造 3.3V電源で動作するようにS1をショートし、R0をはずす。 ユニバーサル基板の配線

arctanの近似計算

arctan関数の近似計算として、3次のガウス求積法による近似式は、角度をラジアンから度数法に換算すると C言語のコード この近似計算をおこなうC言語のコードを以下に示す。 なお、浮動小数点実数にはdouble型ではなくfloat型を用いている。計算の精度からし…

メモ:GitHubのREADME.mdにYouTubeの動画を貼る

一般に、下記の要領で動画を貼ることができる。 [![代替テキスト](サムネイル画像のURL)](動画のURL)YouTubeの場合、サムネイル画像は下記のようなURLで得られる。 ただし、動画IDを XXXXXXXXXXX とする。 https://img.youtube.com/vi/XXXXXXXXXXX/0.jpgよっ…

Arduino IDEからPlatformIOへ移行

Arduino IDEの問題点 PlatformIOとは? PlatformIOの導入 プロジェクトの作成から書き込みまで プロジェクトの作成 ビルドと書き込み ポート指定 シリアルモニター ライブラリの導入 サンプルコード 既存のプロジェクトを開く 既存のArduinoスケッチのインポ…

メモ:BME280

BME280のI/Fについてメモ。BOSCHのセンサICはだいたい似たような仕様になっている。 I2C接続の場合 ピン名 機能 SCK SCL (シリアルクロック) SDI SDA (シリアルデータ) SDO スレーブアドレス設定 (0x76@Low / 0x77@High) CSB I2C選択 (High固定にする) SPI接…

gitでdiffの文字コードのみShift JISに設定する

課題 Source Treeでgitを使用 歴史的経緯でShift JISのファイルがある diffが文字化けする [ツール]→[オプション]から「デフォルトの文字コード」を「shift_jis」にしてしまうとコミットログなどもShift JISになってしまう。(過去にutf-8で書かれたログが文…

3.3V, 5Vの電源IC/モジュール/その他

個人的によく使う (よく使った) ものを中心にメモ。 降圧 (リニア) 7805 : 名にし負ういにしえの三端子レギュレータ。TO-220パッケージ。5V1A出力。かつては定番中の定番でセカンドソースも多数ある。78L05はTO-92で100mA。ドロップアウトが大きい(2V)。 も…

サンハヤトのユニバーサル基板

いわゆるC基板 (47mm×72mm) ICB-288G : ガラスコンポジット片面 1.2t ←好み ICB-288 : 紙フェノール片面 1.6t ICB-88G : ICB-288G に比べ、周縁部に余白がある ICB-88 : ICB-288 に比べ、周縁部に余白がある ICB-88GH : ガラスコンポジット両面(スルーホール…

秋月メモ

ユニバーサル基板 スルーホールでない両面ランドの基板で、ガラスコンポジット材(CEM3)で薄手のものが好み。両面ランドだと両面にハンダ付けできる。スルーホールのものは裏表で配線を交差できないし重い。またCEM3で薄めのものがPカッターでカットしやすい…

C言語:可変長引数のマクロと関数、およびデバッグ用printf

デバッグ用printfでよく使うテクニックだが忘れがちなこと。 可変長引数のマクロ 引数の可変長部分を ... で表記する。 特別な識別子 __VA_ARGS__ が可変長引数に置換される。 #define DEBUG_PRINT(fmt, ...) printf(fmt, __VA_ARGS__) 可変長引数の関数 std…

Javascriptでバイナリの構造体を扱う

ArrayBufferとDataViewとUint8Arrayでごにょごにょすればいいらしい。 function setData() { const longitude = 139.6917; const year = 2023; const month = 5; const day = 28; const hour = 12; const min = 30; const aBuffer = new ArrayBuffer(10); co…

メモ:Azure Static Web Apps

やりたいこと Azure で静的なWebサイトをホストする。 (たんに HTML と JavaScript のファイルを置くだけ) 方法 静的Webアプリ (Azure Static Web Apps) を使う。 手順 Azure のポータルを開く。 「静的Webアプリ」を選択 「作成」を選択 「サブスクリプショ…

定数マクロの退避と復帰

定数マクロの弊害として、スコープに関係なく置換されるため、意図しない所でエラーになることがあります。 #include<stdio.h> #define HOGE 666 int main() { printf("HOGE = %d\n", HOGE); int HOGE = 314; // ← HOGEが666に置換され、エラー printf("HOGE = %d\n",</stdio.h>…

メモ:Bootstrap5

bootstrap.min.css グリッド コンテナの幅指定 列幅の指定 行内の列を中央に寄せる (列幅が合計12未満のとき) マージンの設定 テキストの中央寄せ ボタン ボタンの種類とデフォルトの色 ボタンの見た目 幅いっぱいのボタン フォーム テキストボックス スライ…

メモ:Windows10でギリシャ語入力

現代ギリシャ語の Monotoinc (鋭アクセントのみ使用) 表記ではなく、古典ギリシャ語の Polytonic 表記をWindowsで入力する方法。 ギリシャ語キーボードのインストール [設定] → [時刻と言語] → [言語] でギリシャ語を追加 ギリシャ語のオプションで「ギリシ…

メモ:自作キーボードのキースイッチとキーキャップ

基礎知識のメモ。 キースイッチ Cherry MXスイッチ : いちばん有名なやつ。互換品が多い。 Kailh BOXスイッチ : Cherry MX互換でたぶんいちばん有名なやつ。 軸種 赤軸 : リニア (クリック感のない静かなやつ) 茶軸 : タクタイル (少しクリック感のあるやつ…

Eagleの基板図面からアクリル板のレーザー加工用データを作る

(2023/02/04 改訂) やりたいこと Eagleの基板図面(brdファイル)から、アクリル板のレーザー加工用のデータを作る。 ただしここでは、レーザー加工用のデータは工房Emerge+さん指定の下記のような形式のファイルとする。 SVG形式 外側カットラインは ”outer” …