The jonki

呼ばれて飛び出てじょじょじょじょーんき

賃貸か持家かの議論はもうやめよう

子供もできたことだし家を買うべきかどうか,色々悩んだ末に落ち着いてきたので気持ちを整理しておく.ちなみにここで書いた記事は素人による1コメントなので,他の方の意見を批判したいわけではないということは書いておく. ちなみに我が家は30代共働き+未就学児という3人構成.

色々やったがFPへの相談とちきりんのこの本は非常にわかりやすかった.短いので20分程度で読めると思う.

結論としては,家を買う条件として以下の3つが揃っていることだという.よって賃貸か持家かは世帯によって変わる.

  1. 経済的に無理なく買える状況にある
  2. 賃貸物件では実現できない「購入したい積極的な理由」が存在する
  3. 自分や家族のライフプランがある程度,固まっている

ちなみにこの本を読む前にもFPに相談していたのだが似たようなアドバイスであった.

我が家に関しては,物件をそれほどより好みしなければ1はクリア,2は特になし,3は分からなくない?,という印象.それぞれの条件を見ていく.

1. 経済的に無理なく買える状況にある

ちきりん本では物件の2割を頭金として用意(諸費用含む)でき,物件価格が世帯年収の5倍以内,ということだった. ちなみにFPの人がいうには借りるローンは「60歳までのローンを組んで,世帯年収は,主年収 x 1.0 + 配偶者年収 x 0.5とし,毎月の支払額はこの2割程度とせい」とのことだった.60歳以降に収入の見込みがないことは大前提,共働きでも出産や子育てを考えて0.5という計算になっている.上記の計算で世帯年収が1千万〜2千万だと月々の支払いは16万〜25万程度が上限となる.

我が家の経済状況的には物件は買えるが,築年数や首都圏へのアクセスをある程度妥協すれば,という条件つきでこの条件を通過できる.(首都圏の上がりっぷりは異常だと思う.)

2. 賃貸物件では実現できない「購入したい積極的な理由」が存在する

この条件がおそらく一番重要なんだと思う.ただこれが我が家にはない.おしゃれな家を見て欲しいなと思う一方,理想の家という考えがあまりない.子供がいると将来の不確定さがあるため,動的に住居スタイルを変化できる安心感がほしいと感じる.物件情報を見て首都圏で夢があるなぁと思う物件は軒並み億超えである.これは1.の条件的に無理.数千万をリターンの見込みがない1箇所に全力投資は普通に考えるとリスクが大きい.そのためにもこの条件2は心理的にも絶対条件に思える.

ちなみに広い家に住みたいと思うこともあるが,以前住んだ広い家の管理が大変だったことや子供が独立したら明らかに物置になりそう,という考えもよぎる.

3. 自分や家族のライフプランがある程度,固まっている

今の時代,これを確定するのはなかなか難しい気もする.自分としてはこの10年で海外含む5箇所に住んでおり,それが一人暮らし,留学,コロナ,子供が契機だったりする.家を買ってしまうとよほど売りやすい都内の物件でない限り,なかなか移動もままならないと思う.子供が減少する日本で,築年数や首都圏へのアクセスを妥協したファミリー住居の人気が今後上がっていくとは考えにくい.

家を投資として見るのはやめよう

投資として家を見るのはやめ,家はやはり住みたいかどうかで考えたほうが良い.本当に良い家なら家の価値が上がっても売ることはなかなかないはず.読みにくい不動産市場で一喜一憂してもしょうがないので,納得のいく家を買えるかどうかが問題となると思う.Youtubeを見ていると「あと5年で50%は上がる!」とか不動産関係者のポジショントークが散見されるが,見ないほうが良い.本当に50%上がるなら彼らの総資産は全部不動産に総ツッコミしていると思うが,そこまで言っている人を聞いたことがない.投資をしたいなら投資信託(NISA)の枠を使い切ってからでも良いよね.

結局我が家はどうする..?

今のところは生活レベルを上げずに賃貸で着実に資産を築き,子供の独立付近で二人暮らしの家を即金で買う,になると思う.その頃には大きい家はいらないし首都圏へのアクセスもそこまで重要ではないので,投資信託と貯金で資産形成は現実的だと思う.

