目次: Linux
しばし放置していましたが、自作ARMエミュレータの端末画面を直しました。文字が自動的にスクロールしない不具合と、フォーカス設定がおかしい(一度Tabキーを押さないと端末に入力できない)不具合を直し、色も黒い背景に変えました。見てくれはだいぶエミュレータっぽい画面になったと思います。
ただ手抜きもたくさんあって、エスケープシーケンスをガン無視していたり、日本語?何それおいしいの?状態になっている辺りがイケてません。端末画面だけ見ても改善の余地がたくさんあります。
今はシリアルデバイスしか実装してないので、自分で端末画面を作って凌いでいますが、世の中には優秀な端末ソフトがたくさんあるので、そちらを使えるように工夫した方が便利でしょう。おそらく。
エミュレータに簡易telnetサーバを実装して、シリアル出力をtelnetサーバにリダイレクトし、既存の端末ソフトでエミュレータのtelnetサーバに繋ぎに行くのが手早いかなあ。
またはフレームバッファデバイスを実装して、グラフィック画面を出せればLinuxに端末画面の描画をお任せできます。エミュレータとしてはこちらの方が、エミュレーションできるデバイスが増えることにも繋がりますし、建設的かもしれません。
この記事にコメントする
先日(2014年10月20日の日記参照)カクカクの悲しい波形を披露してくれたCreative Sound Blaster Play! を分解しました。

Creative Sound Blaster Play! の24kHz Sin波出力(fs = 48kHz)の悲しい波形
分解方法は、こちらのサイト(2012年1月22日日曜日 - Sound Blaster Play! の分解方法)を参考にして、LEDの横と、ヘッドフォン端子の横の爪を外しました。ケースにラジオペンチの痕が若干残りますが、壊れたりはしません。

Creative Sound Blaster Play! の分解写真(全体)

Creative Sound Blaster Play! の分解写真(ケースを開けた)
基盤が気になる人も居ると思うので、基盤の写真2枚は縮小せず貼り付けておきます。でも、基盤のシルクは読めますが、LSIの品番が読めませんね…。写りが悪くて申し訳ない…。

Creative Sound Blaster Play! の分解写真(LED側)

Creative Sound Blaster Play! の分解写真(DAC側)
実はGoogleで画像検索するとドンピシャの分解写真が出たりしますが、気にしないでおきましょう…。
基盤に載っているLSIはLED側のK93C46(EEPROMかな?)と、DAC側のC-Media CM119というUSB Audio用DACの、たった2つだけです。基盤にホットボンドがのたうち回っていて、組み立てた人のヤケクソ度合いが感じられます…。
DACのメーカーサイトはこのリンクからどうぞ。データシートをもらうにはC-Mediaにメールアドレスの登録をする必要があるようですが、Googleで検索するとデータシートが落とせるサイトが見つかります。良いのかこれ…?
ちなみにCM119のデータシートに載っているリファレンス回路図と、Sound Blaster Play! は非常に似た作りになっています。基盤設計もほぼ省略の徹底的なシンプルさですね。これが安さの秘訣かなあ。
この記事にコメントする
以前の日記(2014年10月18日の日記参照)の続きです。手持ちのUSB-DAC(Creative Sound Blaster Play!)の波形を見てみました。
測定方法は前回同様です。96kHz設定ができないデバイスのため、USB-DACのfsは48kHz/16bitとし、24kHzのSin波を再生しています。

