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

ミニマリストの僕がPowerBeatsProをやめてAirPods Proに切り替えた話

# フルワイヤレスイヤホン遍歴

僕のフルワイヤレスイヤホンデビューはJaybird RUNからだった。

現在は後継モデルのXTや、VISTAなどもリリースされているためかなり値段が落ちているが、当時は2万近くするものであったし、学生であったため決して安いものではなかった。

しかし、当時はジョギングが好きでよく走っていたし、その当時使っていたJaybird X3は走っているときに汗をかくとコードがうざったくなるためフルワイヤレスイヤホンというものに強く憧れがあった。
しかもJaybirdというメーカーはアスリート向けのオーディオ機器を取り扱っているメーカーなので、きっと落ちにくく、そして汗をかいても大丈夫な素晴らしいイヤホンであることを信じて思い切って買った。

確かに良いもので、とても使い込んだ。しかし、いくつか気になる点があった。
動画などを見る際に音声の遅延があること、ケースがちょっとした衝撃で空いてしまうことなどだ。
些細なことに見えるかもしれないが、映画などを見る際にラグがあると予想以上に違和感があるものだ。

当時は英語のリスニングの勉強をしたくてNetflixを契約していたのだが、ラグが気になってしまい、次第に外で見なくなっていった。


そのJaybird Runを使い続けている内に大学を卒業し、就職した。
そして次に目をつけたのがPowerBeatsProだった。

初めてアナウンスされた時に黒いフォルム、スポーツするときでもそうそう落ちないような耳掛け方式、動画を見る時にも遅延はない、何より僕が使っているiPhoneと相性が良いことは予想がついた。

しかし、日本での発売が遅く、居てもたっても居られなくなった僕はeBayを使って個人で輸入するまでして手に入れた。

宅配便で届き、外箱を見たときは僕はこれからこのイヤホンを使い続けるんだ!と思っていた。


しかし、このイヤホンにも欠点があった。


そう、ケースがデカすぎるのだ。

よくよくプレスリリースなどを見てみればわかるのだが、明らかに他のフルワイヤレスイヤホンに比べてケースが大きい。

成人男性のジーンズの前ポケットに入れても主張しまくるほどのデカさ。
設計を担当した人は何を考えているんだろう。と本気で思った。

それくらい大きいのだ。


これの対策として家に帰る日ならケースを持って出歩かずに、外してそのままポケットに突っ込んでおく、という対策を取ったが、それでも電子機器をポケットの中に突っ込んでおくのは精神衛生上あまりよろしくなかった。


個人的には外出する際には荷物を減らしたいタイプの人間なので、スマホとフルワイヤレスイヤホン、そしてクレジットカードくらいが気が楽でとても身軽な感じがする。

そういった僕からすると持ち歩けないケースというのはなかなかにストレス要素であった。その前に持っていたJaybird RUNはケースが誤作動して開きやすかったものの、持ち運べる程度には小さかったので盲点となっていた。


そんな中AirPods Proが発表された。

当初は全く興味がなく、

「ふーん。そうなんだ。」

程度の関心であった。

しかし、その数ヶ月後、友人にAirPods Proを使わせてもらったことにより評価は急上昇する。

ケースが小さく、以前のAirPodsとは違うカナル型。そして何よりノイズキャンセリングの性能。


一目惚れしてしまったような感覚だった。


その後すぐに持っていたPowerBeatsProをメルカリで出品し、AirPods ProをAmazonでポチった。



そして、この記事に至る。



最初はたかがイヤホンに3万も出すとかヤバすぎでしょwwwww

とか思っていましたが、Apple製品を使うことが多いので各デバイスごとの切り替えも容易ですし、何よりノイズキャンセリングの性能が良くて非常に快適です。

SONYのWF-1000XM3とかも選択肢としてはありなのかもしれませんが、個人的にデザインがあまり好みではありませんでした。

なので最終的には個人の好みとなってしまうかもしれませんが、非常に満足度の高い買い物であったと思います。

コメント

このブログの人気の投稿

Braveブラウザの同期機能をiPhoneで設定した話。