買うとすると子供が小学校に入るタイミングがあり得ると思うが,不動産市場がそこまで急展開することも考えにくい.やはりしばらくは生活スタイルに合わせた賃貸生活になると思う.

以上駄文でした.

2022年に買ってよかったもの

今年はブログをあまり書けなかったですが,それだけ仕事で色々とやりたいことが増えている証拠かなぁと初っ端から言い訳をして今年もこのシリーズをまとめます.

今年はデスク周り編と日常編です.

www.jonki.net

www.jonki.net

デスク周り

オサレな充電スタンドです.Macbook proiPad Pro, iPad, iPad miniを置くために買いました.中に適当な充電器を収納でき,充電ケーブルを綺麗に出すことができます.

Ankerのワイヤレスヘッドセットです.Logicoolのワイヤレスヘッドセットを使っていたのですが充電が面倒でドッキング充電版を買いました.高かったけど音質も良いし収まりも良いので楽.ワイヤレスヘッドセットは一度使うと有線には戻れませんね.

Elgato Stream Deck MK.2.会社での日報のテンプレートを書いたり,所定のWebページを開いたり,サウンド出力を切り替えたりしています.日々行うちょっとした手間がボタン1つで操作できるので便利です.

前回のブログにも書きましたが統計検定のために購入.ただ普通に仕事中も簡単な計算などしたいときがたまにあり,アナログで使える電卓が卓上にあると意外に便利でした.

アナログなタイマーです.例えば30分だけ集中しよう,10分後にMTGだな,みたいなときに使っていました.ひねってすぐ使えて便利です.スマホだとTwitterとか見てしまうのでこういうアナログ機器は重要です.

LAMY ラミー 万年筆 サファリ スケルトンです.筆圧が高いのでそれを抑える癖を付けたいなぁと思い万年筆をはじめました.LAMYは癖もなく書きやすかったです.

今までProject Paperを使ってたのですが,裏面がもったいないこと,万年筆がにじみやすいこと,からこれに乗り換えました.安い上に質感も良いのでしばらくはこれだけ使う予定.

無印,初代Proと来て2代目Proです.正直あまり期待はしていなかったのですが,音質とノイキャンの改善幅が体感できるレベルですばらしかったです.

HHKB pro,Keychron,Freestyle Pro Keyboard,MS スカルプト エルゴノミック キーボードと乗り継いて今はNuPhyでこの記事を書いています.色々触ってきて75%キーボードが自分には一番合います.MSのキーボードがしっくり来てはいたのですが,Youtubeで見かけたNuPhyを買ったら質感の良さとデザインの虜に..Gateron Baby Raccoonという赤軸が重くなった軸を選んだのですが,これがもう最高です.

Halo75 Wireless Mechanical Keyboardnuphy.com

t.co

最後に今年最後に買った大きな買い物としてエンボディチェア.10年選手のエルゴヒューマンプロが座面やリクライニングの調整ができなくなってしまったので買い替えました.大塚家具で試座したところ,体のでかい私にジャストフィット.アーロンと異なり後傾でパソコン作業と本当に相性がよいです.更に大塚家具でハーマンミラーのセールをやっていて普段より数万やすかったのでそれも後押し.ヘッドレストがないことが心配でしたが,特に使わなくても大丈夫ですね.

日常

マタドール ポケットブランケット.今年は引っ越して自然が豊かな地域に来たので公園によく出かけるようになりました.そのときにこれがあるとすぐシートを広げられて良いです.地味にペグが布に縫い込まれていて地面に固定できて非常に便利です.

ニンジャピン.これはリビングから作業部屋へLANケーブル(平麺型)を壁に這わすのにつかってます.穴もほとんど分からないので賃貸でも使えます.M3の両面テープでつけるフック型のものを以前使っていましたが,それはすぐ外れてストレスでした.

小銭入れです.こういう小さいワレットはたくさんあるのですが,ミレーのワレットが評判良かったので使っています.お札も小銭も入れやすく,サブの財布として重宝しています.

