マイプロジェクト:ギターチューナーをLabVIEWで (1)
自宅用マイLabVIEWを手に入れて、何か自宅プロジェクトを始めたいと思いつつ、仕事では無くてはならないLabVIEWもぼくの日常では無力*1。小学校に上がる前の娘たちにも、まだ必要なさそうだ。娘の相手をする時間が欲しいし、派手な工作は家でやりにくい。なんて思いつつ、Make: Technology on Your Time Volume 04 や Make: Technology on Your Time Volume 06を読んでいたら、実にアナログな自作楽器たちが紹介されている。もちろん、ギターなんか音程が合うわけがないから記事の中でも市販のチューナーを使って調弦(調音)しているんだけど。ふと思いついた。
「ああ、これだ。LabVIEWにぴったりなアプリ。楽器用チューナー。」
ぼくがLabVIEWに惹かれる理由のひとつは強力なDSP機能やフーリエ変換などの波形処理機能だ。自分ではとてもプログラムできない解析機能が標準でついてくる。サウンド解析はLabVIEWに向いたアプリケーションじゃないか。現在のPCの能力を持ってすればチューナーは十分に可能。音声帯域でも中域までで十分だから回路も簡単だし、PCのサウンドボードでも問題ないだろう。
とはいえ、LabVIEWにぴったりすぎるこの分野。日本語でググッてみるとやはり先人はある。
- hirax.net 初期の記事 hirax.net::Keywords::「LabVIEW」のブログ
- 日本NIのLabVIEW使い方ガイドの最新版(PDF)でも、後半にオンボードマイク入力を利用した音声の集録、解析、保存が紹介されている。
大御所 平林氏の記事もあるのにあえて始めるのは恥ずかしくもある。でも、ぼくの力量に見合うもを作っていくよ。今回のプロジェクトの方針としては、
- LabVIEWの標準機能だけで作ってみる(LabVIEW Sound and Vibration Toolkit - National Instrumentsのような便利な別売りモジュールやRealTimeを使わずに作る)
- 明瞭な関数定義を目指してみる。
- 初心者でもすぐに挑戦できる(ExpressVIを惜しげもなく使う)。
を特徴に進めてみたい。LabVIEWを知らない人にそのパワーを伝えたい、というのが最大の動機。裏の動機としては、ぼくのプログラミング技術向上の練習台にしたいのだ。実のところ、ぼくが仕事で作っているLabVIEWソフトウエアは役には立つのだけど、非常に深い階層構造でかつ関数の機能が不明確という美しくない代物なのだ。企業で働くものとしては、組織で成果を上げる力を付けたい。すなわち、他の人から可読性の高いプログラムを書く能力を付けたいと思っている。ソースを公開しながら進めるこのプロジェクトにはそんなチャレンジもある。
音楽の勉強もできるし楽しそう。ちなみに、ぼくは市販のチューナーも持っていますよ。持っているなら必要ないよね。でも、自分で作ってみたいんだよ。中が知りたいんだ。
今日はとりあえず、「はじめるぞ宣言」まで。
*1:バージョンが上がれば改善されるかも。→LabVIEW Future Version 77 - YouTube。100年先じゃ生きてないな。