日報9日目
アパートの水回りのトラブルで朝イチに業者に来訪いただいたため、立会をした。24時間常駐のためいつでも対応可能である。
その後はアプリの開発。タイマーへの組み込み中。ラップタイムデータをクラスに切り出したので多少ロジックはスッキリした。 しかしうまく動かない。。。何かがおかしい。
午後は腰を痛めないよう気を付けつつ、物置から実家への引っ越し作業をした。あとは本棚1個と寝具類だけになった。パソコンを運ぶときになって雪が舞ってきてあせった。
所感
- 3月も半ばにさしかかってしまった。一応進捗は出ているが。。。
- kotlinらしいコードになっていないのはオブジェクト指向プログラミングができていないからと、ツイッタでいただいたメンションで気づく。確かに全部入りクラスにはなっていた。。。つらい。
オブジェクトをnullableにしないためには、メンバー変数は使わずに必要になった時点で変数を宣言してオブジェクトを作ればいいんかな。
— Kouichi Nishizawa(19) (@koty) 2019年3月13日
日報7日目
午前中は自宅で作業。アプリの開発の続き。
- ピークを求めるロジックは完成。いろいろやった結果、平滑化せずに生データのまま最大値を探索すると精度が良かった。音声データを平滑化するとどんな影響があるのかよく分かっていない。この辺は大学のときに習ったはずなんだけど。。。今はパチンと手を叩いてピーク音を作っている。実際のターン音でどうなるかはまた別の話。
- ストップウォッチに組込中。ターン音がしたときからのタイマーを作る必要がある。すこし煩雑。
明日は別件で作業できないが、金曜あたりに現場で試用できるところまでもっていきたい。
午後は実家で打ち合わせと荷物を運び込むスペースの掃除。晴れていれば荷物を運び込みたかったが終日降ったり止んだりだった☔。今後は引っ越し作業とアプリの開発を並行する感じになりそう。
偶然なんだけど、無職期間と引っ越し(あと奥さんの繁忙期)が重なったのはラッキーではある。
日報6日目
朝水泳練習。その後はアプリの開発。迷ったが結局自宅で作業した。
音声データの取得方法について。
ネイティブからキューにpushしてdart側でpopするんか?とか、dart側でコールバックを定期的に受け取るんか?とかいろいろ考えたけど、 それらはどれもオーバースペックで、10秒録音した後にMethodChannelの戻り値としてbyte配列を返せば良いという結論に達した。
一応そこまでは実装できた。
今後のTODO
- ピークの検出ロジック
- タイマーへの組み込み
所感
- あまり連日ギーラボ通いするのも住人感が増してよろしくない。。。ほかのコワーキングスペースにもまた行ってみたい。
- エンジンがかかるのが遅い
- kotlinらしいコードを書きたい
日報5日目
自宅の片付け&掃除の後、弁当を持ってギーラボで作業。
終日水泳練習アプリの開発をしていた。
MediaRecorderで作成したwavファイルがうまく再生できないことが分かったので、以下のサイトを参考にAudioRecordで作り直した。
- Androidアプリ開発(10) --- wavファイルを扱うクラスを作成 --- : 工作と競馬
- Androidアプリ開発(11) --- 録音してwavファイルに記録するアプリ --- : 工作と競馬
ソースはこちら。
作成したwavファイルをscipy読むことができた。
今後のTODOとしては大きく2点ある。
- ストリーミング処理の模索
- おそらく、キューしてflutter側で頂点検出をすることになる
- 頂点検出方法の模索
どっちからすすめるか考えあぐねる。flutter+kotlinではなくJavaで作るのが最速な気もする。どうせiOSでは作らんし。
所感
- kotlinで
!!
を使いまくって申し訳ない気持ちになる。 - 完成するんだろうか
日報4日目
弁当を持ってギーラボにて作業
午前
新しいmacのセットアップ。おおよそ完了。xamarinのインストールがまだ終わらず。当面はflutterとxamarinでの開発の予定
午後
- 留学の準備。旅行保険の加入、WiFiの予約、予防接種の予約など
- 練習支援アプリの開発
練習支援アプリは音声分析を試みようと、録音データを読み込んでみたがうまくいかない。どうやらアプリで録音したwavファイルが不正な模様。。。quicktimeだと再生できるのは不正なファイルをquicktime側でなにかしらいい感じに処理してくれているからのようだ。。。一進一退。
所感
- 予防接種は複数回接種する必要があり、もっと早く動かねばならなかった。。。
- 引っ越しの算段もしないと
- 椅子での作業は快適
- 水筒持ってこよう。節約。