English | 中文 | Русский | 日本語 | Українська | 한국어 | Česky | Ελληνικά | Português
注意: readmeは翻訳者により翻訳されており、時間により最新ではない場合があります。最新の情報は英語版をご覧ください。
主な機能 • ダウンロード • 仕組み • 貢献 • クレジット • ライセンス
デスクトップでサムスンのGalaxy Budsデバイスを設定、制御できます。
このプロジェクトは公式Androidアプリで知られている基本的な機能以外にも、イヤホンの潜在力を最大に発揮し、次のような新しい機能を使用できるようにします:
- 詳細なバッテリー情報
- 診断およびファクトリーセルフテスト
- 非表示のデバッグ情報のロード
- カスタマイズできる長押し機能
- ファームウェアのインストール, ダウングレード (Buds+, Buds Pro)
- その他…
WindowsおよびLinuxのバイナリーはリリーズでダウンロードすることができます。インストールする前にリリーズノートをお読みください。
WindowsパッケージはWindows Package Manager(winget)でもインストールすることができます。
winget install ThePBone.GalaxyBudsClient
Bluetooth無線技術を使用するには、デバイスが動作可能なアプリやデバイスが他のBluetoothデバイスと通信するために使用する一般的な動作を定義したBluetoothプロファイルを解釈できる必要があります。
Galaxy Budsはオーディオストリーミング/制御のためのA2DP (Advanced Audio Distribution Profile)やバイナリーストリーム通信のためのSPP (Serial Port Profile)の2つのBluetoothプロファイルを使用します。メーカーは設定データをやり取りし、ファームウェアアップデートやその他のコマンドを他のBluetoothデバイスに送信するためにこのプロファイルを使用することが多いです。
A2DPプロファイルが標準化・文書化されても、RFCOMMプロトコールで交換される実際のデータの形式は一般的に文書化されていない独自の形式です。
このデータ形式をリバースエンジニアリングするために、私はイヤホンから転送されるバイナリーストリームを分析し始めました。その後は、デバイスの内部動作をより詳しく知るためにAndroidの公式Galaxy Budsアプリを分析しました。この作業をする間、私は私が考えたことを記録しました。あまり綺麗な記録ではありませんが、下にリンクを記載しています。私が詳細な内容ひとつひとつを全部記録したのではないことをお含みおきください。プロトコールについてより詳しい情報を知りたい方はソースコードをご確認ください。
Galaxy Buds (2019) 記録 • Galaxy Buds+ 記録
Galaxy Buds+を注意深く分析しながら、私はファームウェアでバックモードや使われていないペアリングモード、Bluetoothキーダンパーなどのユニークな機能を見つけました。その機能の詳細も下記のリンクに記録しました:
現在、私はGalaxy Buds+のファームウェアを修正し、リバースエンジニアリングしようとしています。作業するときにファームウェアバイナリーを取得し分析できるツールがあります。下記のリンクをご参照ください:
機能の要請、バグの報告、Pull Requestなどのいかなる形の貢献も歓迎いたします。
バグを報告したり、アイデアを共有したい方はテンプレートと共に提供される 新しいIssue作成をご利用ください。 ウィキで詳細をご参照ください。
このプログラムの翻訳のお手伝いをご希望の方は、ウィキの説明をご覧ください。プログラミングの知識を要求せず、Pull Requestの前にいかなる開発ツールのインストールなしに翻訳をテストできます。 ソースコードに貢献したい方は、変更内容のPull Requestを作成してください。プログラムに対する大きいもしくは敏感な貢献事項は、作業を始める前にIssueを作成してください。(またはTelegram @thepboneに連絡)
- @ArthurWolfhound - Issueテンプレート、ウィキ作成と翻訳
- @AndriesK - Buds Liveのバグ修正
- @TheLastFrame - Buds Proのアイコン
- @githubcatw - 接続プッシュ通知のベース作成
- @GaryGadget9 - WinGetパッケージ
- @ArthurWolfhound - ロシア語、ウクライナ語
- @BrainInAVet - 韓国語、日本語
- @cozyplanes - 韓国語
- @erenbektas - トルコ語
- @kakkk, @KevinZonda, @ssenkrad and @pseudor - 中国語
- @efrenbg1, Andrew Gonza - スペイン語
- @giovankabisano - インドネシア語
- @lucasskluser - ポルトガル語
- @alb-p, @mario-donnarumma - イタリア語
- @Buashei - ポーランド語
- @KatJillianne - ベトナム語
- @joskaja, @Joedmin - チェコ語
- @TheLastFrame, @ThePBone - ドイツ語
- @nikossyr - ギリシャ語
- @grigorem - ルーマニア語
このプロジェクトはGPLv3ライセンスに準拠しています。サムスンと関わりはなく、サムスンからの勧告や制限は一切ありません。
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
THE USE OR OTHER DEALINGS IN THE SOFTWARE.