うつ日記 ~うつを克服するための日記~

うつ病のため休職してから復帰するための体験、工夫、Androidアプリの紹介、アプリの作成ノウハウなど。アプリはこちら→ https://play.google.com/store/apps/details?id=tokin_kame.utunikki_app

体調の分析~うつ日記の活用~

自分の体調について、自作のアプリで毎日記録を付けています。
もし、こういうことの後には体調を崩しやすいとか、こんな時には大丈夫とわかれば、日常生活を送る上で参考になると思われます。
以前は色々なことが複雑に関連すると想定して、複雑な予測手法を試してきましたが、今回は基本に帰って個々の情報と体調との関係を見てみました。
2つの現象の関係を見る手法として相関係数を使うことにしました。同時に起こる現象ほど相関が高くて、相関係数が大きくなるってところでしょうか。

まず、わかりやすいところから。

○症状
体調と比較的相関が高いもので、症状と思われるものは以下の通りでした。(数値は相関係数)

気力       0.5676177682
活動具合     0.5660850718
仕事をした    0.4501065514
つらい、しんどい 0.4459462761
眠気       0.3466495251
憂鬱感      0.3291547111
不安感      0.289137679
気が重い、不快感 0.2306174536
憂鬱感(1日前)  0.1002050951

体調が悪いと思う時は、気力がないとか、活動ができていない時ということなんでしょう。
自分で記録してて実感としてわかる気がします。


次に前日以前の状態を引きずっていると思われるものです。

○連続性
意外と前日までの体調と連続性があるようです。

体調(1日前)    0.4165590524
活動具合(1日前)  0.3887784676
仕事をした(1日前) 0.3512161073
仕事をした(2日前) 0.3139686268
活動具合(2日前)  0.3008375468
体調(2日前)    0.299723202
気力(1日前)    0.2717481515
活動具合(3日前)  0.2205140497

そして、重要なのが因果関係にあると思われるものです。

○因果関係
記録している中では睡眠時間との関係が強いようです。
睡眠は、1日前より、2日前とか3日前の方が関係が強いってのが、実感と合う気がします。
天気との関係が強いように思っていましたが、意外と気圧や気温の方が関係が強いという結果でした。
もしかすると、気温差とかを変数にしてみるともっと良いのかもしれません。
塩からいものは余り食べてはいないけど意外と相関が出ています。何かしらの因果関係があるのでしょうか?
悩みが強い場合は調子が悪いというのも低めですが出ています。

睡眠時間(2日前)       0.2622079518
睡眠時間(3日前)       0.2557154152
気圧(1日前)         0.2547683709  ←天候の中で最も相関が強い
塩からいものを食べた(3日前) 0.2546342145  ←塩分の取りすぎが良くない?
気温(1日前)         0.251670292
気圧(2日前)         0.2481592617
気圧             0.2453346151
気温(2日前)         0.2449271001
気圧(3日前)         0.2429016449
気温             0.2424637039
気温(3日前)         0.2376466735
睡眠時間(1日前)       0.2327329479
睡眠時間           0.2309630032
湿度(1日前)         0.2189409971
塩からいものを食べた(1日前) 0.2180654616
塩からいものを食べた(2日前) 0.2124009936
湿度             0.2113519812
間食を食べた(3日前)     0.2103576462
湿度(2日前)         0.2063517619
天気             0.20377873  ←意外と低い
間食を食べた(2日前)     0.1980849892
油っこいものを食べた(1日前) 0.1798724932
塩からいものを食べた     0.1688248735
悩み具合           0.1568354537
悩み具合(2日前)       0.1481562102


逆相関というのもあります。
何かが良い時ほど体調が悪くなるというものです。

○連続性
調子が良い時は疲れるぐらいまで活動するからでしょうか?

倦怠感、疲れた感じ(3日前)  -0.1937511577
倦怠感、疲れた感じ(1日前)  -0.2048685176
倦怠感、疲れた感じ(2日前)  -0.2064618956

○因果関係
忙しいほど調子が良いというのは、緊張感の問題かもしれません。
今日は頑張らないといけないと思ってるとなんとか体調がもって、その後崩れるってことはありますので、そういうことなのかもしれません。
と言うより、ほんとに調子悪い時は仕事休んじゃうから忙しくないって記録に残っちゃうだけかもしれません。

