2017年8月14日月曜日

Roon Optimized Core Kit(ROCK)のインストールとHifiberry Digi+ Proのセットアップ 後編

前編では、ROCKサーバのNUCへのインストールとセットアップ。コーデックのインストール、メディアドライブのフォーマット。が終わったはずです。次はRoonの再生側デバイスであるHifiBerry Digi+ Proについて書きたいと思います。

HifiBerryはRaspberry PIベースのDACボードで、3種類あります。

  1. DAC+:アナログラインレベル出力のDACボード
  2. Digi+:SPDIF and Optical デジタル出力ボード
  3. Amp+:DACとデジタルパワーアンプ
の3つです。1のDAC+が一番利用者が多い感じかな?通常のアナログアンプに組み合わせるのではこれがいいでしょう。自分のようにAVプリアンプと組み合わせるのであれば、デジタルの出力のあるDigi+となります。あと、直接スピーカーつなぎたいならAmp+という感じですね。

Digi+はスタンダードモデル、トランス搭載モデル、オシレータとトランス搭載モデル。に分かれてますが、自分はPro(トランスとオシレータ搭載)モデルを選びました。I2Sバスをつかった外部クロック供給ボードとしても動作するようなので、音質の向上が期待できるかと考えました。

HifiBerryをRoonでつかうにはHifiBerryが提供するroonイメージをmicroSDに書き込む必要がありますが、動作要件としては、Raspberry PI 2 or 3みたいなので、特に理由がなければRaspberry PI 3を使うのがいいと思われます。技適とか面倒ですけど、ここは妥協しないで行きましょう。


上のリンクはHifiBerryのサイトのblogですが、参考になります。ある程度のパワーがいるのでしょうね。HifiBerryは日本でも扱っている会社がありますけど、全部のモデル扱ってないみたいだし、普通にHifiBerryから買うのがいいかもしれません。PayPalアカウントがあれば楽です。

自分はDigi+ Proとスチールケースを注文しました。発送も早くておすすめです。

さて、モノがとどいたら、OSの書き込みですが、マイクロSDを用意して、適当なライターで書き込みます。書き込むイメージのリンクはいつもこれ。


展開したらimgをmicroSDに焼きこみます。microSDをRaspberry PIに挿入したら、Ethernetをつないで(推奨)デジタル出力をDAC(AVプリアンプなど)に接続し、電源を投入したらおしまいです。面倒な設定は一切いらないです。Roonがオフィシャルに認めたRoonReadyプレイヤーの出来上がりです。

次にRoonのControllerソフトをインストールします。


いろいろありますが、全部入りのやつをおとして、インストール。インストール途中で、coreにするか?とか聞かれますので、「いいえ」を選択しておきます。Coreは前編で構築したNUCをつかいますので。インストールして起動するとはじめにCoreの選択がありますが、そこでNUC(ROCK)を選んでおきます。次に、再生するオーディオデバイスの選択をします。

上の画像だと、一番上のUSB Audio DACというのが、WindowsPCにつながってるDACで、一番下のがネットワーク上のRoonデバイスになります。それぞれEnableボタンを押すとこのようになります。Zoneとして名前をつけておきます。この作業が終わると


こんな感じでRoonのソフトから認識します。出力したいデバイスを選んで終了です。同一ネットワーク上にRoonを実行しているPC/MACがあればそこにつながってるデバイスもこの画面に出てきますので、再生の指示を行えます。楽ですねー。それぞれのデバイス毎に再生する楽曲を選べます。

設定で注意するポイントとしては、MacのCoreAudio経由でDACに出力するときなどで音がガビガビになる場合は


Use Exclusive Modeを有効にしてみてください。改善するはずです。それから、再生につかうDACがものによってはサンプリングレートによって内部でリレーが切り替わるようなものの場合、再生の頭がきれてしまうことがあります。この場合、


Resync Delayの設定をします。だいたい3000msもあれば切り替えの遅いAVプリアンプなどでも頭が欠けることがすくなくなります(ごくまれに欠けます)。なぜこれが必要かというと、RoonにはRadioモードというのがあって、現在再生中の楽曲と同じ感じの曲を自動的にライブラリから選択して、次々に再生してくれるモードがあるのですが、様々なサンプリングレートがごちゃ混ぜのライブラリですと、この機能が生きてきます。44.1Khzしか使わない人なら関係ないですけどね。こういう細かいところまで配慮が行き届いてる感じがイイですね!

