スキップしてメイン コンテンツに移動

夜明けの定点観察(自動で時間を追加するスクリプトを書いてみた)

夜明けの30分前から日の出後30分ぐらいの時間、定点観測をしている。

耳くんを現地に持ち込んで、1時間程度毎週録音している。聞こえた鳥の声をこれまでフィールドノートにメモしていたのだが、パソコンに再入力するのが手間なので、MacBookを現場に持ち込んで直接入力することにしてみた。

キーボードからの入力は鳥の記録と感じたコメントのみで時間は自動で追加できるプログラムが欲しい。そんなんで軽くbashで書いてみた。

そのコードが次のプログラムqでプログラムを終了。極めて簡単。brd.listというファイルに入力されたコメントを時間とともに追記して行く仕様。

$ cat p
#!/bin/bash
# 2014.11.14 Woodie
echo "Welcome real time input method."
echo "Usage: Type the bird behavior or (q)quit."
while :
do
  date=`date "+%Y/%m/%d,%H:%M:%S"`
  echo -n $date","
  read INPUT
  if [ $INPUT = "q" -o $INPUT = "q" ]; then
    echo "quit"
    break
  else 
    echo  ">"$date","$INPUT
    echo $date","$INPUT >> brd.list
  fi
done

exit 0

これをMacOSX(10.10)のterminalでpと入力する。記録されたファイル(brd.list)はCSVの形式で次のような感じでファイルができる。

2014/11/22,05:25:29,R 録音開始 星が見える
2014/11/22,05:25:42, 虫の音が聞こえる
2014/11/22,05:26:20, 星空が美しい
2014/11/22,05:26:47, 今日はそんなに寒くない
2014/11/22,05:27:09, 虫の音 リッリ
2014/11/22,05:46:26,モズ ?一番鶏だな
2014/11/22,05:47:15,モズ チュルルリ
2014/11/22,05:47:49,モズ は最初勢いがあった歌い出しだけど最後は弱弱しくなく
2014/11/22,05:48:53, しばらく静か、風が出てきた
2014/11/22,05:49:32,
2014/11/22,05:55:04,メジロ がチートなく
2014/11/22,05:55:13, 首筋が寒くなってきた
2014/11/22,05:55:31,  風が通っていく。枯葉が舞う
2014/11/22,05:56:13,ヒヨドリ ピヨー
2014/11/22,05:56:33, 一昨日の雨で湿度はそんなに低くない。むしろ湿度は高い。
2014/11/22,05:57:00,
2014/11/22,05:57:01,モズ
2014/11/22,05:57:04,ヒヨドリ
2014/11/22,05:57:09,メジロ 遠く
2014/11/22,05:57:24,シロハラsp ツィートが二回
2014/11/22,05:57:48,WAY" 細かい高いチィチチチと聞こえる


これを録音開始と同時にリターンしRと入力して開始時刻の目印をつける。

工夫点としてリターン直後の時間が保存されるので、次に入力するにはリターンを最初に入れて時間をリフレッシュする必要がある。また、全角のスペースはコメントを意味する。スペース無しだと鳥の情報。これで後処理は楽になるはず。bird researchの記録方法を見習いました。

備忘録まで

コメント

このブログの人気の投稿

瞬間日記のデータをday oneに移動させるのだ