次は無印とKOKUYOのセットです.これは何に使っているかというと印刷した論文の整理に使っています.各ファイルケースにはアルファベットを振っており,論文タイトルに合わせて突っ込んでいます.キャスターを付けているので机の下で動かせます.この仕組を導入してから同じ論文を何度もコピーするミスが少なくなりました.

地味に冷え性なのでレッグウォーマーは冬に欠かせません.

引っ越してドラムが設置できるようになったのですぐに買いました.もう本当に最高です.洗濯物がパサパサになる印象がありましたが特にそのようなことも起きず.子供が胃腸炎になったときは一日中回ってました.親も感染っていたので洗濯物を干すとか取り込むとかしないだけで助かりました.

来年は飛躍したい.良いお年を.

統計検定2級に受かるまでの記録

統計に苦手意識があって軽い気持ちで受けとくかぁ,と思い本日統計検定2級を受けてきました.一応受かったのでその備忘録を共有します. ちなみに2級はレベル的にはそんなに難しくないので準1級ぐらいじゃないと自慢はできませんが,基本的な知識が身につくので取っておいて損はないと思います.

お試しでStudy Plusで時間をこまめに測ってみました.8月のお盆頃から初めて4ヶ月ほどやってたことになります.後で書きますが,2級に受かるだけならもっと短くてもできる気がします.10月以降は引っ越したりロタウイルスにかかったりでだんだん勉強の頻度が下がってますね.

勉強内容(時系列)

勉強時間はざっと70時間ほどでした.こう聞くと長いですが,最近プレイしたゼノブレイド3と同じぐらいなのでゲーム1本分ぐらいと聞くとそうでもないように聞こえる不思議. 子供がまだ小さいので仕事終わりの夜しか勉強時間が取れず,1日の内30分〜1時間ぐらいが限度でした.

以下では勉強した内容を時系列に沿って説明していきます.

// 論文という項目がありますが今回関係ないです.論文読む時間も記録しようと思ってすぐやめた記録が残っています.

ベルカーブ統計ウェブ

色々調べるとこれだけで受かったという人もいました.内容的には導入から合格まで十分カバーしています.大体2級レベルまでですが,2級以上の内容も少し含まれています.とりあえず統計ウェブの「統計学の時間」を最初から最後まで読みました.万人におすすめできます.

bellcurve.jp

コアテキスト統計学

次に統計ウェブを運営する会社でも社内参考書として使われているらしいこちらの本を読みました.統計検定2級のためだけだったらこれはスキップしても問題ないです.ただ統計入門として非常に良書だと感じました.検定を受ける気はないけど統計を基礎から勉強したい,という人には非常におすすめです.

過去問

このあたりでそれなりの時間が経ったのでそろそろ過去問をやろうと思い,2021年6月の最新の過去問を1回分やりました.ただ結果は散々たる結果.後で気づいたのですが,2021年6月は最難関でやらなくてもよいレベルでした.良問ではあるのですが,明らかに過去より難しいです.

そんなことは知らず一度自信を失い,もう一度ベルカーブの統計ウェブを見直しました.

ヨビノリ

Youtubeでたまたま見かけたヨビノリシリーズに【推定・検定入門の連続講義一覧(全9講)】というのがあったので倍速で見ました.こちら最初に見ても良いかもしれません.

www.youtube.com

過去問

ここで5回分の過去問をやりました(上のと合わせると計6回).上の統計ウェブでも解説がありますが,昔の方の試験の方が簡単に思えました.3回目ぐらいから合格点に達したので,統計検定の申し込みをしました. 最初の2,3回は時間を気にせず解いて,それ以降は時間を測って解くようにしました.最後まで終わらない,ということはなかったですが,そんなに時間に余裕もできないのでわからない問題は勘で選ぶ必要があります.

間違えた問題は後でやろうと思いチェックを付けていましたが,時間が取れずやり直しはしていません(おい).

とけたろうさんのチートシート

最後の1週間は復習でチートシートを探し,とけたろうさんのが良かったのでこちらを見ました. 理解が怪しいところは,各講のページを開いて内容を確認しました. 統計ウェブではなく,とけたろうさんの統計検定2級対策だけでも良かったかもしれません.