というわけで、1時間弱で書き飛ばしたテキストですので、アレな部分は目をつぶってくださいねw。

まぁ、これからはRoonだよ!と、素直に言えないのは日本語の問題ですかね。日本語化されることは当分なさそう。というか日本のメーカーもRoon対応してほしいですね。そうなれば状況もかわってユーザも増えそうです。海外ではハイエンドのメーカーがネットワーク対応のプレイヤーを出すときかなりの確率でRoon対応になってきてる気がします。

あ、ちなみにMP3TagとかでUTF-16でちゃんとタグいれとけば、普通に日本語の曲名とか表示しますんで。一回セットアップしちゃえばそのあとは全然違和感ないですね。

HifiBerryとかめんどくせぇというひとは、比較的低価格なRoonReadyのやつありますから、それつかうのもいいかも。自分的におすすめはROCK+HifiBerryですけどね。

それではまた。。



2017年8月13日日曜日

Roon Optimized Core Kit(ROCK)のインストールとHifiberry Digi+ Proのセットアップ 前編

前回に引き続き、Roonネタです。今回はRoonのライブラリをストリーミングするサーバの構築と、それを受けて再生(正確にはデジタル出力ですが)するHifiberry Digi+ Proのセットアップについてです。

Roonのソフトウェアの考え方ですが、

  • ライブラリを管理してストリーミングするサーバ:Core
  • 音楽ストリームを受信して再生する:Output
  • 音楽再生を指示する、楽曲データを表示する:Control

とい感じで大まかに分かれています。インストールする時に自分の環境に合わせたものをインストールします。CoreはDLNAで言う所のNASみたいな存在で、DLNAサーバ(DMS)的なもの、Outputはレンダラー(DMR)、Controlはコントローラー(DMC)といった感じに分けられますが。RoonにおいてはCoreの存在が重要です、このサーバが実際の楽曲とは別にDBを内部的に構築し、ネットワークで接続されたControlに楽曲のメタデータなどを様々に提供してくれます。このメタデータがRoonの優れている部分でもあります。

さて、まずはサーバ(Core)の構築からです。Roonには公式にIntelのNUCをサポートしたLinuxのイメージが存在し(ROCKと言います)、これをダウンロードしUSBメモリなどに一旦焼いたものを使ってNUCにサーバをセットアップします。IntelのNUCは現在ですと

NUC7i3XXX
NUC7i5XXX
NUC7i7XXX

シリーズがあり、2.5inchストレージを内蔵できるもの、できないものなど、どれを選ぶか迷うところですが、ポイントは2点です
  1. NUC内部にOSストレージ(RoonメタデータDB)以外の楽曲ストレージを内蔵するか?
  2. ゼロスピンドル構成にして静穏化を狙うか?
特にゼロスピンドル化は初めから意識してパーツを選択しないとダメですので、気をつけたいところです。楽曲のストレージは、膨大なライブラリがすでにある人はそちらを使いたくなるでしょうし、自分のようにFLAC等で一旦全部Ripし直して、厳選してRoonで使いたい人は内蔵を選ぶのも手だと思います。

自分はNUCで全ての楽曲を管理する+完全にゼロスピンドルとしてノイズを排除する。を目標に構築を行いました。まず、
  • NUC7i5BNH
  • M.2SSD 128GB (Roon DB & Roon OS)
  • 4GB x 2 DDR4 Memory
  • 980GB SATA3 SSD ( Sandisk Ultra 2 )
  • ファンレスケース Akasa plato x7
という選択です。7i5を選択した理由はAkasa plato x7が公式に対応するのが7i5までのためです。多分TDPの問題かな?熱暴走も怖いので。。ケース交換しちゃうので、BNHにすることは必要なかったかもしれませんが、ファンレスケースがうまく機能しなかった場合の保険です(結果的に問題ありませんでしたが。。)

ちなみにあまりスペックを盛っても、楽曲の数にもよりますが、あまり意味がない感じですね、公式のドキュメントにも、準備するべきスペックに言及がありますので、気になるかたは参照してみてください。


