ラベル Android の投稿を表示しています。 すべての投稿を表示
ラベル Android の投稿を表示しています。 すべての投稿を表示

2018年9月20日木曜日

【技術メモ】FiiO X7 MarkII にカスタムROM Fidelizerを焼いた(後編:カスタムROM解析編)

焼くということ
前編ではROM焼きとどんな感じで変わったのか、比較的「やってみた系」でエントリーを書きました。

【技術メモ】FiiO X7 MarkII にカスタムROM Fidelizerを焼いた(前編:カスタムROM焼き編)

後編では実施した解析について少し詳しく書いていこうと思います。

AndroidのカスタムROMについて多少前提知識が必要です。

雑感としては、有料版であっても過去カスタムROMを作ってたときに流行ったTweaksが入ったりしていて、若干古さを感じます。

OS自体が5.1なのと、ハードウェアスペック的に結構貧弱(除くサウンド的な部分)なので仕方ない感じはしますが、それにしてもちょっと気になるところが2-3あって、そのうち修正のRequestしようかなと思います。

音楽プレイヤーなんでまあいいかなぁと思ったり思わなかったりです。

ROMをバラす

Rockchip RK3188なのでこれに準拠した方法でバラします。

Windows、Linuxそれぞれでそれぞれに適したツールがあるのでそれを利用します。なおMacOSは知りません。

基本的にはupdate.imgがバラす対象です。

ここで必要なのは各Imageファイルが得られるかどうかです。


イメージ名 内容 備考
boot.img ブートイメージ。起動中に出る画面の話ではない。 ここがオリジナルと違う場合は起動しなくなることがあるので注意
kernel.img Kernel本体 多分チップメーカー以外ソースコードを持っていないはずなので変わっていることはあまりない。変わっていると二度見する。
system.img プリインアプリやOSの設定が入っている。 大体の場合ext4で作られたディスクイメージ


これらが得られたらあとはそれぞれを比較してその内容を吟味するフェーズです。


FiiO公式とFidelizer PuristROMの違い

ここではFiiO公式 Ver1.0.6とFidelizer PuristROM Ver1.0.6の違いを見てみます。

kernel.imgもboot.imgも変わっていないので、system.imgの中だけ違いが見られれば良さそうです。

公式、Fidelizerどちらもext4でマウントして、全ファイルを別なディレクトリにコピーして、あとはDiffツールあたりを使って両ディレクトリを比較するだけです。

アプリのバージョンやディレクトリの違いあたりは割とどうでもいいので見なかったことにします。興味があれば別途追ってみても良いと思います。

ApolloMusicPlayerの追加なども追加されていますね。これライセンス的に大丈夫なんだろうか。

調査した結果、影響がありそうな本命は
  1. build.prop
  2. audio_effects.conf
の2ファイルのようです。

ざっくり内容の説明はしますが、ファイルの中身を晒してしまうのはちょっと不躾かなと思うのでそのあたりは控えようと思います。ご容赦ください。

build.prop

build.propにはAndroidが動作する上で必要な設定が書かれています。

OSが確保するメモリ、タスクが開放されるタイミング、タッチパネルの反応、ハードウェアアクセラレーションの有無などなどです。

こういう性質のファイルなので、変な設定をしたりするとOSが起動しなくなります。

build.propの変更点
修正されている箇所は
  1. ro.build.display.id で表示されるBuild名にFidelizerが追加されている。
  2. グラフィックアクセラレーション周り。特にEGL周りのアクセラレーションが有効になっているのでNeutronMusicPlayerみたいにEGLでゴリゴリ描画しているアプリケーションは動作が早くなったように感じるかも。
  3. CyanogenModの時代、バッテリーの持ちを左右するのではといわれていた周り。
EGL周りはここで設定しなくても開発者モードから設定出来るので、PuristROM版ではあまり効果はないかもしれないですね。

あと、NeutronMPがEGLでゴリゴリ画面描画してるっていう下りはあくまでも想像です。
細かい所まで解析はしてないですが、ざっくり見た感じではresourceにWedgetくらいしかないのと、画面周りのコードにEGLのWindowSurfaceを取得している部分があったのでそういう感じなのかな、というくらいです。

audio_effects.conf

ファイル名の通りオーディオエフェクトの設定が書かれています。

audio_effects.confの変更点
X7iiには元々ViPER4AndroidのNEONビルド版が入っています。

PuristROMではデフォルトのオーディオエフェクトを削除してこのViPER4Androidを呼び出しています。