www.youtube.com

toketarou.com

CBT対策

統計検定2級はCBTというパソコンで受けるタイプの受験ができて便利です.適当に家に近いパソコン教室とかを選び受験できます.受験可能日はたくさんあるので落ちても少し時間を開ければ再度受けれます. ただ何点か注意.

  • 計算用紙,筆記用具は自分のものを使えない.

    • 私の場合はA4の紙を2枚とボールペンを与えられました.これは実はアタリでラミネート加工紙と水性ペンが与えられる場所もあるようです.使いにくそう.
    • 過去問を解くときはA4用紙に小さくコンパクトに途中式等のボールペンを使ってメモをする練習をしておいたほうが良いです.用紙の追加は不可ですがスタッフを呼び出せば用紙の交換はしてもらえます.ただ試験時間が短いのでできれば避けたいです.
  • CBTは液晶ディスプレイに問題が出るので普段の過去問とギャップが有る.

    • 過去問は本なので計算用紙の隣で解けますが,CBTは前面の液晶と手元の計算用紙という形で視線移動が多くやりづらかったです.
    • 細かい値の計算など,ケアレスミスが出やすいので画面を指差し確認等しながら解くのがおすすめです.過去問への書き込みはしないで解けるようにしましょう.
    • あとパソコン教室の液晶ディスプレイの解像度がしょぼくて文字が読みにくかったです笑
  • 周りがうるさい.

    • 私はデパートの一角のパソコン教室だったので館内放送や事務スタッフの喋り声などが普通に聞こえる環境でした.
    • 耳栓で集中する癖をつけとくとよいです.私の行ったところでは耳栓をくれましたが,マイ耳栓を持っていったほうが良いと思います.

買ってよかったもの

関数電卓とかでなければ大体何でも良いのですが,カシオのこれがかっこよかったです.使いやすい. メモリー機能は知らなかったのですがこれを機に覚えました.

こちらはストップウォッチ目当てで.どうしても子育て中はまとまった時間がとれないので,これで過去問の時間を計測していました.

こちらは以前からもっていたタイマー.ポモドーロテクニック的にアナログで集中時間をセットできるのがよいです. 上のドリテックと同じですが,スマホを開かなくて良いのがミソ.

まとめ

以上,統計検定2級の記録共有でした. 勉強時間の記録とか性格に合わないのですが,資格モノだと期限を決めてがんばれました.後々に記録が見れて結構面白いです. 次は準1級を...とは思っていないので,また別のことをやろうと思います.

HHKB Professional Hybrid Type-Sを手放した

HHKB Professional Hybrid Type-SからKeychron K2を使っていたのは下記の通り.すっかりHHKBを使わなくなっていたので手放しました.戻らなかった決定的な理由について書いておきます.ちなみにこれはあくまで個人の感想ですので,優劣をつけたいわけではありません.

www.jonki.net

手放した理由

単3電池は面倒くさい

HHKBでは省エネモードがあるのですが,30分以上キー操作を行わない場合,スリープモードになってしまいます.ここから復帰するためには電源ボタンを長押しする必要があり,キー入力できるまで10秒ぐらいかかり面倒です.静電容量式でなければ適当にキー入力すれば再接続となる場合が多いので(たとえばThinkpad BTキーボード)これは痛い.省エネモードを切るとスリープモードにならずに済みますが1ヶ月程度しか電池が持ちません.単三電池をわざわざ外して入れ替えて...というのは面倒です.一方でUSB-Cでさくっと充電できるKeychronはやはり便利です.リチウムバッテリーが10年以上持つか?というと多分NOなんですが,新しいキーボードを使ってるだろうし,耐久性は犠牲にできるかなと思っています.

キーが少ない

やっぱりキーが少ないです.特にファンクションキーと矢印キーを直接打てないのが厳しいです.個人的には最近VS Codeデバッグにファンクションキーをよく使うので指1本で打てた方が指の疲れが少なく嬉しいです.Keychron K2はHHKBより気持ち大きいぐらいでこれらのキーがつくので大分便利です.

Win/Macの切り替えには工夫がいる

