Spec-Recorder

Spec-Recorderは主に流星電波観測のために開発中のスペクトログラム記録ソフトウェアです。もちろん他の用途にも使うことができます。
Spec-Recorderはオープンソースで高機能な、MROFFTやHROFFTの代替を目指しています。
開発者が千葉大学高校生理科研究発表会でこのソフトウェアについて発表し、千葉大学長賞をいただきました。

概要

Spec-Recorderは主に流星電波観測のために作られた、スペクトログラムを記録し、エコーを自動でカウントするソフトウェアです。

開発者
茗溪学園高等学校 34回生 皆川勇太

ライセンス
MITライセンス

動作環境
今のところ、Ubuntu12.04以降とWindows7で動作を確認しています。きっとMacOSXや他のLinuxディストリビューションでも動きます。

必要なモジュールなど
Python2.7とPython Imaging Library(PIL)1.1.7とSound eXchange(SoX)14.4.1とnumpy 1.1.7

既存のソフトウェアより有利な点

時間分解能が高い
HROFFTやMROFFTの8倍、毎秒8ピクセルです。

自動エコーカウント機能がある
ノイズの少ない環境でなら人間の計数結果とほぼ一致します。

便利なのかよくわからない機能が充実
Webブラウザからの設定編集機能・画像閲覧機能があります。

オープンソース
Spec-RecorderはMITライセンスを採用しています。
開発者が開発をやめてしまっても、誰かが引き継いで開発を続けることができます。

マルチプラットフォーム
Windows7とUbuntuに対応しています。

後日のデータの解析が自由自在
無線機からの音声を保存しておけるので、あとから聴いたり、もっと時間分解能の高い画像にして解析したり、自由自在です。

既存のソフトウェアより不利な点

CUIからの操作が主なため、使い方が難しい。
観測データの量が多い

バグ報告・要望など

こちらにお願いします。http://sourceforge.jp/forum/forum.php?forum_id=31009

開発方針

こちらにどうぞhttp://sourceforge.jp/projects/spec-recorder/wiki/policy

Ubuntuでのインストール方法・使い方

こちらにどうぞhttp://sourceforge.jp/projects/spec-recorder/wiki/ubuntu

Windowsでのインストール方法・使い方

こちらにどうぞhttp://sourceforge.jp/projects/spec-recorder/wiki/windows

Configファイルの書き方・SR HTTP Config makerについて

こちらにどうぞhttp://sourceforge.jp/projects/spec-recorder/wiki/config

更新履歴

beta1
基本的な機能の実装

beta2
HTTPサーバー機能などの実装
SoXの呼び出しに用いる関数の一部変更

Ver.1.0
wave.pyのみの実行でfreq_exec.pyも実行されるように変更
画像の自動解析の開発中(make_csv.pyを参照のこと)

Ver.1.01
wave.pyをmain.pyに変更(PythonのWAVEモジュールと名前が被るため)
流星の自動カウントの開発進行(まだ使える状態ではない)
CSV形式でのデータの書き出しの実装

Ver.1.1
流星の自動カウント機能のマージ
時々 PNG ファイルが生成されないという重大な欠陥の修正
Windows 版の開発
ファイルの保存先を各フォルダに分けるように変更

Ver.1.11
Windows対応!!!(自動カウントは未対応 PNGファイルの生成はできる)
時刻管理の改善
音声ファイルをOgg Vorbisに変更

Ver.1.12
Windows での自動カウントに対応
Echo ファイルの書き出し先を echo フォルダに変更
エラーが起こってもとりあえずメインループを実行し続けるように変更

Ver.1.13
自動カウントの精度向上
モノクロの画像を monoPNG に、カラーの画像を PNG フォルダに保存するように変更し、configファイルの白黒、ハイカラーの設定項目を削除
config ファイルの変更を再起動不要で反映するように変更

Ver.1.14
soxi.exe を作らなくても動くように変更
自動エコーカウントの各パラメータを設定項目に追加
ネットワーク経由での Config ファイル編集機能の開発[[BR]]

Ver.1.20Beta
実験的な要素の多いリリース(多くのバグが含まれているはずですので、実際の観測にはVer.1.20 を待つか、Ver.1.14 をお使いください)
エコー判定の際のピクセルの比較対象を、すべてのピクセルの中央値に変更(これまでは平均)
エコーの周波数を自動で認識し、その周波数から離れているエコーを除外するように変更(それに伴い、Numpy が必要になる)
RMOB 形式の書き出し機能の開発中
ソースコードの整理
モジュールのインポート時のエラー処理の実装
その他、多くの変更

Ver.1.20
バグの修正
画像のピクセルの読み出しにOpenCVを用いることもできるように変更(デフォルトでは不使用)

Ver.1.30
Gmailでのデータ送信機能の実装
CSVファイルのZip形式での圧縮機能の開発中
その他、バグの修正など

Ver.1.31
エコー判定アルゴリズムの改良
RMOB 書き出し機能の開発進行
Web ブラウザでの画像閲覧時に、自動で画像が更新されるように変更
バグの修正

Ver.1.32
CSV 書き出し、エコーカウント機能を呼び出す関数を変更
ファイル名のヘッダーの使用が可能になった
telnet 経由での操作の実装が頓挫
バグの修正

謝辞

SoXの開発者の方に感謝いたします