まず組み立てですが、NUCのオリジナルケースの場合は、M.2 SSDと2.5inch SSDとメモリを取り付けたらおしまいです。HDMIとキーボードを接続して起動し、BIOSの設定でそれぞれのデバイスが認識されているか確認しておきます。

次に、NUCのBIOS更新です。Roonlabsに推奨のBOISバージョンの記載がありますので、それを参考に、だいたい最新にしてOKぽいです。

BIOS更新が終わったら、Roonlabsから、rockの最新イメージをダウンロードして、適当なサイズのUSBメモリに焼き込みます。焼き込みが終わったら、NUCのフロントのUSBポートに差し込んで起動し、インストーラを起動します。インストール先を聞かれますので、M.2 SSDを必ず選択します。

ROCKのダウンロード

一通り、完了してNUCを起動するとサーバが自動的に起動します。IPが画面に出ますので、ブラウザからアクセスすると、コントロールパネルが表示されます。

コントロールパネルが表示されたら、やることは2つ。
  1. ffmpegのバイナリのインストール(コーデック)
  2. MediaStorageのフォーマット
です。以上が完了するとROCKに楽曲を転送する準備が完了します。Windowsからは\\ROCKでアクセスできます。参考動画でほぼいけます。内部ストレージのフォーマットを別にやるくらいです(UIから可能)。

参考動画:youtube


<ファンレスケースへの組み込み>
Akasaのplato x7への組み込みは多少面倒ですが、付属のマニュアルに従えばすんなりいきます。ちなみに組み立てに必要な部材は全て含まれてますので、追加で買う必要はないです。したの写真のように、組みあがります。VESAのマウントにひっかけられるようなパーツが付属しますので、自分はメインディスプレイの背面に取り付けています。結構重さがありますので、ディスプレイによっては傾いちゃうかもしれませんね。


akasaはファンレスのPCケースなどを作っている会社ですが、platoの他にもNewtonというケースもあります。NUCの世界はカスタムなどが盛んなのでこういうったケースなども豊富で楽しいですね。探せば色々出てきましたが、値段とデザインでplato x7を選びました。

Quiet PC / Akasa plato x7

日本だとほとんど輸入しているところが無いので、自分はQuiet PCというネットショップで購入しました、発送がめちゃ早かったので正解かな?Amazonで高いの買うより良いかと思われます。参考動画はnewtonですし古いですが、手順はほぼ同じ。

参考動画:youtube


後編ではHifiBerry Digi+ Proの構築やりたいと思います。






Roonを使ったシステムを構築してみた

最終的にHifiBerryなしの構成に落ち着いてます。その辺は最新の記事を参照してみてください。2017.08.27

2015年8月15日土曜日

OnePlus 2 買ってみた

久々にスマホ変えたい病が発症して、一番興味のあるOneplus2買ってみた。
いろいろ失敗もあるので、もし買う人がいたら参考に。

OnePlus 2 site ;)


まず。Dual SIMについて。

Oneplus 2には3つのハードウェアバージョンが存在しているらしく。それぞれが異なるリージョンで
利用されることを念頭においているらしい。確認されいるバージョンは

A2001
A2003
A2005

の3種類。地域としては、EU/Asia、Notrh America、Chinaというように3つの地域で分かれている。
どのモデルIDがどれに相当するのかは不明ですが。自分のOneplus 2はChina版だと思われ
A2001のモデル名が確認できます。

さてここからはOneplusのフォーラムからの引用になるんだけど。

EU/Asia

GSM: 850, 900, 1800, 1900MHz
WCDMA: Bands 1/2/5/8
FDD-LTE: Bands 1/3/5/7/8/20
TDD-LTE: Bands 38/40/41

3 and 20 are used almost all over Europe, but not at all in North America. Band 8, although available in both versions, is used in Europe and India but is seeing increasing adoption worldwide.

North America

GSM: 850, 900, 1800, 1900MHz
WCDMA: Bands 1/2/4/5/8
FDD-LTE: Bands 1/2/4/5/7/8/12/17

For NA, the removal of bands 3 & 20 allows us to add all the GSM bands you’ll need.

China

GSM: 850, 900, 1800, 1900MHz
WCDMA: 1/2/5/8
TD-SCDMA: 34/39
TDD-LTE: 38/39/40/41
FDD-LTE: 1/3/7

The Chinese version will have very limited 4G compatibility in Europe and North America. More importantly, it only has one IMEI meaning you will not have dual-SIM capability outside of China. If you like having dual SIMs, do not buy the Chinese version.