上の2つほどクリティカルではないですが重要です.KeychronにはWin-Alt / Cmd-Optの位置を入れ替えられる物理スイッチが付いており簡単に切り替えられます.在宅勤務だと会社のWindowsと家のMacの切り替えが必要になるのでこの機能はありがたい.キーバインドを変えるソフトでWinかMacをいじれば良いんですが,最近はデフォルト設定厨なのでなるべく何もやりたくないのですよね.

次のキーボード

Realforce R3のUSキーボードが出たので気になるところですが,これも単三電池式でバッテリーが1ヶ月程度ということでHHKBと同じ感じかなぁと思ってます. セパレートキーボードも探していますが,キーがみんな少ないんですよね.Ergodoxは一方でデカすぎなのでちょっと邪魔.Keychronが気に入ったので80%キーボードで赤軸以外を触っても良いかなと思っています.

オチはありません.

PyQtGraphでソフトウェア・シンセサイザーを作って遊んでみた

f:id:jonki:20220220215242p:plain

ピアノは弾けないのに最近シンセサイザーに興味があり,KORG Volcaシリーズで遊んでいました.今年は勉強がてら遊びも入れたコードを書きたいなと思っていたので,どうせなら勉強がてらソフトウェアシンセサイザーを書いてみようと思い書き始めました.できたのがこんなアプリで,MIDIキーボードから操作しています.

github.com

www.youtube.com

やったこと(やりたかったこと)

今回やりたかったのはこんなところです.ステップ・シーケンサまで出来ると良かったのですが,GUI含めてかなり大変そうだったので今回はやっていません.シンセのフィルター機能も無限に色々あるのですが,かなり単純なところを実装しました(といっても後述紹介するブログのシンセコードをほぼそのまま使っています).またPyQtやPyQtGraphのGUIコーディングや信号処理周りに不慣れだったので中々大変でした.

  • 信号処理周りのコーディング
  • インタラクティブに音を鳴らして楽しくシンセ遊びができる
    • 基本的な信号波形の選択と再生
    • エンベロープ・ジェネレータ(Attack Decay Sustain Release)を可視化しつつ反映
    • Low Frequency Oscillator で信号を揺らす
  • ステップ・シーケンサ機能(音楽上のステップのシーケンスと音の記録による簡易的な作曲機能のようなもの) // 今回断念

ざっくりと振り返り

ちなみに実は今回のコードのシンセ部分は下記の素晴らしいブログを使っているだけです.全3回ですが,かなり読み応えあって面白いのでおすすめです.細かい解説はそちらにゆずるとして,ざっくりとここでは開発経緯やシンセの内容に触れます.書いといてなんですが,エンベロープジェネレータやLFOのコードに関してはここの記事だけをみても多分よく分からないかなと思います.

python.plainenglish.io

プログラミング言語及びGUIの選択

これは結構悩んだのですがPythonPyQtPyQtGraphという構成にしました.実は今回の勉強を除く用途だとWebが最も適しています.GUIの自由度は高いし,Web Audio APIがかなり優秀なのでこれを使ったほうが絶対に良いです.今回は直接信号を生成したり編集したかったので使わなかったので書き慣れたpythonを選択しました.が,やはりGUIpythonだと厳しいです.そもそもGUIライブラリが充実しておらず,高フレームレートで複雑な描画ができるのはPyQtGraphぐらいしか見当たりませんでした.今回Qtベースにしましたが,Webに比べるとGUIパーツの選択肢の狭さや使い勝手の癖など個人的にはあまり楽しい感じのものではなかったです.ただ見た目はさておきGUIとして求められる基本的な機能は十分でした.1点注意として,PyQtはソフトウェアライセンス的にはGPLでコードの公開が必要とのことで,その問題を回避したPySideというのが機能がほぼ同じ?であるようです.今回はプライベートなのでフル公開でまったく問題ないですが,企業などで使う場合は注意が必要です.

ソース波形の生成

Oscillatorが基本となる波形を生成します.学校だと普通勉強するのはsin波だと思いますが,これは単一周波数成分しか乗っておらず聞いても面白くないです.音楽的にはのこぎり波,矩形波三角波のような倍音が多く乗った成分の方が派手で楽しいです.

