日々

link permalink

残念エミュレータ

Linux 4.4 系が Longterm の仲間入りをしたので、自作 ARM エミュレータ ememu で Linux 4.4.8 を動かしてみたのですが、未定義の領域(ハードウェア仕様にはあるけど、エミュレータで未実装の領域)にアクセスしてクラッシュしてしまい動かず…。

他の Longterm(Linux 4.1.23)は元気に動くんだけどな。何かドライバが変わったんだろうなあ。

メモ: 技術系の話は Facebook から転記しておくことにした。

[編集者: すずき]
[更新: 2016年 5月 22日 15:00]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

オーディオレイテンシ

Androidの10ms問題:Androidオーディオパスレイテンシ解説 - POSTD を読んで。

1年前の記事。アプリ経由(In → アプリ → Out)で 35.8ms なら、かなり優秀な方だと思っていたので、10ms 以上はクソみたいな書き方がされていてショック。

私は 50ms のレイテンシだと全くわからなかったけど、プロの方々は 50ms 以下でも区別付くのか。すげーな…。

メモ: 技術系の話は Facebook から転記しておくことにした。

[編集者: すずき]
[更新: 2016年 5月 22日 15:02]
link 編集する

コメント一覧

  • hdk 
    区別というか、音ゲーをエミュレーターでやると 50ms でもつらくないですか? 
    (2016年05月22日 23:30:56)
  • すずき 
    >hdk さん
    音ゲーやらないので、ピンと来てないところもありますけど、50ms だと 3〜4 フレームズレちゃうので、タイミング命のゲームだとちょっとキツいですね。 
    (2016年05月24日 00:21:20)
open/close この記事にコメントする



link permalink

In to Out のレイテンシ - Windows 編

先日(2016年 5月 22日の日記参照)の続き。オシロスコープを引っ張り出してきて、測ってみました。

Windows 側でサウンドデバイスの設定は特にせず、オシロの目盛が振り切れない程度に音量を調節したのと、録音デバイス側の「このデバイスを聴く」のチェックをつけ(=ループバック再生)るだけに留めました。

下記のように接続して、オシロスコープの Ch1 に単発トリガを掛けて、どれだけ遅れて音が鳴るかを調べました。スプリッタと格好良く書いていますが、単にステレオで出力して、赤白ケーブルの赤と白に分けているだけです…。


In to Out のレイテンシ測定

ちょっとした工夫として、入力信号の周波数を低め(100Hz)にして、波長の整数倍(今回は 0.05s、つまり 5波形分)のパルスにしています。

周波数を低くするのは、オシロの時間軸を長めに取ったときでもグラフが潰れず波形をカウントしやすいためです。

パルスを波長の整数倍にするのは、入力と出力の一致を見るためです。たまに無音状態から出音すると先頭の音が欠けてしまう(ポップノイズ防止のため、ボリュームにフェードを掛けて出す)デバイスがあります。その手のデバイスに当たると、フェードの分だけ遅れているように見えるため、不当に悪く評価してしまうからです。

最初は Creative の Sound Blaster X-Fi Go! Pro(約 4,000円)です。


In to Out のレイテンシ - Creative SoundBlaster Go! Pro

約 100ms ですね。

次は、同じく Creative の Sound Blaster Play(約 1,000円)です。


In to Out のレイテンシ - Creative SoundBlaster Play!

わずかに早い、約 90ms です。

最後は ONKYO SE-U33GXV2(約 13,000円)です。このデバイスは内部で直結されているらしく「このデバイスを聴く」をチェックしなくてもループバック再生されていました。


In to Out のレイテンシ - ONKYO SE-U33GXV2

これは 0ms と言っても過言では無いです。あまりにも同時に鳴ってしまい、グラフが重なって見えないので、グラフを上下にずらしています。

しかし Windows の設定なんて完全に無視してくれるので、ループバック再生できているとは言えないような。。。


In to Out のレイテンシ - ONKYO SE-U33GXV2「このデバイスを聴く」

ちなみに「このデバイスを聴く」にチェックを入れると、同じ音が二回鳴ってしまいます…。レイテンシはやはり 100ms くらいです。Windows はこんなもんなのかなあ?

[編集者: すずき]
[更新: 2016年 5月 29日 19:48]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

In to Out のレイテンシ - Linux 編

昨日(2016年 5月 29日の日記参照)の続き。Linux でも測ってみました。

Windows で測ったときと同様に、オシロの目盛が振り切れない程度に音量を調節しました。Linux はループバック再生のやり方は特にありませんので、下記のようにarecord と aplay をパイプで繋いでみました。

arecord -D plughw:1 -f dat -B 10000 | aplay -D plughw:1 -f dat -B 10000

バッファはデフォルトだと 500ms 近かったので、arecord 側も aplay 側も 10ms に設定しています。パイプの分もバッファがあるので、最大で 20ms + α 程度のレイテンシになると思われます。

まず Creative の Sound Blaster Play! を測ってみました。


In to Out のレイテンシ(Linux) - Sound Blaster Play!

おお、結構良いじゃないか。と思ったのですが、なぜか入力より出力が遅いようで、しばらく放っておくとレイテンシが変わってしまいます。


In to Out のレイテンシ(Linux) - Sound Blaster Play! その 2

同じ機器なのに、録音と再生の速度が違うのは妙です。録音側を plug で変換しているからでしょうか。良く分からんな…。

[編集者: すずき]
[更新: 2016年 5月 31日 01:06]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報