Braveブラウザを使い始めて結構経った 設定 1 .同期ページを開く 2.QRコードの表示 3.iPhoneで読み取る Braveブラウザを使い始めて結構経った Google Domainsで独自ドメインを持っているBloggerをBrave Creatorsに登録した話。 この記事を書いた頃から僕はBraveしか使わなくなっちゃいましたね〜。 広告がないとネットサーフィンが捗りますし、Braveの直接クリエイターに貢献できるような仕組みが特に気に入っています。Blogger,ひいてはGoogle的にどうなんだって話もありそうですけど、ただのユーザなのでそんなのは気にせず便利なものは使います。 それで本題です。 タイトルのように今回同期機能を設定しました。 余計なことをしていたせいで少しハマったので設定ついでに誰かが困ったときに役に立つように設定方法を残しておこうかと思います。 ちなみにこちらの記事はPCの同期にiPhoneを追加するという設定方法についての解説です。iPhone→PCの同期方法などはまた別の話のようです。 設定 1 .同期ページを開く ブラウザのタブの右上にある上矢印のマークをクリックすると以下のような項目が表示されます。 こちらの同期という欄をクリックします。 すると以下のページが表示されます。 自動的に設定ページの中の同期欄が表示されるわけですね。 2.QRコードの表示 同期欄に同期済みのデバイスを管理という欄があるのでそちらをクリックします。 すると以下のようなページが表示されるのでそちらの中の新たなデバイスを追加、スマホ/タブレットという順にクリックしていくとQRコードが表示されます。 これでこのステップは完了です。 3.iPhoneで読み取る このQRコードをiPhoneで読み取っていく訳ですが、このQRコードはプリインストールされているQRコードで読み取っても正しく処理してくれません。 書いてある通り、iPhoneのBraveブラウザで読み取って上げる必要があります。 なのでひとまずiPhoneでBraveブラウザを開き、画面右下の**•••**という所をタップしてください。 すると上から二番目に歯車アイコンの設定が表示されますのでそちらをタップします。 初期表示で画面中部に表示さ

JavaのindexOf関数はナイーブ法で実装されているらしい

indexOf関数とは 実際のソースを見よう ナイーブ法ってなんぞや indexOf関数とは ドキュメント はここ。 indexOf の細かい使い方は説明はしないが、簡単にいうと二つの文字列を比較して重複する箇所がある場合にその開始部分のインデックスを返すというもの。 実際のソースを見よう どのように実装されているのかが気になったので jdkの中に存在するsrc.zipを解凍して確認してみることに。 public int indexOf ( String str ) { return indexOf ( str , 0 ) ; } public int indexOf ( String str , int fromIndex ) { return indexOf ( value , 0 , value . length , str . value , 0 , str . value . length , fromIndex ) ; } static int indexOf ( char [ ] source , int sourceOffset , int sourceCount , char [ ] target , int targetOffset , int targetCount , int fromIndex ) { if ( fromIndex >= sourceCount ) { return ( targetCount == 0 ? sourceCount : - 1 ) ; } if ( fromIndex < 0 ) { fromIndex = 0 ; } if ( targetCount == 0 ) { return fromIndex ; } char

djoserを使ったDjango REST Frameworkでのカスタムユーザーモデル認証機能の実装

djoserとは 使い方 djoserとは djoser とはDjango REST Framework上での基本的なユーザー認証や登録などの認証周りをサポートしてくれるライブラリです。 カスタムモデルに対しても使え、Djangoのコードを再利用するような形をとるのではなく、Single Page Application(以下SPA)によりフィットするようなアーキテクチャを目指して作られています。 今回はdjoserの最もシンプルな認証機能の実装について書きます。 なお、この認証はセキュリティの面などから実際に使用するべきではなく、以下のJWT認証のようなより強固なセキュリティの設定があります。 あくまでお手軽な認証として紹介します。 ソースコードは こちら なお、以下の全てが導入後にエンドポイントとして使えます。 /users/ /users/me/ /users/confirm/ /users/resend_activation/ /users/set_password/ /users/reset_password/ /users/reset_password_confirm/ /users/set_username/ /users/reset_username/ /users/reset_username_confirm/ /token/login/ (Token Based Authentication) /token/logout/ (Token Based Authentication) /jwt/create/ (JSON Web Token Authentication) /jwt/refresh/ (JSON Web Token Authentication) /jwt/verify/ (JSON Web Token Authentication) Getting started djoser関連の記事を他にも書いています。 djoserを使ったDjango REST Frameworkでの認証機能の実装 djoserを使ったDjango REST FrameworkでのJWT認証機能の実装 なお、今回はJWT認証を用いたユーザー認証を実装することとします。 使い方 途中