ソフトな忘却力(25) WSL2とWindows11連携でサウンドファイル生成なんのその

sndfile-spectrogram
Joseph Halfmoon

新PC(Windows11)は便利。今回はWindows10で消えていたSound Recorder が復活しているのに気づきました。10のVoice Recorderは、wavフォーマット対応せずで難渋しました。WSL2とWindows11間は相互乗り入れ。音声ファイルの加工はLinux側のライブラリでさくさく?

“ソフトな忘却力(25) WSL2とWindows11連携でサウンドファイル生成なんのその” の続きを読む

ソフトな忘却力(24) 久しぶりの gprof、簡単なところから思い出す

gprof16_q
Joseph Halfmoon

ここ暫くプロファイラなど使っておらず。すっかり使い方を忘却しております。今回は、open, read, writeなど基本中の基本?のシステムコールのリハビリをしながら、これまた一番基本の gprof を動かして関数が何回呼び出されているんだか勘定してみたいと思います。数えたら早くなるってもんでもないケド。

“ソフトな忘却力(24) 久しぶりの gprof、簡単なところから思い出す” の続きを読む

ソフトな忘却力(23) time_t型、64bit OS上なら64bitになっていたのね

trainTime
Joseph Halfmoon

別件でdateコマンドを使って思い出したのが UNIX時間であります。Linuxでも使用の「伝統」です。そういえば昔は32ビットであったので2038年問題ってのが有った筈。手元のLinux機、ラズパイ4はようやく64ビットOSに切り替えましたが、ラズパイ3は32ビットOSのままです。time_t型の件、調べてみました。
“ソフトな忘却力(23) time_t型、64bit OS上なら64bitになっていたのね” の続きを読む

ソフトな忘却力(22) シグナル、無視するにはsigprocmask()使う方が良いのね

ResultEC
Joseph Halfmoon

シリーズ3か月近く間が空きました。気を許すと練習頻度を忘却速度が上回ります。練習再開、テーマは「シグナル」です。マイコンの場合のハードウエア割り込みのようなアカラサマなものではなく、Linuxの管理下にある「ソフトウエア割り込み」的なやつです。今回はシグナルを無視するやり方を練習。

“ソフトな忘却力(22) シグナル、無視するにはsigprocmask()使う方が良いのね” の続きを読む

ソフトな忘却力(21) gcc、デフォルト設定でのNaN、INF、デノーマル数の挙動

DUT_EC
Joseph Halfmoon

昨日の別件投稿にてRISC-VのFPUでのNaN、INF(無限大)、デノーマル数などを再び扱いました。「そういえば」いつも使っているGCCコンパイラでそれらヤバイ奴らはどんな挙動をするんでしょうか?普段、あまり浮動小数点数を使わぬので、実機でやってみることにいたしました。

“ソフトな忘却力(21) gcc、デフォルト設定でのNaN、INF、デノーマル数の挙動” の続きを読む

ソフトな忘却力(20) Node-REDのsmoothノードのフィルタ特性を推定

LPF_est_BodePlot
Joseph Halfmoon

Node-REDはIoTデバイスなどから集めて来たデータをWeb表示したりするときにとても便利なシステムです。昨日別投稿にてsmoothノードというものを勉強。入って来たデータの平均、最大といった統計量を求める他に、ローパス、ハイパスフィルタも含んでました。しかしHELPみてもフィルタ特性については書いてなかったです。

“ソフトな忘却力(20) Node-REDのsmoothノードのフィルタ特性を推定” の続きを読む

ソフトな忘却力(19) .wavファイルの生成、octaveとcppの両方で

OctaveSample
Joseph Halfmoon

WAVファイルを扱おうとしたらいつの間にかWindowsの標準アプリではそのようなフォーマットは捨て去られていたのにようやく気づきました。お間抜け。自分で音声信号のファイルを生成したりするときには楽なのだWAV形式。単なるPCMだし。ヘッダも簡単。今回はOctaveとC++の両方でWAVファイル書き出しやってみます。

“ソフトな忘却力(19) .wavファイルの生成、octaveとcppの両方で” の続きを読む

ソフトな忘却力(18) 偶数個のときのmedian、浮動小数のgtest

Octave
Joseph Halfmoon