ちなみに、FiiO公式のbuild.propに
ro.fiio.disable_sound_effect=true
という設定があるのでこの変更に意味があるのか、ViPER4Androidを敢えて通しているのか意図は正直わかりません。
が、意図的にViPERを通していて、これが有効になっているのだとしたら音が変わるのも頷ける気はします。

国際版ではリリースされていないVer1.0.7JPの存在

Ver1.0.7JPはFiiO社のWebでは公開されておらず、FiiO Japan、つまり日本代理店のWebからのみ辿れる状態です。

これは当然海外の人から探すのは非常に厳しいでしょう。

FidelizerがVer1.0.7JPに対応したPuristROMを作ってくれた

そこで、Fidelizerにコンタクトを取ってみました。

内容を要約すると
日本版ファームウェアで1.0.6の変更に加えて/dataが4GBになるという特殊な変更が入っているけど、PurisROMになったりしない?
という感じです。

無視されるだろうと思っていたので、その間に勝手に1.0.7JPとPuristROMをバラして俺得ROMを作っていたのであまり困らない予定だったのですが。

2日後、Fidelizerから返事が帰ってきました。
ほんとにか!それは知らなかった!
いま作ってるFidelizer8.2が終わったら作ってみるよ!
ここで言っているFidelizer8.2はおそらくこれのことでしょう。

Fidelizer - Fidelizer 8.2 released – Introducing multiple media player applications and resolve adding new network card

そして、これがリリースされた2日後、Fidelizer PuristROM Ver1.0.7JPがリリースされました。

Fidelizer - Fiio X7ii Purist ROM version 1.0.7 JP update with partition mapping update released

マジか...Fidelizer...

Fidelizer Advanced ROMを買ってみた

わざわざPuristROMで対応してくれたのでお礼としてAdvancedROMを買いました。
決済はPayPalです。

購入後、20時間くらいでFidelizerからダウンロードリンクが送られてきました。

早速インストールしてみましたが、4GBストレージに対応されておらず、2GBに戻ってしまったので、已む無くHack。

公式Ver1.0.7JPにAdvancedROMの変更内容を合体させて、Fidelizer AdvancedROM Ver1.0.7JP勝手版を作りました。

で、このときにAdvancedROMが何をやっているのか解析したので、最後にその内容に少し触れておこうと思います。

AdvancedROMのざっくりした内容

有料版の詳細を公開してしまうのは誰にとってもフェアではないので詳細は非公開です。ご容赦ください。

多分、ベースは先行で開発していたiBassoのファームウェアではないかな、という感じです。

build.prop
多くの設定が追加されます。
具体的にはメモリの確保とか開放とか、Kernelに渡す設定まわりです。

一部、携帯電話ではやっちゃいけない部分があるんでそのうち報告しようと思いますが、音楽プレイヤーなら実害はなさそうな気はします。

あと、AdvancedROMからなのかEnhancedROMからなのか解りませんが、何故か自前でいわゆるLinuxの有名なというかもはや標準のサウンドドライバが動作するように設定されています。

元々Androidでも同じサウンドドライバが動作しているので意味があるのかどうかは解りませんが...

理由はいくつか考えられますが、想像の域を出ないので有効無効については触れないでおきます。

X7iiではSRC回避をしている(らしい)のですが何故かこのサウンドドライバにはSecretRabbitCodeを動かしている部分があって、これも正直蛇足なのでは感はあります。

この部分、本当に効果があるのかどうか聴き比べていないので正直わからないです。

が、確かにX7ii上でterminal動かして/procをポチポチみてると一応きちんと動いてるっぽいんで、まっさらなX7iiと並べて聴き比べてみたいなぁ、と思うんですが流石に2台目は欲しくないです。

audio_effect.conf
なにもなくなります。

PuristROMで設定されていたViPER4Androidすら設定されなくなります。

この記述ってアリなんだっけか...Androidのソースコード見てる感じでは問題なさそうだし、エラーも吹いてないから大丈夫なんだと思いますけど。

その代わりにSecretRabbitCodeが動いているみたいなのでどうなんだろう?という感じはします。

与太話

ちなみにsystem.img。rw属性でremountするとエラーになって結局ro属性のエラー時マウントにされてしまいます。
なのでディスクイメージを直接書き換えられないため、自前でイメージ作らなきゃならないです。
まだ試してません。

雑感

そもそも改造行為なので無害とは言いませんが、内容的にはPuristROMはそんなに大きな害はないと思います。