これは最終的に使っているコードではないのですが,仕組みとしてはここのsinオシレータがわかりやすいです.物理現象としては分かっていてもコードにどう落とすんだ?となるところですが,pythonだとitertools.countが無限にステップを刻んでくれるところを値を指定個数分yieldする形で実装します.

def get_sin_oscillator(freq, amp=1, phase=0, sample_rate=44100):
    phase = (phase / 360) * 2 * math.pi
    increment = (2 * math.pi * freq)/ sample_rate
    return (math.sin(phase + v) * amp for v in itertools.count(start=0, step=increment))

osc = get_sin_oscillator(freq=1, sample_rate=512)
samples = [next(osc) for i in range(512)]

エンベロープ・ジェネレータ

エンベロープ・ジェネレータとは波形の概要を形成するものです.Attack時間,Decay時間,Sustainレベル,Release時間が決まれば,音の鳴り始め〜鳴り終わりを定義できます.今回は最も単純なエンベロープを適用していて,GUIと連動して分かりやすくしています.ちなみにSutainだけは時間でなく相対的な音量レベルです.鍵盤をどれぐらい押し続けるかは分かりませんからね.

f:id:jonki:20220220221650p:plain
ADSR

エンベロープ・ジェネレータは Envelopeクラスで実装されています.ads_stepperr_stepper というのが肝です.ここでもitertools.count を使うことで.指定したAttack/Decay/Releaseの時間を刻むフレームを作っています.ここではads_stepperのコードを持ってきました.Attack → Decayへとwhileループとyieldを使って切り替えています.

    def ads_stepper(self):
        attack_stepper = itertools.count(
            start=0, step=1 / (self.attack_duration * self.sample_rate))
        decay_stepper = itertools.count(
            start=1,
            step=-(1 - self.sustain_level) /
            (self.decay_duration * self.sample_rate))
        while True:
            if attack_stepper:
                val = next(attack_stepper)
                if val > 1:
                    attack_stepper = None
                    val = next(decay_stepper)
            elif decay_stepper:
                val = next(decay_stepper)
                if val <= self.sustain_level:
                    val = self.sustain_level
                    decay_stepper = None
            else:
                val = self.sustain_level
            self.val = val
            yield val

LFO

Low Frequency Oscillatorと言われるもので,ベースの波形に対して時間的な変化(振幅や周波数)を与えるものです.LFOが出来ると所謂シンセっぽい音になるので,ここが一番楽しいかもしれません.例えば振幅をsin波で揺らせば「ホワンホワンホワン」という音になり,矩形波で揺らせば「ピーポーピーポー」とサイレンっぽくなります.更に周波数も何らかの波で揺らせばかなり複雑な音に変化します.これは ModulatedOscillatorクラスが担当します.指定したモジュレーション関数に対して値を投げて波形を変化させています.

    def _modulate(self, mod_vals):
        if not mod_vals:
            return
        if self.amp_mod is not None:
            new_amp = self.amp_mod(self.oscillator.init_amp, mod_vals[0])
            self.oscillator.amp = new_amp

        if self.freq_mod is not None:
            if self._modulators_count == 2:
                mod_val = mod_vals[1]
            else:
                mod_val = mod_vals[0]
            new_freq = self.freq_mod(self.oscillator.init_freq, mod_val)
            self.oscillator.freq = new_freq

やり残していること

これもシンセによくあるローパスフィルター(LPF)を実施したのですが,フィルター適用により結構ノイズが乗ってしまっています.周波数特性を考えるにあたりノイズや計算量のバランスなど考えてフィルタを設計する必要があると思うのですが,今回はそこまで時間が取れず次回の課題にしようと思っています.LPFといってもいろいろなフィルターがあり奥が深いです. - Python NumPy SciPy : デジタルフィルタ(ローパスフィルタ)による波形整形 | org-技術

まとめ

中々不慣れなことが多く大変でしたが,1つキリが良いところでまとめられてよかったです.シンセサイザーモジュレーションに関しては組み合わせは無限にあり,そのコーディング部分などなかなかトリッキーに実装していて面白かったです.