Creative Sound Blaster Play! の24kHz Sin波出力(fs = 48kHz)
グラフが中心からずれているのは設定ミスではありません。この製品は無音でも常に直流成分が出ていてます。いかにも矩形波を合成しました、と言わんばかりに波形がガタガタしているのも特徴的です。
この製品は3000円を切る安さと、手軽に使えるのが小ささが売りなので、音の良さにこだわりはありませんが、それにしたって、もうちょっとマシにはできなかったんでしょうか…?
この記事にコメントする
目次: PC
以前の日記(2014年10月13日の日記参照)の続きです。ノートPCに繋いでいるUSB-DAC(ONKYO SE-U33GXV2)のサンプリング周波数の設定を48kHz/16bitと96kHz/16bitで切り替えた時の差を調べました。
サンプリング周波数(以降fsと言う)が48kHz/16bitの場合、24kHzまでの音が再生でき、fs = 96kHz/16bitの場合、48kHzまでの音が再生できます。従って48kHzの音を再生しようとしたとき、fs = 48kHz/16bitのときは鳴らず、fs = 96kHz/16bitの時に鳴れば、設定が効いている、ということになります。
ただし48kHzの音は超音波なので、人には聞こえません。鳴っているか?鳴っていないか?の判定は、オシロスコープ(Tektronix TBS 1052B)で見ます。
結果だけ先に言えば48kHz/16bitの時は何も鳴らず、96kHz/16bitの設定の時は48kHzの非常に綺麗なSin波が見えました。
ちゃんと設定効いてるんですね。相変わらず私が聞いても、鳴ってるのか鳴ってないのか、何一つわかりませんけど…。
測定用のデータとしてfs = 96kHz/16bitで48kHzのSin波を作ります。用意するのが面倒くさい人は、下記リストの一番下にあるWAVファイルを使ってください。
fs = 32kHz/16bit, 16kHz Sin波
fs = 44kHz/16bit, 22kHz Sin波
fs = 48kHz/16bit, 24kHz Sin波
fs = 96kHz/16bit, 48kHz Sin波USB-DACのfsを96kHzに設定(※1)し、USB-DACのPHONE出力とオシロスコープを繋いで(※2)、先のWAVファイルを再生するだけです。
(※1)コントロールパネルの [サウンド] - [スピーカーSE-U33GXV Audio] を右クリックして、[プロパティ] - [詳細] タブ - [既定の形式] で [16ビット、96000Hz(スタジオの音質)] を選択します。
(※2)普通のオシロはBNC端子なので、ステレオミニのピンプラグが刺さりません。今回はステレオミニ → RCA → BNCと変換しました。機材はAmazonで全部揃います。
測定の結果です。まずはONKYO SE-U33GXV2から。fs = 96kHzのときは下記の波形が出力され、fs = 48kHzにすると何も出力されなくなります。

ONKYO SE-U33GXV2の48kHz Sin波出力(fs = 96kHz)
波形はノイズもなく非常に綺麗です。さすがONKYOさん…。
比較用にノートPCの内蔵音源(Conexant 20671)の測定結果も載せます。音量はほぼ同じで、fs = 96kHz、再生するデータは同じです。

ノートPC内蔵音源 の48kHz Sin波出力(fs = 96kHz)
音を大き目(ボリューム50)にして測定しているので目立ちませんが、全体的にノイズが載っていて波形がガタガタです。また、ところどころに「ヒゲ」のようなノイズが載ります。
全体のノイズやヒゲノイズの大きさは音量によらず一定のようで、音を小さ目にするとより顕著に見えます。
日記を見返すと、ノートPC内蔵音源の「サー」というノイズが気になる(2013年3月16日の日記参照)と書いてあるので、ここまで盛大にノイズが載ると、素人の私でも気づくようです。
この記事にコメントする
デジタルオシロスコープ(Tektronix TBS 1052B)を買いました。5万円です。教育用のエントリー機種だそうです。
額だけ見ると高いですが、新品のTektronixのオシロって20万円〜数百万のイメージだったので、こんな値段で買えるようになったのはびっくりです。最近Amazonなどで幅を利かせている、中国メーカーの安価なオシロの攻勢が効いているんだろうな…、と推測しています。
他のご家庭の話を聞く限り、いきなりこんなの買ったら奥さんに百回くらい殺されるのが普通に思われるのですが、我が家はお互いに趣味に理解があって助かります。さすがの奥さんも今回の値段には、一瞬「え」って止まってましたが…。
あと、奥さんがオシロスコープを知っていたのも驚きました。理科の実験で音叉の440Hzを見るために使ったのだとか。小学校か中学校に1回見ただけの機材とか、そんなの良く覚えてるね…すごいわ。
この記事にコメントする
| < | 2014 | > | ||||
| << | < | 10 | > | >> | ||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| - | - | - | 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | - |
25年10月6日
25年10月6日
25年9月29日
25年9月29日
20年8月24日
20年8月24日
16年2月14日
16年2月14日
25年7月20日
25年7月20日
25年7月20日
25年7月20日
25年7月20日
25年7月20日
20年8月16日
20年8月16日
20年8月16日
20年8月16日
24年6月17日
24年6月17日
wiki
Linux JM
Java API
2002年
2003年
2004年
2005年
2006年
2007年
2008年
2009年
2010年
2011年
2012年
2013年
2014年
2015年
2016年
2017年
2018年
2019年
2020年
2021年
2022年
2023年
2024年
2025年
過去日記について
アクセス統計
サーバ一覧
サイトの情報合計:
本日: