計画的無職

はじめに

別記事で書いたとおり、6月末で勤め先を退職しました。6月中は残っている有給休暇の消化期間でした。

さて7月1日から無職です。転職先が決まっているカジュアル無職ではなく文字通りの無職です。予定は未定です!!!

贅沢な悩み

勤め先には全く不満がありませんでした。快適なリモートワーク環境、高い収入、技術的に充実した業務内容、働きやすく信頼できる同僚、ここは楽園でしょうか。

そもそも、私は視覚に障害があります。ソフトウェアエンジニアとして普通に働けていることが奇跡ですが、ここまでくると異常事態です。異常事態が続くと何が起きるのでしょうか。

邪念が生まれた

私は趣味で技術書を読んだり、アプリを開発したりしています。業務内容とは全く関係ありません。例えばZennに記事を投稿していますが、これは個人の楽しみとして活動しているだけです。

ソフトウェアいじりは視覚に障害があっても100 %楽しめる趣味のひとつです。例えば目が見えなくても映画は楽しめます。ただし、映像なし音声のみですから、楽しさは50 %減かもしれません。私にとって100 %楽しめる趣味は貴重な存在です。

さて、入社して3ヶ月ほど経過した頃でしょうか、徐々に趣味の活動が金にならないことに悩みはじめました。趣味だから金になるならないは気にしなくて良いはずですが、そのような邪念が影響して趣味が楽しめなくなったのでした。

分析

状況を分析してみます。人生の優先事項として労働があり、その他の活動は労働と比較して合理的な活動家、常に考え続けている、というのが邪念の正体のように思われました。

先ほどはソフトウェアいじりを趣味だと書きましたが、私は他に趣味らしい趣味がありません。ということで、趣味ではなく生きがいに改めます。生きがいを失うのは危機的な状況です。労働環境がよすぎて、労働と関係のない活動に時間を割くことが合理的ではないと思うようになってしまったようです。

荒療治

悩んだ結果、退職して趣味に没頭する時間を作ることにしました。荒療治です。休職する手もありますが、業務に戻らなくてはと考え続けていたら趣味に没頭できません。

幸い、しばらく無職を続けても生活に困らないだけの蓄えがあります。私自身は視覚障害を除けば健康ですし、親や兄弟も健康です。独身で子供はいませんし、周囲に経済的な負担を強いる心配もありません。かなり恵まれた状況です。

先がどうなるかわかりませんが、それもまた人生です。数ヶ月で趣味に飽きて働きはじめるかもしれません。あるいは不可抗力によって働くしか選択肢のない状況に追い込まれるかもしれません。

おわりに

障害がありますし、元からキャリアプランと無縁の人生を歩んでいるので流れに身を任せようと考えています。今年で30になったのですが、こんな道を選べる機会は減る一方でしょうし、めちゃくちゃな状況をしばらく楽しみます。

AIの進歩が著しいので、開発業務から離れると追いつくのに苦労したり、業務が消滅するかもしれません。一方で基礎が身についているのであれば、流行りの技術やフレームワークの使い方などはAIに教わることで高効率かつ短時間でキャッチアップできます。

無職期間に突入して1年ぶりにSwiftUIを触りましたが、およそ1週間で勘が復活して2週間でAppStoreにアプリを公開できました。AIさまさま、良い時代です。ついでに人類を労働から解放してくれると嬉しいのですが、それはもう少し先でしょうか。

おまけ

今の時点で興味が向いている事柄についてメモします。

RTK

  • 視覚に障害があると、歩道を進んでいるつもりが車道を進んでいることがある。超精密な誘導ができたら助かる。

  • スマホ搭載のGPSは誤差が数十メートル単位で発生する。iPhoneのPro系機種にはLiDARが搭載されているけれど、立体物をスキャンするためのセンサーであって自分の位置を正確に測定するための仕組みではない。

  • RTK(Real-time Kinematic)なる技術があるらしい。センチメートル単位の超精密な位置情報が取得できる。農業でトラクターの自動運転に使われたり土木建築の測量で使われたりしている。

  • RTKは基準局を設置する方法の他に、インターネットを経由して仮想的な基準局から位置補正情報を受診するネットワークRTKという仕組みがあるらしい。NtripはHTTP/1.1ベースのプロトコル。

  • 個人向けにRTK GNSS受信機を販売している国内メーカーがある。技適やBluetooth SIGの認証が取れていて、お値段9万円ほど。お金の使い方としてApple Vision Pro約60万円を買うより有意義そう。

  • 岩手県農業研究センターがRTKシステムを自作する資料を公開している。話の趣旨からずれるけれど、インターネット上ではWeb関連の技術者が目立ちすぎていて、こういった実世界の課題を解決するために働いている人を尊敬する。

  • 目が見えないと半田づけなど自作に必要な電子工作ができないので市販品を買うのがベストな気がする。安い買い物ではないし、仕様に不明点が多いので調査中。←今ここ

Webや周辺技術の基礎を再確認

  • AIが進歩したおかげで人類総エンジニア時代が到来するかもしれない。しかし、一方で基礎を理解することの価値がむしろ上昇している気がする。

  • 例えばFacebook(Meta)のGraphQLが生まれた背景について考えてみる。Facebookの特性としてステートが頻繁に変化する。そして、クライアントごとにほしいステートが微妙に異なる。

  • GraphQLのキャッシュ戦略が難しいみたいな話がある。クライアントの視点では新鮮なデータにしか興味がないわけだから、技術が生まれた背景を考えるとHTTPのキャッシュと相性が悪いのは当然かもしれない。

  • 例えば電子書籍の販売サイト・アプリを作るとして、書籍のタイトルや著者、ページ数やISBNは滅多に変化しない。RESTで書籍情報APIを提供して、クライアントはHTTPのキャッシュを活用できれば、リクエストが飛ばないので一番効率がよい。

  • RESTすら過剰で、扱う書籍の数によっては、全書籍情報をまとめたCSVデータをHTTPで静的に配信するだけで事足りるかもしれない。枯れた技術や素朴な解決策はダサいけれど役に立つかもしれない。

  • RESTとGraphQLの比較のように、片方の技術より優れていそうに見える技術があるとして、俯瞰して良し悪しや適切な使い所を判断できる眼がほしい。あるいは第三の選択肢を提案できる知識がほしい。

  • 銀の弾丸はなく、地道に基礎を固めるのが一番効率がよさそうな気がする。AIに尋ねるとしても、AIと対等に接するには、こちら側にも相応の知識が必要になる。

  • 偉そうなことを書いてしまったけれど、積読がたまっているので無職期間にじっくり読んで基礎を確認したり固めたりしたい。あとオライリーの大規模データ管理第2版や技術評論社のWeb API設計実践入門など、よさげな新刊が続々発行予定なので腰を据えて読みたい。

音声合成

  • iOS 16からOS標準搭載の合成音声の他にサードパーティーの合成音声をインストールできるようになった。VOICEVOXずんだもんを移植できたら楽しい。

  • 目的はVoiceOver(スクリーンリーダー)の音声としての利用。iOS 16から標準搭載の合成音声の音質が低下したので、その不満を解消するためにも自前の音声合成システムが利用できると嬉しい。

  • 現状、公式なVOICEVOX ARM版のビルドが提供されている。そのままではパフォーマンス的に古いデバイスでの動作が困難。例えばiPhone SEなど。

  • スクリーンリーダーの要件として、リクエストしてから読み上げが開始されるまでの待ち時間は20 ms程度に抑えたい。さらに、波形合成にかかる時間は最終的に生成される波形の実時間より短くなければ再生途中に合成の待ち時間が発生してしまう。

  • スクリーンリーダーのようなリアルタイム性が求められる要件では、そのままVOICEVOXを移植するだけでは、要件を満たせない。VOICEVOXはニューラルネットワークを利用した音声合成システムなのでGPUやANEなど何らかのハードウェアアクセラレータが必要になる。

  • どうしようもないので、何か別の方式で音声合成エンジンを自作するしかない。なにも知識がないので、Pythonで学ぶ音声合成とゼロから作るDeep Learningを読んだ。数学なにもわからない。

  • 今主流の音声合成のアプローチはある程度把握できた。しかし、例えばボコーダーをニューラルネットワークベースのモジュールで置き換えるとか、生成される音声の品質を追求するとどこかでニューラルネットワークを利用する形になってしまう。

  • 古典的な手法としてUnit-selection synthesisがある。読み上げの自然さは損なわれてしまうが、CPUで十分高速に動作する。iOS 15以前から搭載されている音声は、おそらくこの手法で実装されている。

  • その他、実行時にニューラルネットワークを全く使わずそれなりの品質で音声合成できる方法がないか調査中。

  • と思ったら、つい最近NICTがミドルレンジスマホのCPUでも動作する高速なニューラルネット合成音声を発表した。やばすぎる。

  • https://www.nict.go.jp/press/2024/06/25-1.html

  • ただし、気になる点もあって「ネットワークに接続されていないスマートフォン上でテキスト入力からわずか0.5秒の高速生成を実現」とある。最初の発話まで500 msも待たされるのはスクリーンリーダー用途としては厳しいかもしれない。←今ここ

この記事が気に入ったらサポートをしてみませんか?