ViPER4Androidの影響なのか、奥行きのある音に感じますしEGLのアクセラレーションが有効になっているのでNutronMPの動きが多少軽くなった気がしますし。

AdvancedROMは各追加設定量が多すぎてが有効なのかどうか判断するのが難しいです。

サウンドドライバ周りは調整幅がありそうなこと、多分効果のなさそうな設定あたりをバシバシ外していってどうなるかなぁという感じです。
うまくいってもいかなくても、絶対に日の目を見ることのないかわいそうなROMになりそうですけど。

珍しく技術メモっぽいこと書いた気がしますね。


【技術メモ】FiiO X7 MarkII にカスタムROM Fidelizerを焼いた(前編:カスタムROM焼き編)

焼くということ
FiiO X7 MarkII のOSはAndroidを使用しています。

Androidを使用しているということは、カスタムROMを焼くということです。(支離滅裂な発言

Androidなんだしアップグレード方法も先代X7から変わってなさそうだし、XDAあたりにカスタムROMとして誰か公開してるんじゃないか? と思って探していたらFidelizer PurisROMを見つけたので入れて見ました。

結論を言うと、例えば赤色が青色になる、みたいなレベルでは音は変わりません。 どうやってもハードウェアの作りで決まってしまう部分は変えようがないので。

なので今回は
「そもそもX7iiって音いいじゃん?だったら変わるかどうかじゃなくてROM焼き遊びしよう!」
というモチベーションだけだったはずでした。

結論としては「多分違いはあると思う...」くらいでの変化はあったように思います。
このあたりは最後の感想あたりを読んでみてください。

が、ROMの変更点を調べるといろいろなことがわかったのでとりあえずエントリーにしました。

今回はそのうちの前編です。
後編にはもう少し解析した結果あたりを書こうかと思います。

【技術メモ】FiiO X7 MarkII にカスタムROM Fidelizerを焼いた(後編:ROM解析編)

2016年1月20日水曜日

【技術メモ】Fragment で Kotlin + Anko を使ってサンプルを作った話

まもなく 1.0 の 正式リリースを迎えそうな Kotlin + Anko で Android アプリを作ってみて何作目かになったのでメモします。

ボタンだけがあって、ボタンを押すと「本当はhttp requestを投げる。今は諸般の事情で5秒寝る。」だけのアプリです。

Anko の情報があまり多くないので体系立てて覚えにくいけど、 Helper だったり細かいものが充実してきたらきっと便利かなぁ、どうかなぁ。

個人で作る分には試行錯誤が楽しいので、いまのところ欲しいツールをぽいぽい作るにはいいかなー、と思っています。

特に苦労することもないのですがあまり Fragment + Anko という組み合わせの情報が無いのでソースコードまるっとあれば何か参考になるかな的な感じです。

2014年10月29日水曜日

【音楽】Aurender発ポータブルDACアンプのFLOWをAndroidで動かしてきた【Android】

2014年10月25日、26日

中野サンプラザで秋のヘッドホン祭が開催されました。

Aurender というネットワークオーディオトランスポータのブランドが同ブランド初のポータブルDAC FLOW を展示している話があったのでちょっとお試ししてきた記録です。


2013年11月4日月曜日

【Android】【音楽】Resonessence Labs Herusの動作確認

去る2013年10月26日、27日の2日間で行われた秋のヘッドホン祭りに参加してきました。

各社目玉商品を発売する中、以前から噂はあったバスパワー駆動、ハイレゾ再生、DSD再生という小型USB-DAC+アンプをカナダResonessenceLabs社が発売するということだったのでその実力を試してきました。

Resonessence Labs社について

続きはこちらから

2013年9月12日木曜日

【Android】HTC J One HTL22のバージョンアップで音楽性能は変わったのか

2013年9月10日、HTC J One HTL22用のAndroid4.2がリリースされました。

そんな大きな変更は無いだろうと思っていたのですが前記事でレポートした内容から大きく変更された部分もあるので、修正エントリとして追記したいと思います。

今回の修正記事は
  • 本体から聴く音楽の質が変わった!
  • USBによるデジタル接続がラインアウトになった!
の2本です。

前記事はこちらをご覧ください。
【Android】HTC J One HTL22の気になる音楽性能は?(9/11追記)


2013年9月8日日曜日

【Android】HTC J One HTL22の気になる音楽性能は?(9/10、9/11追記)


先日、HTC J One(au HTL22)を買って来ました。

HTC社は2011年に米Beats Electronicに出資することを発表して以来、このbeats audioといいうブランドの機能を搭載したスマートフォンをリリースし続けてきました。

今回もその例から漏れずbeats audioブランドを謳い、正面に2つのスピーカーを搭載するというポータブルオーディオを意識した機種としてリリースしてきました。

ぐりむの着眼した音楽性能について少しレビューしてみたいと思います。

本機のAndroidが4.2になったことで音楽性能が大きく変わりました。

詳しくはこちらをご覧ください。
【Android】HTC J One HTL22のバージョンアップで変わった音楽性能

2013年6月5日水曜日

【音楽】高性能USBDAC INVICTAでDSDやハイレゾ音源をNetBookのAOD250で鳴らせたよ!

先日、別件でエミライ社の島取締役とお話をしていた時、
「いやー、LinuxでINVICTAは鳴らすの難しいらしいっすよ。」
という話が一瞬ありまして。

じゃー、動くようにセッティングしてノートPC持っていきますよー。

なんて話をしてたら
「いやー、まー、たのしみにしてますよー」
なんていうか、明らかに
まぁ程々に頑張ればー

的な感じだったのでちょっと気合入れました。

今日はその時の実験記録です。
2013/6/7 追記 jackdのセッティング

2013年4月2日火曜日

【音楽】Sony Music Unlimitedを使ってみた


一昨日ようやくトルネコに会いました。
ごきげんよう。ぐりむです。

最近Music Unlimitedというサービスを使っています。
音楽のストリーミング配信サービスです。

使ってみて思いの外良かったので、サービスの始め方や使用感、視聴感あたりをレポートしようかと思います。

2013/04/14 画面の画像を追加しました。あとでもう少し追加します。

2013年2月11日月曜日

【Android】スマートフォンでより楽しく音楽を聴くために 〜Beats Audio Installerの導入〜

Beats by Dr.Dre
ヘッドホンではおそらくのデザインで見たことがある方はいるでしょう。
デザインもよく人気のヘッドホンです。

そのBeatsが持っている技術がソフトウェア的に生かされるのであれば、これは素晴らしいドライバなのじゃないか?
そんなソフトウェアがあるという情報を知りました。

多分超ドンシャリで楽しく聴かせてくれるに違いない!
ということで早速インストールしてみました。

インストール方法や感想は続きからどうぞ!

2013年1月29日火曜日

【Android】GalaxySのDigitalAudioPlayer化 〜Rockboxの設定のその後〜

昨年末、クリスマスソングを良い音で聴こう!というふざけたタイトルでエントリを書きましたが。
ぐりむさんの技術メモ: 【Android】Androiderに捧ぐ少しでも良い音でクリスマスソングを聴くための方法

本人的には割と本気でして、

ちょっとマニアックな設定が多いソフトだけど設定するとスマートフォンでも音は改善出来るんだよー

という、若干マニアックだけど敷居低くしてくれるなら使ってみようかな?という人を増やしたいなーと思っていたりいなかったり。

そんなこんなでここで紹介する設定値も実はあまり根拠がなくて、ぐりむが持っている環境と聞いている音楽(偏りあり)で、ぐりむ好みにするとこんな状態ですよーくらいの内容です。

専用機器にまでお金かけるほどでもないんだけど少しでもお得にできたら、幸せだよね?
とか、専用機器を買うまでの繋ぎとして眠っているスマートフォンを活用してみよう!
と思うみなさまは一緒に読み進めていければと思います。

2012年12月24日月曜日

【Android】Androiderに捧ぐ少しでも良い音でクリスマスソングを聴くための方法

まもなくクリスマスですね。そして今日はクリスマスイブ。

巷では恋人同士仲良く的な感じでキャッチアップされていて、外にいるとキャッキャウフフが嫌が応にも聞こえてきます。

そんなときは一人、気持ちを強く持ってクリスマスソングに浸るのも良いものです。

今回は、機種限定な方法からマニアックな良音再生アプリまでをご紹介。

2012年12月18日火曜日

【音楽】OPPO BDP-95がやってきた2 〜 ネットワーク編

先日我が家にやってきたOPPO BDP-95。
開封とテスト動作に付いてはこちらを参照ください。
【音楽】OPPO BDP-95がやってきた1 〜 開封の儀編

今回はこのOPPO BDP-95に数日遅れて我が家にやってきたAVアンプやスピーカーとの接続、DLNAサーバーとの連動、Android アプリ MediaControlについてです。

2012年10月1日月曜日

【音楽】【Android】GalaxyS3でUSB-DACが使えた!(番外編 GalaxyNexusでも音はならせた!)

GalaxyS3ではUSB-DAC(USB AudioCard)が動作する。
そんな情報を聞いていてすっかり忘れていた頃。

先日、同じようにGalaxyS3ではUSB-DACが動作するらしいですね、という話があり、気になったので検証してきました。

2011年12月27日火曜日

【Android】Xperiaワールド タッチ&トライ ブロガーミーティング開催

2012年1月17日(火)に都内某所で

ソニー・エリクソンXperiaワールド タッチ&トライ ブロガーミーティング

が開催されるようです。

開催概要は
http://fansfans.jp/campaigns/detail/651
をご確認くださいな。

いくつかうわさになっている端末や、各キャリアから発表される新機種のタッチ&トライが出来るかもしれませんね。
今や国内でも多くのバリエーションを揃え、ゲームコンテンツの充実やエンターテイメント方面に攻め入っている国産気鋭のソニー・エリクソンだけに期待も膨らみます。


念のため申し込んでみましたが抽選に外れた場合はコムギドットネットさんの情報を待ちましょう。(えー


2011年12月14日水曜日

【Android】GalaxyNexusにストラップを取付けよう!(市販カバー装着編)

GalaxyNexusが発売されて、当然のごとく我が物顔で購入した訳です。
妻には「仕事で必要だから予約したよ。」という事後報告作戦で乗り切りました。
(注:まったく乗り切れていません。ものすごく謝りました。)

このGalaxyNexus、実はストラップホールが付いていないんですね。
しかも、スクリーンガラスがゴリラガラスじゃないらしく、こりゃ落としたらヤバいな。。。という危機感は持っていました。

 で、購入当日。あまりの大きさにタップができない上部角は持ち替えたり両手使ったりと不便です。
GalaxySのようにフィンガーリング付きならぽいぽい移動して落としそうになっても平気なんですが。。。

そこで、裏蓋に穴を開けてストラップホールをつくろうかとも思ったのですが、嫁に監視されていてできそうにないので財力にモノを言わせて乗り切ることにしました。(こっちは結果的に乗り切れました。)

2011年12月4日日曜日

【Android】GalaxyNexusをADBする


Ubuntu x86_64にAndroidSDKの環境を作ったのは良いのですが、ADBが実行できず少し困ったのでメモ。


結果的には動くようになりました。

ということで我が家のGalaxyNexusは一応の名目「開発機」としてスタートが切れたというわけです。

2011年11月8日火曜日

【Android】RebootとkillBackgroundProcess

端末をとあるタイミングで自動的に再起動させたい。

という依頼から始まった今回の模索。
結果としては特定のプロセスを停止させるということで落ち着いたわけですが、ちょっとばかり回り道をしてしまいました。

今回はそれに関してメモです。
まず、
端末を定期的に再起動させたい。
というオーダーがありました。
が、その辺はぐりむさん。とりあえず方法は前に調べたことがありました。

2011年11月7日月曜日

【Android】【IT】Google Developer Day 2011に参加してきました。

2011.11.1
パシフィコ横浜で開催されたGoogle Developer Day 2011に参加してきました。

詳細の紹介や、個別の詳しい話はメディアさんの記事をご覧いただくとして、イチサラリーマン技術者として参加した感想でも残したいと思います。

午前中は基調講演。午後からは各種セッション。最後はIgniteとClosingという流れでした。

その後は、、、
午前の基調講演は、Android4.0、HTML5と関連、AppEngine、集まった技術者へGoogleからの提案という流れでした。

これらの流れは午後の各セッションへの引継ぎを考えた内容になっていて、それぞれの魅力や伝えたいことを引き込む内容でした。

2011年9月19日月曜日

【Android】ドラクエ25周年記念Androidアプリ

ドラクエ1が発売されて、もう25年も経つのかー。
そっかー。
当時小学生なんだから、、、俺もおっさんになったよなー。

なんていいながらも、ずいぶん昔のことを思い出しました。

『そういえば昔、ドラクエっていえばふっかつの呪文だし、あれって適当に打ったらすげーステータスのキャラ出来上がったよなー。そういえばあれの解析記事ってなんかの雑誌に載ってた記憶がある。だれかあれについて記事書いてないかな。』

早速、おなじみgoogle先生にお尋ねしたワケですよ。