Screenshot_20240601_214746

DebianのBlueZでAACを使えるようにする

どうも、最近はとあるゲームデータを解析したりしてるたいぷりんぐです(?) (それについてはもしかしたらまた記事を書くかも) DebianのBlueZは技術的制約™によってAACに非対応ですが、不足してるライブラリを入れてやれば使えるようになります。 不足しているライブラリを導入する その1: libspa-codec-bluez5-aac.so $ mkdir libspa-bt-tmp && cd libspa-bt-tmp $ curl -O https://ppa.launchpadcontent.net/aglasgall/pipewire-extra-bt-codecs/ubuntu/pool/main/p/pipewire/libspa-0.2-bluetooth_0.3.65-4%7Eglasgall1_amd64.deb $ dpkg -x libspa-0.2-bluetooth_0.3.65-4%7Eglasgall1_amd64.deb . $ sudo cp ./usr/lib/x86_64-linux-gnu/spa-0.2/bluez5/libspa-codec-bluez5-aac.so /usr/lib/x86_64-linux-gnu/spa-0.2/bluez5/ $ sudo chmod 644 /usr/lib/x86_64-linux-gnu/spa-0.2/bluez5/libspa-codec-bluez5-aac.so その2: libfdk-aac.so $ mkdir libfdk-aac-tmp && cd libfdk-aac-tmp $ curl -o libfdk-aac.pkg.tar.zst https://archlinux.org/packages/extra/x86_64/libfdk-aac/download/ $ tar -xvf ./libfdk-aac.pkg.tar.zst $ sudo cp ./usr/lib/libfdk-aac.so* /usr/lib/x86_64-linux-gnu/ $ sudo chmod 644 /usr/lib/x86_64-linux-gnu/libfdk-aac.so* bluetoothdとPipeWireを再起動 $ sudo systemctl restart bluetooth $ systemctl --user restart pipewire 動作確認 自分はA2DP SinkのコーデックにAACを使いたかったので、手っ取り早く接続元のスマホの開発者向けオプションから確認しました。 コーデックの選択肢で"AAC"が選択できるようになっていました。

June 1, 2024 · 1 min · typeling
GMX9NuubcAAbTCw

Android 4.2.xでTwitterをする

どうも、ある意味ツイ廃なたいぷりんぐです(?) 家に古いAndroidタブレットがあるので、Twitterができないか試してみた結果できたので共有 前提条件 この記事で紹介している方法は、AndroidをRoot化済みである必要があります。 DigiCert Global Root G2をインストールする 2024/04/30現在、Twitterはルート証明書にDigiCert Global Root G2が使用されています。 しかし、Android 4.2.xにはDigiCert Global Root G2のルート証明書が入っていないようなので入れてあげる必要があります。 今回はシステムの証明書ストアにDigiCert Global Root G2を追加します。 1. 証明書のダウンロード まず、下記URLからDigiCert Global Root G2の証明書をダウンロードします。 https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem 2. ハッシュの計算 ダウンロードした証明書のハッシュを計算します。 openssl x509 -inform PEM -subject_hash_old -in DigiCertGlobalRootG2.crt.pem | head -1 これを実行すると、8文字の英数字が表示されます。次の手順で必要となるので、どこかにメモをしておいてください。 3. システムの証明書ストアにDigiCert Global Root G2を追加する まず、ダウンロードした DigiCertGlobalRootG2.crt.pem を {先程計算したハッシュ}.0 という形式にファイルの名前を変更します。 例えば、先程計算したハッシュが e20c53ba でしたら e20c53ba.0 というに名前を変更します。 次に、Android端末側の /system/etc/security/cacerts の中に先程名前を変更したファイルをコピーしてください。 そうしたら、 /system/etc/security/cacerts の中にコピーしたファイルの権限を 644 に変更してください。(すでに 644 になっている場合はそのままにしてください) 4. 端末を再起動 再起動後、証明書がインストールされているはずです。 Kiwi Browserをインストールする Google Chromeでもできると思いますが、Kiwi BrowserのほうがGoogle Chromeより新しめのレンダリングエンジンを搭載したバージョンがAndroid 4.2.xで利用できるので今回はKiwi Browserを使用します。 ...

April 30, 2024 · 1 min · typeling
20231226_040920_trim

ダイソーのUSB Type-Cで充電しながら有線イヤホンを使える商品を試してみた & 音が途切れる問題の対策をしてみた