忙しかった(1日前)    -0.1905547243
豆類を食べた(2日前)   -0.2013853332
早く目が覚める(1日前)  -0.2014840327
豆類を食べた(3日前)   -0.2052963942
果物を食べた(1日前)   -0.2174520025
忙しかった       -0.2332050618

残業した後とかに体調崩すみたいな結果を期待していましたが、そういうのは出てきませんでした。
データの問題、手法の問題あるので、たまたまかもしれませんが。

相関係数の値も小さいですし。

 

 

天候とうつとの関係~うつ日記の活用~

久々の体調の分析と予測についてです。
よく、天候が悪いとうつになりやすいなんて聞きますので、とりあえず天候の情報を記録して、体調の変化と比較してみることにしました。
天気と言っても、晴れとか雨とか視覚的に捉えるものもあれば、気温のように肌で感じるもの、気圧や湿度のように無意識に感じているものなど色々あります。
自分にとって、どれが効くものなのか、これらの変化と体調の変化を重ね合わせてみることにしました。
結果をグラフに示します。
黒い線が体調で、赤い線が天候です。

f:id:tokin_kame:20160123124148p:plain

天気と体調のグラフを見てみると、傾向がかなり一致していることがわかります。
ところどころ合わないところはありますが、上がるか下がるかの傾向などは一致する部分が多いように思います。

f:id:tokin_kame:20160123124139p:plain

気圧と体調のグラフを見ると、体調と気圧が逆向きの関係にあるように見えます。
一般的には、気圧が下がる時は天気も崩れがちになるので、先ほどのグラフと相反する結果のようにも思えます。
より詳細な分析が必要だと思いますが、大域的な天気の変化ではなく、視覚的な情報や、足元が悪くなるなど直接的な影響が体調を左右するということなのかもしれません。

f:id:tokin_kame:20160123124131p:plain

f:id:tokin_kame:20160123124144p:plain

湿度と気温については、体調との直接的な関係はないように見えます。

 

と言ったところで、天気と体調とには関係がありそうですが、完全に一致しているわけではないので、一致しなかった理由について掘り下げると、体調の予測精度を向上させたり、天気が悪い時に体調を崩さずにすむヒントが見えてくるかもしれないという期待があります。
今後、更に分析を進めたいところです。

 

Rを使った体調の予測~うつ日記の活用~

体調は良くはなっているものの、波があって、朝起きてみたら調子が悪くて起き上がれないって時もたまにあります。

予め体調の変化が予測できれば、仕事の予定をずらすとか、予め最低限は終わらせておくとか、休養を多めに取って体調の波を小さくするなど、対策を取ることができるはずです。

 前回は体調の変化を可視化して、周期性がありそうなことがわかりました。

今回は、うつ日記にたまってきたデータを用いて、体調の予測ができないか試してみることにしました。

 

予測の問題と考えた場合、データを予測する対象と、予測するための手掛かりとに分ける必要があります。
予測する対象は、目的変数と呼ばれるのですが、例えば体調の悪さにということになります。
手掛かりは、説明変数と呼ばれますが、今回は、仕事の負荷や出来事、曜日や天候なんかになります。

 

○体調の悪さを表すデータ(目的変数になるようなもの)

 ・調子の良い悪い   5段階の整数 
 ・憂鬱感       3段階の整数 
 ・不安感       3段階の整数 
 ・気が重い      3段階の整数 
 ・つらい、しんどい  3段階の整数 
 ・倦怠感       3段階の整数 
 ・気力        5段階の整数 
 ・日中の眠気     4段階の整数 
 ・早く目が覚める   有無の2値 
 ・朝起きられない   3段階の整数 
 ・頭痛        3段階の整数 
 ・腹痛        3段階の整数 
 ・活動具合      4段階の整数 

 体調の良い悪いや気力のようなものは、プラスとマイナスがあるため段階数が多くなっています。

 

○調子の悪さを予測する手掛かりになりそうなデータ(説明変数として使えそうなもの)
 ・仕事をした          6段階の整数
 ・つぶやき、日記のデータ    文字列 
 ・起床時間           時刻 
 ・就寝時間           時刻 
 ・簡単な活動内容        文字列 
 ・曜日             7つのカテゴリデータ 
 ・処方箋のデータ        薬の種類と量 
 ・天気             幾つかのカテゴリデータ 
 ・気温             実数

 ・湿度             パーセント 
 ・気圧             整数
 ・風速             実数 
 ・風向             0~359の整数 
 ・雲の割合           パーセント 
 ・体調を記録した時の緯度と経度 0~359の実数 

 