ということみたいですな。そこで一番ポイントなのが、IMEIの取り扱い。
中国版では2スロット存在していてもIMEIは1つしか登録されておらず。*#06#で確認しても
同じIMEIが2つ表示されるし、外箱も1つしかIMEIは記載されていない。

https://forums.oneplus.net/threads/oneplus-2-regional-versions-explained.338780/

A2005と思われる端末の箱がうつる動画をYoutubeで発見したが、拡大してみるとIMEIが2つ記載
されていそうな感じなので。中国版の制限としてDualでの運用は無理ぽい。

Dualスタンバイ(DSDSらしい)に興味がある人は中国版は避けること。ちなみにoppomartは高確率で
というか、中国版です。

Dualで使うことあるかと?うーん、ぶっちゃけないかなと思う。なのでサポートしている周波数的なものを
見てかうので正解かな?

Google+のOnePlusのForumでも発言がありましたけど。EU/Asiaの国際版とか北米版は、Inviteが必要みたいですね。ebayとかにInviteコード出品してる人もいるみたいです。いちおう待ち行列に入ってるみたいなので、まつかな。。といいつつebay突入してみたりしてw

この情報はあくまで自分が探した情報で、元ネタの保証もないので、購入する場合は自己責任で
よろしく。

2015年7月25日土曜日

Android 5.1 Lollipop SELinux policy injection for system apps.

というわけで久々のエントリですが。完全に自分用。
忘れっぽい自分のために。。

AndroidもlollipopになってからSELinuxが完全にEnforceになったようで、様々なデバイスやファイルに個別の権限を設定し運用されることになりました。たとえば、よくapkのなかにarmの実行形式のバイナリをrawファイルとしておいて、Runtime.execするようなアプリがありますけど、そういったものは完全にブロックされます。アプリ内臓のファイルは実行可能には基本的にはなりません(chmod云々の問題でなくSELinuxでの制御対象)。同様にいままでアプリに許可されていたデバイスへのアクセス権限もpermission以外にSELinuxによりkernelレベルで制御されます。/dev/uinputなんかもネットではいろいろ話題になってますね。JNIからアクセスできねーwwとか。。今回は、そういったエントリです。

最近MTKベースのrootとった端末で遊んでますが、lollipopからのSELinuxでいろんな制限がでてきましたね。いままで動いていたきわどいアプリとか動かないなんてことはふつうにありますね。

自分の体験した例では、/dev/uinputへのアクセスがアプリから完全にできなくなったことで、/dev/uinputを使うようなアプリの実行ができなくなったことです。いわゆる、仮想マウスとか、仮想キーボードを作ってリモートコントロールする、VNCなんかのアプリはこの影響を受けてると思います。

簡単な解決方法があればいいのですが。。いままでのところSELinuxのポリシーをいじるしかないという結論で、その辺を調査してみたということです。

まず、/dev/uinputの状態を見てみましょう。Zオプションでタグが見れます。

ls -lZ /dev/uinput
system net_bt_stack u:object_r:uhid_device:s0 uinput

となってます、基本的にuser=system group=net_bt_stackで、uhid_deviceドメインに属してます。

デバイスがどんなタグをもつかueventd.rcをみたらわかりますが、端末によってはあとから、inir.rcなどでchownとかしてますので、多少注意が必要です。

さて、オーナーがsystemなので、きほんてきにはsystemのユーザのcontextを参照するわけですが。seapp_contextsファイルがだいたい端末のルートにあるので、参照してみます。


user=system domain=system_app type=system_data_file

という感じでsystem_appのドメインを参照するようです。さて、実際のシステムはAOSPにあるようなSELinuxのポリシー以外にも独自のポリシーを適用していることが多く、実際の端末の状態を確認しないと、どんなポリシーが対象のアクセスを制御しているのかわからないことが多いです。なのでAOSPのソースのなかのSELinuxのポリシーだけを見てもダメってことです。もちろんターゲットデバイスのソース一式持ってるなら話は別ですけど。。

実際の端末のポリシーがどんなものかを確認するには。setoolsが必要です。setoolsのAndroid版を開発してくれている方がいますので。githubから落としてndk-buildしてバイナリを作成します。

https://github.com/xmikos/setools-android