瞬間日記をiPodを購入した2010年から使ってきたが、day oneが人気なので使ってみた。なかなかよかった。コマンドライン(CLI:Command Line Interface)から入力できるし、クラウドで同期できるのもいい。見た目もきれい。安定しているのもいい。 という訳で、瞬間日記からday oneにデータを引っ越しすることにした。 (このページで半角の > と表示されたら半角の”>”記号だと思ってください。HTMLの仕様のインプリバグでしょう。) 特定の日記アプリ間のデータの移動とは人生で一回しかないだろうから汎用性など考えずに間違えないように慎重にすることが大切だ。確かめて確かめて。このページはそんな備忘録である。また、瞬間日記のデータをday oneに移動させたという記事も見つけられなかったので誰かのお役に立てるかもしれない。でも自己責任でね。 瞬間日記は独自フォーマット(.dat3)や標準的な(.sqlite)、(.csv)でもMacにバックアップできる。使い勝手のいいcsvファイルは本文だけで写真情報が欠落している。瞬間日記のデータを引き上げるのは色々試したが、テキストばかりでなく写真も移動させたいの結局メールでバックアップすることにした。瞬間日記側で自分にひと月毎のバックアップをメールする。3年半分。ソチオリンピック開会式を見ながら作業でもれなく終了。 これは瞬間日記が30枚しか1つのメールに写真を貼付できないので、ひと月分だけせっせとメールする。 届いたメールはOSX側のmail.appで開くが、~/Libraryに保存されているelmsでなく、単にテキストファイルでmail.app側の機能を使って出力することにする。 瞬間日記のデータを取り出し、day oneにエントリできるくらいの粒度のファイルにするまでの流れ: iPodの瞬間日記のひと月分に区切ったバックアップデータを自分のメールアドレスに送信する OSXのmail.appで受信したメール全部(件名"MomentDialy"で始まるメールを一つのメールボックスに束ねる。例えばMomentDiaryというメールボックスに全部入れる mail.app上のメールボックスMomentDiary内の全部のメールを選択する。つまり⌘+a。 ...

電解コンデンサの容量抜けを測ってみた

中古オーディオ屋でスーパーウーハーを買ってから7〜8年経つだろうか。 1989年に発売されたONKYOの SL-10 という機種で、現役で商品が店頭に並んでいた時にピアノ曲に深みが増すことにちょっとした感動を覚えて中古屋で見つけた時2万円で即購入したのだ。 スピーカのエッジのクズがエンクロージャのダクトから出てきて開けてみたら見事エッジ全体が下手っていた。これを奇麗にして、ウレタンエッジに交換することにした。写真1、と写真2がそのBefore/Afterだ。 写真1 SL-10のスピーカのエッジを交換してみた (エッジを取り除いた状態) 写真2 SL-10のエッジを交換したスピーカ また、SL-10が勝手に自己発振する様になっていたのでコンデンサの容量が抜けたと想像してこれらを交換することにした。これは電解コンデンサの容量が抜ける事でフィードバック回路の時定数が変わってしまいネガティブフィードバックがポジティブフィードバックに位相が回って知ったのでは予想した。 電解コンデンサを交換したSL-10のコンデンサ 交換した電解コンデンサ達(容量は抜けていなかった)  マルツ電波で発注しておいたオーディオ用のコンデンサを付け替えた。ただ、それだけでは詰まらないので交換したコンデンサを測ってみた。使った測定器は卓上テスタ(GBW 9000A)の付属機能。最大20μFまでしか測れなかったが、結論からすると交換した電解コンデンサの容量抜けは無かった。 測定例 定格(μF)   実測(μF) 10       10.19 10       10.00 4.7       4.78 3.3       3.27 1.0       1.01 0.47       0.46 というわけで直しても自己発振は直らないかも。明日組立ててみよう。

声紋・ソノグラム・スペクトルグラム

声紋(sonogram, spectrogram)は野鳥の声の分析に不可欠なツールです。横軸に時間、縦軸に周波数を取って、音の強さを色で表示します。 ここで用いられている処理は、音声である波形を周波数の信号に変換する時間−周波数変換(フーリエ変換)です。フーリエ変換するときに幾つかの調整できるパラメータがありそれぞれがどう関係しているのかをまとめてみました。案外、まとめて書かれているものがありません。そのため自分で調べました。厳密に定義しているのではなく備忘録です。初心者向けにコ ーネル大学の作成したCanary/Ravenのマニュアルの付録に鳥の声のスペクトル解析の章 がありこれを参考にしています[1]。 音声データのパラメータ 波形とは時間に対する強度が連続的に変化する信号を表します。音声は波形であり、ICレコーダは連続の波形を離散化(デジタル化)されて記録されます。離散化された信号も波形と呼びまし、今はディジタル信号を意味する事が多いです。 連続な信号をとびとびの信号で表すので失われる情報があります。しかし、必要とする周波数帯域の2倍以上でサンプリングレート(サンプリング周波数)で離散化すれば完全に復元できるとシャノンさんが証明しました。 この関係は、次の表のようになります。 サンプリングレート(SR) 標本点の周期(ΔT) 192KHz 5.2μs 96KHz 10.42μs 48KHz 20.83μs 44.1KHz 22.67μs 音を声紋(スペクトログラム)にするには短い一定期間の波形データを切り出して(スライス)これを周波数変換し並べます。この短時間の周波数変換を短時間フーリエ変換:STFT(Short Time Fourier Transform)と呼びます。問題はこの時間の選び方です。時間と言っても離散化されているのでその切り出す波形の個数です。切り出された波形をフレームと呼んだりチャンクと呼んだりします。ここではフレームと呼びます。1フレームの波形の個数をフレーム長(Flame Length)と呼びます。各アプリではもっとわかりやすい言葉を使っていますが同じ意味です。 Amadeus Pro : FFT Size Audacity : ウィンドウサイズ 鳥の...