Rで簡単に使えそうだったので、ARIMAモデルを用いて、予測を行ってみます。

まずはベースラインとして、体調の良い悪いの過去のデータのみから、未来の体調の良い悪いをどの程度予測できるか試してみます。

3月1日~7月11日 のデータを、3月1日(1日目)~6月2日(94日目)とそれ以降に分けて、6月2日までのデータでモデルを作成し、その後の39日の体調を予測できるか試してみました。

とりあえずは、auto.arimaという関数を使って、予測モデルを作ってみました。 
以下のコマンドで予測モデルを作成しました。
  library(forecast) 
  feel <- read.table(“feel5.txt”) 
  model <- auto.arima(feel, ic=“aic", trace=T, stepwise=F, approximation=F,  start.p=0, start.q=0, start.P=0, start.Q=0) 

以下のコマンドで予測結果を取得しました。 
  forecast(model, level = c(50,95), h = 39) 

モデルのパラメータは(1,0,0)になったが、予測が良くないみたいでした。

 

自分の体調の波は、18日周期があるみたいでしたので、今度はauto.arimaに頼らず、適当にパラメータを決めて、モデルを作成してみました。  
以下のコマンドで予測モデルを作成しました。
  model <- arima(feel, order=c(18,0,1)) 
こうして作ったモデルで39日間の予測をして、実際の体調と比較してみたところ、上がり下がりの傾向が結構一致しているようでした。 
○実測の特徴 
 ・101日目に凄く悪い 
 ・118日~120日の間、凄く悪い 
○予測結果の特徴 
 ・100日目で最も悪く、101日目もかなり悪い 
 ・その後回復して、111日目で一旦落ちて、回復 
 ・119日目に向けて落ちて、120日目は一旦上がり121日目に少し落ちてから上がる 

f:id:tokin_kame:20150715205418j:plain

 

まぁ、元々規則性が強かったってのはあるけど、傾向は結構予測できている感じ。

この方法による予測がある程度参考になるとして、私の明日からの体調はいったいどうなるのか、予測してみました。

 

f:id:tokin_kame:20150718084023j:plain

これによると、今週は金曜まで比較的低調で、木曜日に特に調子が悪くなるとのことです。
なんか、今週の占いみたいな感じがしてきましたが。

これを見ながら、一週間を過ごしてみました。

結果はと言うと、微妙です。
木曜日の体調は、良くはけど、凄く悪いってほどでもなく、どちらかと言えば悪いというぐらいでした。
まぁ、水曜日よりは悪くなっていましたので、調子の上がり下がりの傾向で言えば当たってると言えなくもないのかもしれません。
金曜日には少し回復しましたし。 

まぁ、元々、体調の良い悪いのデータだけで予測するのは無理があるとは思ってたんですけどね。
途中で処方も変わってますし。
ここをベースラインとして、他のデータと組み合わせることで、どこまで精度を上げられるかですね。
他のデータを組み合わせるためには、Rの使い方ももっと勉強しないといけません。

それはそれとして、予測結果をもっと簡単に出せるようにしたいです。
うつ日記に、データをサーバへ送る機能を追加したい。
家のパソコンをWebサーバにして、WebAPIを作って予測結果を返すようにすれば、気軽に予測を出して、1日ごとに予測精度を評価できますね。

ということで、今後の課題は、以下のような感じになります。
 ・体調の良い悪い以外のデータも活用して予測精度を上げること。
 ・ARIMAモデルのパラメータをもっとちゃんと決めて最適化すること。
 ・アプリに予測用のサーバとデータをやり取りする機能を実装すること。


 

うつ日記 ~うつを克服するための日記~
https://play.google.com/store/apps/details?id=tokin_kame.utunikki_app 

体調の変化を可視化する~うつ日記の活用~

体調は良くはなっているものの、波があって、朝起きてみたら調子が悪くて起き上がれないって時もたまにあります。

突然動けなくなるのって、困りものです。

うつ日記にデータもたまってきたことですし、体調の変化を分析してみたいと思います。

 

○活用できそうなデータ

うつ日記を使って体調を記録することで残るデータと、普段のつぶやきや日記などSNSに残っているデータ、そのほかには仕事のスケジュールなどのデータが活用できるかと思います。

 ・毎日の体調の記録(うつ日記)
 ・その日ごとの活動具合や活動内容など(うつ日記)
 ・天候の情報(うつ日記)

 ・処方されている薬の種類と量(うつ日記)

 ・つぶやきや日記などの内容(SNS)
 ・必要があれば業務内容なども(仕事のスケジュールなど)

 

 ちなみに、うつ日記では、以下のような感じで、体調を記録します。

f:id:tokin_kame:20150715205416p:plain

 

天候は、体調を記録した時に自動的に記録されます。

f:id:tokin_kame:20150531104217p:plain

たまったデータをCSV形式で表示する機能がありますので、それをコピーペーストしてパソコンで処理することにしました。

 

○体調の可視化

調子の良い悪いがどういう傾向で変化しているか見てみることにしました。

処方の量も安定し、復職した後の3月1日から、7月11日までの期間でグラフにしてみた。f:id:tokin_kame:20150715205417j:plain

上に行くほど体調が良く、下に行くほど体調が悪いことを表します。
左端が3月1日、右端が7月11日です。
こうしてみると、周期的に体調が変化しているようにも見えます。

4つの深い谷の間を数えてみると、ほとんど正確に18日周期になってることがわかりました。

理由はわかりませんが、周期性があるのなら、予測もできるかもしれません。

ということで、次回は予測を試してみることにします。

 

 

ドップラー効果とミニ四駆

 ドップラー効果を使った速度測定の実験をやってみた。
 ドップラー効果と言えば、まず思い付くのが救急車のサイレンで、救急車が近付いて来る時は、音の高さが高く聞こえて、遠ざかって行く時は、音の高さが低く聞こえるというあれです。
 パトカーでも可です。\(^o^)/
 
 音の高さは、音源と観測者の速度によって決まるので、音の高さから、音源の速度が計算できるという訳です。
 ドップラー効果の原理については、詳しいページに任せるとして、今回は、実測してみた結果について書き残します。
 
 ドップラー効果を観測するには、音源か観測者が動く必要がある。
 センサーを持って走るという手もあるけど、大変なので、音源をミニ四駆に乗せて走らせることにした。
こんな感じです。

f:id:tokin_kame:20150607201759j:plain

かなり無理矢理感があるけど、走ればO.K.!

 
○実験に必要なもの
 ・ミニ四駆 1台
 ・iPhone 1台
 ・音の高さを測定するiPhoneのアプリ(n-Track Tunerというものを使用)
 ・チューニング用の音源
 
○実験方法
 ・ミニ四駆に音源をマスキングテープで固定する。
 ・音源から音を出して、止まっている状態で、iPhoneのアプリで、音の高さを測定する。
 ・ミニ四駆のスイッチを入れて、走らせた状態で、音の高さを測定する。
 ・測定を元にミニ四駆の速度を計算する。
 
○実験結果
 音源は、ラの音(A、440[Hz])を使ったんだけど、共振なのかなんなのか1322[Hz]と測定されてしまう。
 実際には、飛び飛びで複数の周波数が観測されるんだけど、1番強いのが1322[Hz]ぐらいらしい。
 まぁ、何の音だろうが、止まっている時と動いている時の周波数の違いがわかれば良いので、この周波数で良いことにした。
 数値は、細かく変動するのを読むのが難しいから、少数切り捨てです。
 
 いよいよミニ四駆を走らせてみた。
 まずは、音を聞いてみる。
 確かに離れて行く時には、音が低くなってる気がしなくもないが、私は元々音感が弱いので良くわかんない。
 しょうがないので、アプリで測定するんだけど、部屋の中だと、すぐに走り終わってしまうために、なかなか周波数を読み取れない。
 本当なら何回か測定して、平均でも取りたいところなんだけど、そんなレベルじゃぁない。
 しょうがないので、なんとか読み取れた値で、ミニ四駆の速度を計算してみることにした。
 読み取れた周波数は、1313[Hz]だった。
 これをドップラー効果の式に当てはめる。
 ドップラー効果の式は、以下のようなもの。
   f' = f × (V - Vo) / (V - Vs)
    f':観測された周波数
    f:音源の周波数
    V:音速
    Vo:観測者の速度
    Vs:音源の速度
 
 音速は、調べてみると、以下の式で表せるらしい。
   V = 331.5 + 0.6 × t
    t:気温(摂氏)
 なので、今回は、332.7[m/s]として計算した。
 
 と言う訳で、以下の値を代入して計算する。
   f' = 1313 [Hz]
   f = 1322 [Hz]
   V = 332.7 [m/s]
   Vo = 0 [m/s]
   Vs:未知数
 
 そうすると、音源の速度Vsは、以下のようになった。
   Vs = - 2.28 [m/s] = - 8.2 [km/h]
 マイナスなのは、音が進む方向と逆に進んでいる(ミニ四駆が遠ざかっている)からだろう。
 人の歩く速さが、大体4[km/h]だと言うから、その倍ぐらいだと思うと、妥当な線のように思える。
 たまたまかもしれないけど。
 
 ドップラー効果を観測できたというレベルでは、成功と言えるかもしれないけど、ミニ四駆の正しい速度を測ってないので、速度計測の実験としては、評価できていないという中途半端な結果に終わってしまった。
 
 そんなこんなで、やっぱり計測は難しいなぁって感じで、今回の実験は、終わりとしたいと思います。
 
 
 
うつ日記 ~うつを克服するための日記~
https://play.google.com/store/apps/details?id=tokin_kame.utunikki_app 
 

AVCHD(.MTSファイル)から日時字幕入りのDVDを作成する。

はじめに

記録としてビデオカメラで撮影した動画を、DVDにして残したりする場合、撮影した日時も残したいんだけど、単純には出来なくて、苦労したので、方法をまとめておきます。
ちなみに、DVテープの頃は、WindowsならArea61 DVビデオタイマ、Linuxならkinoというソフトを使えば動画に日時を埋め込むことができました。
MTS(AVCHD)ファイルでも、一旦DV形式やAVI形式に変換して、同じ方法を使うという事も考えられますが、MTSファイルから変換したデータには、DVテープから取り出したデータのように日時情報が入っていないらしく、うまくいきませんでした。

それで、MTSファイルに残っている時間情報を利用して、字幕を付ける手順をまとめます。

 

○手順

今回は、日時の情報を字幕としてDVDに入れることにしました。
色々試した結果、Linuxフリーソフトだけでできるようになりました。
全体の流れは以下の通りです。

 ①MTSファイルをビデオカメラからパソコンへコピーする
 ②perlスクリプトにより、字幕ファイル(srt形式)を作成する
 ③catコマンドで、動画ファイルを連結する
 ④DeVeDeを使って、字幕入りのVOBファイルを作成する

LinuxUbuntu 14.04を使用しました。

 

○事前準備

「Image::ExifTool」というライブラリをインストールすることで、perlでMTSファイルから日時情報を取得することが、できるようになります。
Ubuntuの場合は、Ubuntuソフトウェアセンターで、「Image::ExifTool」と入力して検索すると、「libimage-exiftool-perl」というのがヒットするので、これをインストールすると使えるようになります。
 

○字幕ファイルの作成

・srt形式について

字幕ファイルには、いくつか種類があるようだが、srt形式ならテキストファイルなので、perlで作成することができます。
srt形式では、以下のように字幕を記述するらしいです。

最初に、字幕の通し番号
次の行に、字幕を表示させる時間(開始時間 --> 終了時間)
更に次の行に、表示させる内容

例えば、以下のように書くと、最初から1秒間「2012/06/03 16:12:12」という字幕を表示する。

1
00:00:00,000 --> 00:00:01,000
2012/06/03 16:12:12

これを、1単位として、改行を入れて、繰り返せば指定した時間で字幕を入れ替えることができます。
日時を1秒単位で表示したい場合には、上記のセットを1秒単位で作成すれば良いことになります。

 

perlスクリプト

以下に、今回作成した字幕ファイルを作成するスクリプトを示します。

#!/usr/bin/perl

use Image::ExifTool qw(:Public);

$dirname = "63/STREAM";

opendir(DIR, $dirname);
@file_tmp = readdir(DIR);
closedir(DIR);
@file = sort(@file_tmp);
$count_all = 1;
$ins_time1 = "00:00:00";
#$ins_time2 = "00:00:01";
$ins_time2 = "00:00:05";
$i = 0;
foreach $file(@file){
	if($file =~ /[0-9]+.MTS/){

		$info = ImageInfo("$dirname/$file");
		$DateTimeOriginal = $info->{'DateTimeOriginal'};
		$FileModifyDate = $info->{'FileModifyDate'};

		$end_time = &count_time($DateTimeOriginal, $FileModifyDate);
		if($i == 0){
				$end_time -= 35;
		}
		for($count = 0; $count < $end_time; $count += 5){
			$print_time = &print_time($DateTimeOriginal, $count);

			print "$count_all\n$ins_time1,001 --> $ins_time2,000\n                                                          $print_time\n\n";
			$ins_time1 = &ins_time($ins_time1);
			$ins_time2 = &ins_time($ins_time1);
			$count_all++;
		}
		$i++;
	}

}

sub count_time{
	my $start_time = $_[0];
	my $end_time = $_[1];
	my $year;
	my $month;
	my $date1;
	my $date2;
	my $time;
	my $minute;
	my $sec;
	my $output;
	my $start_time_2;
	my $end_time_2;

	if($start_time =~ /([0-9]+):([0-9]+):([0-9]+) ([0-9]+):([0-9]+):([0-9]+)\+/){
		$year = $1;
		$month = $2;
		$date1 = $3;
		$time = $4;
		$minute = $5;
		$sec = $6;

		$start_time_2 = ($time * 60 + $minute) * 60 + $sec;
	}
	if($end_time =~ /([0-9]+):([0-9]+):([0-9]+) ([0-9]+):([0-9]+):([0-9]+)\+/){
		$date2 = $3;
		$time = $4;
		$minute = $5;
		$sec = $6;

		$end_time_2 = ($time * 60 + $minute) * 60 + $sec;
	}
	$output = $end_time_2 - $start_time_2;
	if($date1 != $date2){
		$output += 24 * 60 * 60;
	}
	return($output);
}

sub print_time{
	my $start_time = $_[0];
	my $count = $_[1];
	my $month;
	my $date1;
	my $date2;
	my $time;
	my $minute;
	my $sec;
	my $output;

	if($start_time =~ /([0-9]+):([0-9]+):([0-9]+) ([0-9]+):([0-9]+):([0-9]+)/){
		$year = $1;
		$month = $2;
		$date = $3;
		$time = $4;
		$minute = $5;
		$sec = $6;

		$sec += $count;
		while($sec >= 60){
			$sec -= 60;
			$minute++;
		}
		while($minute >= 60){
			$minute -= 60;
			$time++;
		}
		while($time >= 24){
			$time -= 24;
			$date++;
		}
	}
		if($sec =~ /[0-9][0-9][0-9]/){
		print "err:$sec\n";
		exit;
	}
	#秒単位
	$output = sprintf("%d/%02d/%02d\n                                                                    %02d:%02d", $year, $month, $date, $time, $minute);
	return($output);
}

sub ins_time{
	my $ins_time = $_[0];
	my $time;
	my $minute;
	my $sec;
	my $output;

	if($ins_time =~ /([0-9]+):([0-9]+):([0-9]+)/){
		$time = $1;
		$minute = $2;
		$sec = $3;

		$sec += 5;
		if($sec >= 60){
			$sec -= 60;
			$minute++;
		}

		if($minute >= 60){
			$minute -= 60;
			$time++;
		}
	}

	$output = sprintf("%02d:%02d:%02d", $time, $minute, $sec);
	return($output);
}

 

perlスクリプトの使い方

まず、上記のスクリプトをファイルに保存します。
改行コードは「lf」にしておきます。
$dirnameにMTSファイルが置いてあるディレクトリを指定します。
以下のように書いた場合には、「52/STREAM」というディレクトリの下にあるMTSファイルを探して、そのファイルの情報を取得します。

$dirname = "52/STREAM";

字幕の情報は、標準出力に吐き出すので、例えば、スクリプトを「make_srt.pl」という名前で保存して、「test.srt」という名前の字幕ファイルを作成する場合には、以下のようにしてファイルに保存します。

perl make_srt.pl > test.srt

 

catコマンドで、動画ファイルを連結する

MTSファイルが複数ある場合、1つ1つに対して、srtファイルを作成して、設定しても良いですが、ファイル数が多いと設定がめんどくさいので、1つにまとめてから扱うことにしました。

MTSファイルといえど、連結は簡単で、Linuxのコマンドで、以下のような感じでできます。

cat 52/STREAM/*.MTS > 52.MTS

 

○DeVeDeで字幕ファイルとして読み込む

作成したsrtファイルとMTSファイルを組み合わせてDVDを作成します。

DeVeDeを開いて、右側の方のプロパティをクリックします。

f:id:tokin_kame:20150531133516p:plain

すると、以下のようなウインドゥが開きます。

f:id:tokin_kame:20150531133609p:plain

 ここで、一番上のFileのところにMTSファイルを指定します。

次に、真ん中より下の辺りのSubtitlesのところに作成したsrtファイルを指定します。

後は普通に作成すれば、撮影日時が字幕として入ったDVDが完成します。

デフォルトで字幕を表示させるかどうかも、DeVeDeで設定できたと思います。

 

○残っている課題

一応、日時字幕入りのDVDを作成することはできますが、以下のような課題が残っています。
・字幕のズレ

今回作成したDVDでは、動画の場面の切り替わりから、1〜4秒程度字幕の切り替わりが遅れるという現象が見られました。

字幕の秒単位なのに対して、動画はもっと細かい単位で切り替わるので、ズレが生じるのかもしれません。

今回できたのを見る限りでは、ズレは累積はしていない様なので、大きな問題ではないかという事にしましたが、まだ改良の余地が有ると思われます。

 

 

 

 

うつ日記 ~うつを克服するための日記~
https://play.google.com/store/apps/details?id=tokin_kame.utunikki_app 

ペルツェ素子で水を冷やしてみた。

ペルツェ素子という、興味深いものがある。
数cm四方の板状の部品で、電気を流すと片面が熱くなり、もう片面が冷たくなるというもの。
素子単体では、千円程度で、小型の冷蔵庫なんかに応用されている。

 

以前に、物置用の冷房を作れないかと思って挑戦したんだけど、出力が弱過ぎて実用化できず、保管していた。
それが、先日会社で、先輩の荷物の片付けを手伝っていたら、なんかの記念品として作ったというアルミ製のコップをくれて、これはペルツェ素子で冷やすにはもってこいだと思い立って、再び実験を試みることにしたのだ。

 

○実験の目的

ペルツェ素子を使うことで、冷蔵庫を使わずに冷たい飲み物を飲むことができるか検証すること。

 

○実験装置
実験装置は、以下のようなもの。

f:id:tokin_kame:20150506063050j:plain
ちょっと大きめだけど、パソコンやサーバのCPUに使うヒートパイプに、ペルツェ素子を付けて、その上に水が入ったコップ乗せただけ(右上)のシンプルなもの。

電源(左下)もパソコン用のもので、CPU用の12Vをペルツェ素子とヒートパイプのファンに供給するようにした。

以下の写真が、ペルツェ素子の拡大図で、白い板がペルツェ素子の本体。

ヒートパイプとペルツェ素子のあいだには、CPUのグリスを入れて固定している。

f:id:tokin_kame:20150506063052j:plain

 

○実験方法
コップに、水100mlを入れてスイッチを入れて、水温と時間を計測する。

f:id:tokin_kame:20150506063051j:plain

 

○実験結果
水温24℃、室温25℃で実験開始。
水温14℃までは、2分に1の割合で水温が低下。
そこから先は、5分に1℃の割合で水温が低下した。
水温が10℃まで下がった時点で実験終了

 

○感想
以前に冷房に挑んだ時には、空気の温度は、20℃までも下げられなかったが、今回は水を、10℃まで冷やすことができた。
このことから、以前の実験では、ペルツェ素子と空気との間の熱交換がネックになっていたと推察される。
今回は、実験前には、ペルツェ素子とコップとの間の熱伝達がネックになるかと思っていたが、実験結果を見ると、これはたいした問題ではなかったようである。

 

こんなに簡単に冷えると思ってなかったから、コップは軽くゆすぐぐらいしかしてなかったけど、せっかく冷えたし体感しなくてはと思って、水を口に含んではみたものの、ちょっと飲み込むのは断念した。

ちゃんと洗っとけば良かった。

 

このような装置では、水を冷やす以上に、熱を逃がさないといけないので、気温が上がることになるし、水を冷やしたいなら氷を入れた方が早いんだけど、職場の机のなど、氷を手に入れにくい場所で、冷たい飲み物を飲みたい時には、使えるかもかもしれない。

 

職場に持って行って使ってたら、なんて言われるかな。
試してみたい気もするけど、それはまた別の実験と言うことで。