どうも、クリスマスの名駅周辺をうろうろしてきた、たいぷりんぐです。(めちゃくちゃ混んでた) 今回は最近話題になっているダイソーの"USB Type-Cで充電しながら有線イヤホンを使える商品"を試してみた感想とそれを踏まえたちょっとした対策を書いていきます。 商品概要 商品名: 充電しながら使える USB Type-C 変換ケーブル 価格: 500円 (税込み550円) 購入店舗: ダイソー近鉄パッセ店(近鉄百貨店名古屋店) ※取り扱いがない店舗もあるみたいなのでご注意ください。 仕様 DACチップ搭載 4極3.5mmミニジャック対応 USB Type-C 専用 USB PDには非対応 (USB BDには対応している模様) 試してみた感想 音について 音が良いわけではないけど、一応ちゃんと聞けるレベルの音を出してくれる 「サーーー」や「ジリッ」といったノイズが結構乗る 細かい音が弱い 音声出力のない時のスリープ状態からの復帰のレスポンスが非常に悪い 「音声出力のない時」の判定基準が緩すぎて静かな曲だと音が出力されない部分がある 充電について USBの接続部分が若干熱を持つ PD非対応なので充電速度は低下するけど、ゲームとかしていてもバッテリー残量が減っていくほどではない 音に関してはやはり微妙といった感じ。 ただ、500円でこれだけのクオリティを出せるのはすごいという印象。 で、いくつか問題に遭遇したのが、まず、音声出力のない時のスリープ状態からの復帰のレスポンスが非常に悪いという点です。音声出力がされていないと判定されたときは少電力のためにイヤホンに信号を出力しないようにしているみたいなのですが、再度信号を出力するまでの遅延が割とあって、曲の最初の方が途切れてしまいます。 もう一つは、「音声出力のない時」の判定基準が緩すぎて静かな曲だと音が出力されない部分があるという点です。クラシックや暗い雰囲気の曲など静かな部分がある曲だと無音でなくてもその部分が「音声出力がされていない」判定となってしまい、音が出ないということが多々ありました。 **よし、んじゃ対策してやろうじゃないか!! ** 音が途切れる問題を対策してみる 具体的にどうするか。 うるさくしてしまえばいいのです。聞こえない音で。 人間の可聴域について 人間の耳は個人差や年齢差はあるものの、一般的に聞こえる音の周波数は約20Hz〜20kHzと言われています。これを「可聴域」または「可聴範囲」といいます。 ちなみに、約20Hz以下の人間の耳では聞こえないほど低い音を「超低周波音」といい、約20kHz以上の人間の耳では聞こえないほど高い音を「超音波」といいます。 つまり、可聴域の外である20Hz以下もしくは20kHz以上の聞こえない音でうるさくしてしまえばいいのです。 ちなみにハイレゾが無意味と言われる理由の一つがここにあったりします。 色々やり方はありますが、今回はFFmpegで音源を生成&再生してみます。 ffmpeg -f lavfi -i "sine=frequency=22000" -af "volume=18dB" -c:a pcm_s16le -f wav - | ffplay -nodisp -i - Androidスマホの場合はこれをTermuxなどでいい感じ™に実行すればいいと思います。 ここまでしておいてあれだけど ぶっちゃけもうちょっとお金出してエレコムのやつを買えばいい気がしてきます() ...

December 26, 2023 · 1 min · typeling
splash

たいぷりんぐの自己紹介

どうも、Ablazeに入ってから1年半以上経過してる今更自己紹介をするたいぷりんぐです(?) …ところで自己紹介ってなんだろう? プロフィール 名前: たいぷりんぐ ID: typeling1578 一応学生やってる、気まぐれすぎるへんなひとです。 以前は主要プロジェクトの開発に携わっていましたが、現在は特に何もやっていない幽霊部員と化しています(お許し下さい!) 最近は寒くておふとんと毛布に籠もっていることが多いです。 猫派。 基本的な情報 名前の由来 「タイピング」と某イカがインクを塗るゲームのキャラクターの名前を合体させたものです。 1578はとあるキャラクターの愛称を語呂合わせしたものです。 好きなもの おふとん, 毛布, パソコン, JavaScript, Golang, Rust 苦手なもの 低レイヤー, C, C++, Rust, ネットワーク系 嫌いなもの Mac, macOS, Safari (WebKit), DRM 好きな食べ物/飲み物 焼き魚, 魚の煮付け, 寿司, 魚の刺身, 魚の蒲焼き, 納豆, おつまみ系(ドライソーセージ、鮭とば、ビーフジャーキー、サラミ), 緑茶 嫌いな食べ物/飲み物 ドライカレー, トマトスープ, 火を通したトマト(ピザとかに乗ってるようなやつ), チーズ(ピザとかに乗ってるようなやつ), 魚のフライ(トラウマ), 麦茶 開発環境とか CPU: i5-10400 RAM: 32GB OS: Linux (Debian) デスクトップ環境: KDE Plasma エディター: VSCodeもしくはJetBrains Fleet VSCodeの拡張機能は Code Spell Checker Error Lens ESLint GitLens Git Graph Git History indent-rainbow Trailing Spaces を使ってます。 ...

December 1, 2023 · 1 min · typeling