前回はcsv読み込み用のライブラリの使い方をgtestで確認しました。今回は読み込んだデータの処理です。ふと偶数個のときのmedianってどう計算するんだっけという疑問をもったのです。medianの計算をgtestしようとして今度は、gtestで浮動小数の計算のテストってどうするんだっけ、と。疑問は尽きず。

“ソフトな忘却力(18) 偶数個のときのmedian、浮動小数のgtest” の続きを読む

ソフトな忘却力(17) VSCodeでgtest、テンプレートライブラリ使用csvパーサ

csvparser_gtest_results
Joseph Halfmoon

今回は実用的なテンプレート・ライブラリ libfccp を呼び出しているコードにGoogleTest(gtest)を適用してみたいと思います。libfccp はC++用のCSVファイル読み取り用のパーサです。CSVはテキストなので自分でも読み込み簡単な気がしますが、既にライブラリがあるのなら利用させていただいた方が確実でお楽。

“ソフトな忘却力(17) VSCodeでgtest、テンプレートライブラリ使用csvパーサ” の続きを読む

ソフトな忘却力(16) VSCodeで ctest+gtestその2、Classのテスト

CTEST_Results
Joseph Halfmoon

前回 CMakeのテストランナーである ctest の元で GoogleTest(gtest)フレームワークのTEST走らせました。調子に乗って今回はC++のClass のテストに手を広げてみました。前回の関数単体とはちょっと書き方が違ってました。今回は分量多いので「前回との差分」部分にフォーカスして記述いたします。

“ソフトな忘却力(16) VSCodeで ctest+gtestその2、Classのテスト” の続きを読む

ソフトな忘却力(15) VSCodeでctest+gtest、CMakeLists.txt

vscodeGtestCtest
Joseph Halfmoon

前回 CMakeLists.txtを書くだけで、GoogleTestがインストールされていなくても速攻でgtestできるのに感激しました。CMake本当に便利。しかし前回はVSCodeからリモート接続じゃなかったです。それに全部のファイルを同じディレクトリに入れてました。やっぱりライブラリやテストは分けたいです。またテキトーにCMakeLists.txt書いてみたら通ってしまった。これで良いの?

“ソフトな忘却力(15) VSCodeでctest+gtest、CMakeLists.txt” の続きを読む

ソフトな忘却力(14) ラズパイでgtest、CMakeLists.txt書くだけでOK

testRUNagain
Joseph Halfmoon

GoogleTest(gtest)は、C++用の単体テストツールとして定番ですが、遥か昔にちょっと使ったキリでとんとご無沙汰、すっかり忘却。おぼげな記憶によるとセットアップがメンドかった記憶が?今回ラズパイ上でやってみたら、まったくメンドくないです。CMakeLists.txtにチョイと仕込みを入れるだけで速攻テスト可能。テスト自体は書かないとダメだけどね。

“ソフトな忘却力(14) ラズパイでgtest、CMakeLists.txt書くだけでOK” の続きを読む

ソフトな忘却力(13) ラズパイsyslog、ファイル振り分け、UDPの許可

Raspberry Pi 4
Joseph Halfmoon

困った時の syslog 頼み。Raspberry Pi OSを動かしていて何かトラブったときに見るのが syslog です。運が良ければ?問題の原因が分かります。そうして頼ってきた割にラズパイのsyslogの事はちゃんと理解していなかったことが今回発覚。「ついでに」ファイルの振り分けを追加し、リモートからのUDPでのログにも対応とな。

“ソフトな忘却力(13) ラズパイsyslog、ファイル振り分け、UDPの許可” の続きを読む

ソフトな忘却力(12) RPi3、AES、1ブロックだけのテストパターン「素の」暗号化

AES_BlockDiagram
Joseph Halfmoon

前回は、ATSAMD51マイコンのSHA1計算ハードを試用するプログラムを書いた後で、テストパターン生成用のプログラムを作りました。こういう泥縄ではいかん、ということで、今回はマイコンプログラムの前にテストパターン生成用のプログラムを作っておくことにいたしました。AES暗号化、1ブロック「だけ」です。

“ソフトな忘却力(12) RPi3、AES、1ブロックだけのテストパターン「素の」暗号化” の続きを読む