非常に使えるツールです。クローンしたら、ディレクトリのトップでndk-buildするだけで、幾つかのCPUアーキテクチャに対応したバイナリが生成されます。詳しいことはgithubのページを参照してください。

git clone https://github.com/xmikos/setools-android.git
cd setools-android
ndk-build

できあがった3つのバイナリを端末に転送してpermissionを実行可能に。

adb push sepolicy-inject /sdcard/
adb push sesearch /sdcard/
adb push seinfo /sdcard/
adb shell
su
cd /data/local/tmp/
cp /sdcard/se* .
chmod 755 ./se*
それから、現在のsystem_appのドメインに定義されているポリシーをダンプしてみます。

/data/local/tmp/sesearch --allow | grep system_app
これで、system_appに許可されているポリシーが表示されます。この中にさきほどlsで確認した。uhid_deviceのアクセス許可が記述されていなければ、アクセスは拒否されます。
あ、ポリシーファイルはルートにあるsepolicyというファイルです。setools-andoidは特に指定しなければこのルートにあるsepolicyをデフォルトで参照してくれます。

さてここからが本番、今回はsystem_appドメインにポリシー追加したいと思いますが、appdomainあたりに追加するには注意が必要です。そもそもいろんなポリシーが不許可なdomainですので。今回追加するポリシーは/dev/uinputへのアクセス許可ですので。

allow system_app uhid_device:chr_file rw_file_perms;
とい感じになります。rw_file_permsはマクロで定義されたパラメータで幾つかのシステムコールの発行が可能になります。気になる人はglobal_macrosの定義を読んでみるといいでしょう。

さてこのポリシーを実行状態の端末に追加するにはsepolicy-injectコマンドを使います。ただし、先ほどのマクロ指定はつかえませんので、ちゃんとaccess_vectorsにあるキーワードをつかって指定しなくてはなりません。rw_file_permsは展開すると。

ioctl read write getattr lock append open
という感じになります。これを指定しますが、この新しいポリシー(TE)を含むポリシーファイルを作成して、それからそれを適用するという感じでやってみます。


cd /data/local/tmp
./sepolicy-inject -s system_app -t uhid_device -c chr_file  ¥
    -p ioctl,read,write,getattr,lock,append,open ¥
    -P /supolicy -o ./supolicy.new
カレントに supolicy.new が生成されればOKです。確認は上記のsesearchコマンドでやります。
./susearch -allow ./supolicy.new | grep system_app | grep uhid_device
追加したものが表示されればOK。次に適用です。/dev/uinputにアクセスするアプリもインストールしておいてください。
cd /
mount -o rw,remount /
cp /data/local/tmp/supolicy.new ./supolicy
sync
load_policy ./supolicy
am restart
最後にam restartすることでsystem_appドメインのアプリに対して、dex2oatなどが再度走ります。それで/data/data/あたりがリフレッシュされて利用可能になる感じ?。よくしらべてないのでカンですが。そんなイメージw

ちなみに端末を再起動してしまうと、sepolicyはもとにもどってしまうので、上記の方法で試してます。sepolicyを入れ替えるのが本来の方法でしょうけど。。ま、確認できればいいので。アプリが/dev/uinputにアクセスできれば仮想キーボードとか作成されますので。リモートからキー入力ができたりと、べんりなvncとかうごきますね。

今回の記事はかなーり適当。ソースをよんで裏取りとかしてませんので。もしやってみるという人は参考程度にね。

あ、ちなみに動かしたいアプリのAndroidManifestのpermissionとかちゃーんとしてないともちろんダメっす。

では。。




2015年2月13日金曜日

ALO Audio The International + Optical Edition レビュー

結局ぽちってしまいましたw。FedExで3日でとどきましたね。
早いです。

画像は面倒なんで撮影してないですが、いままでのThe Internationalと同じ形ですw。

肝心なのは音ということで。。

比較対象は究極の3段ともいうべき

iPod classic + Cypherlabs Algorhytm Solo -db + ALO Audio RX MK3+

です。IEMはFitEar334MHです。

まず、エージングもしてない状態の判断ということを断っておいて。。
早速接続です。AK100を久々に充電して、iTunesのフォルダから適当なALACと、HDTracks
で購入したハイレゾをフォルダに放り込んだら比較開始。基本的にiPodからはハイレゾが
でないので、それ以外の音源での比較ですが。。

聞いてすぐにわかるのはThe International+Optical Editionの解像度の高さですね。
ESSの最新DACの威力なんでしょうか?
これはCypherlabsのDACより明らかに上です。空間表現よりは音像をたてて、はっきり
くっきりのイメージ。これに比べると3段の方は、ちょっと解像度的にはあまいものの、
大きい音と小さい音の差を丁寧に描いて空気感を演出してるように感じます。

これは好みの問題とおもいますが、空気感や雰囲気は若干3段に分がある感じですが
The International + OEもエージングが進めばわかりません。現時点で解像度では勝っている
わけなので期待できますね。解像度の高さはハイレゾでも有効で、AK100単体のときより
明らかに音数や音源位置などが明確になってます。

かなりレベルの高い製品になっていると思います。ロックやPOPなどの系統にかなりマッチ
する感じです。まぁ、3段もレベルはかなり高いのですが、それにかけるコストを考えると、
いいIEMを使うって前提でならThe International + OEの勝ちかな?

ちなみに3段では接続のケーブルでかなり印象が変化します。自分は3段の運用時には
iPodとの接続をALO SXC24 USB-30PIN使ってますが、これをDAC付属のケーブルにすると
一気に甘くなります。20-30回短い間隔でとっかえて試したので、プラセボだったとしても
そういう傾向があるんだと思います(自分にとって)。

対するThe Internaional + OEは付属のopticalケーブルでAK100に直でつないだだけです。
それでこのレベルはかなりいいかと。。

あと、肝心なことですが、3段よりぜんぜん軽いですw。持ち上げた感じは半分程度に感じますね。
明日の通勤から使おうと思いますけど、少しカバンが軽くなるのはいいことです。

ちなみに自分は旭化成のDACチップが結構好きで、CypherlabsのDAC以外にも自宅の
オーディオシステムもAK搭載のMY-D3000使ってたりします。32bitのDACはやっぱり全体的に
解像度には余裕が感じられていいですね。

というわけで、簡単なレビューでした。

あ、AK100といえば去年発売した、The Glove A1とか専用のDAC内臓ポタアンとかも
そそられますね。The Glove A1はノイズ問題であれですけど、対応しくれるらしいし。
The Internaional + OEと同じくESSのDACチップ搭載ですし、比較してみたいですねぇw。

それではまた。




2015年2月8日日曜日

ALO Audio The International +Optical Edition 発売!

お久しぶりです。

ALO Audioから新しいポータブルアンプでましたね!。以前の投稿で、The Internationalにオプティカルついたらいいのになぁと書きましたが。まさにそんな感じの製品になってます。


しかも、DACもESSの新しいやつで、Sabre32 ES9018K2Mが搭載されていますね。これはすぺっくてきにはDSDとかもいけるやつです。192khz/24bitも当然いけるでしょうね。ホームページによると、バランスに対応したサーキットデザインらしいですし。期待ですね。日本でいつ発売かわからないですけど、ALOのサイトはPayPalとかもいけますし、International shipもOKみたいですので。頼んでみようかなぁ。

ただ、まだ少し情報がすくなくて、iPod classicみたいな30pinのコネクターをUSB変換して接続できるのかどうかはわからないです、iOSは対応ってことで、lightningからUSB変換したやつを受ける専用の入力がありますね(これは充電端子でした。。)。

まぁ、iPod classicはいまの3段構成のリグで楽しむためのおいといて、つかってないAK100をOpticalで接続するってのがいいかな。3段にくらべて圧倒的に小さくなりますなぁw。これはまた魅力ですが。44.1Khz/16bitがどこまで3段構成に肉薄できるか?

実装面積もそれなりなんで、コスト分のマイナスはあるかもしれないけど、、

まぁ、すごーく興味があります。もし買ったらまたレビューします。

現状は究極的な3段構成なんで、CD音質の音源はかなり満足いく音が出てます。ぶっちゃけ同じ音源でも、AK100のハイレゾよりいい感じなんです。なのでAK100でのハイレゾは出番がなくなったわけですが、今回のアンプはその辺期待って感じです。

ではまた。

現状の3段構成については下記を参照。

http://creamsnexus.blogspot.jp/2014/03/cypherlabs-algorythm-solo-db-alo-audio.html