Dies Aliquanti

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

UltimateEars UE900買ったー

UE900

UlitimateEars(今はLogitech)のUE900買いました。今、シリコンバレー出張中で、StanfordのショッピングセンターのAppleストアでの購入です。5年以上使っていたER-4S(赤青モデル)が今年春先のシリコンバレー出張の当日に壊れ(ケーブルのユニットへの接続部分が折れた)て、安物のイヤホンで出張するも、あまりに気持ちが萎えるので出張中にKlipsh Image S5i Ruggedを発作的に購入して使っていたのですが、
S5iを無理やり「Shure掛け」してたら、半年ほどで、ユニットの根本のケーブルのカバー部分に亀裂が入ってきてしまったのと、ER-4Sと比べると圧倒的に劣る遮音性能が気に入らず、UE900を買ってしまいました。
音的には、まだならし中ですが、十分満足。

ER-4SはBA型ドライブ・シングルユニットで非常に高解像度が評判ですが、低音が全く出ない。S5i(ダイナミック型と思う)は低音はかなりいいんですが、中高音がER-4Sに比べるとやや雑。UE900はBA型、マルチユニットで低音を比べるとS5iには負けますが、中高音部はかなりイイです。(音の良し悪しを文章で伝えるのはむずかしいですね。)

問題の遮音性は、「コンプライ」イヤーチップを使う限りは満足の行く範囲です。私の好みは、遮音性の高い状態で、比較的低音量で聞く使い方なのですが、音を大きくしていっても、聴き疲れを感じないのは、さすがです。まあ、ER-4SやS5iとは価格帯も異なりますから比べるのは酷です。正直、ER-4SやS5iで満足しているのなら、買い換える必要はないと思いますね。その分、音楽ソースに投資したほうがいいです。
日本での発売時の価格次第ですが、きっと5万円とか超えてしまうじゃないかな?

ケーブルは着脱式ですが、こちらの方が書かれているように、外すのはかなり硬いです。コネクタの接続部に親指の爪を押し込む用にするとわりとあっさり外れますが、今度は取り付けるのに苦労します。まあ、特に必要がなければ触らんほうがいいでしょう。

それより、iPhone5,iPhone4S,iPod Touch(4G)で聴き比べると、iPhone5がちと劣るのが分かります。なんかなー…iPhone5って微妙に地雷臭い orz。
続きを読む
スポンサーサイト

テーマ:オーディオ - ジャンル:趣味・実用

iPod touch4到着

きたーっ! iPod touch4到着しました。9/2の昼休みにApple online shopで注文したものがやっと届きました(64G,刻印あり)。
 いままで、使っていたのは第一世代(途中で追加された32Gモデル)だったのですが、これといって大きな不満があったわけではないのだけれど、さすがに電池がヘタってきた感じがするのと、SDのビデオ録画はほぼ見てしまい、HD録画を見るにはもう少し解像度が欲しかったのが最大の理由。第一世代と比較しても仕方ないかも知れませんが、簡単にインプレッション。

軽く(121g→104g、実測)、やや小さくなった。第一世代にくらべ、裏側のラウンドエッジがさらに丸くなって、机の上におくとちょっと掴みにくい。まあ、ラバーケースを買うつもりなのでいいけど。

起動。第一世代と同じくらい遅い。 orz

画質は、良好。第一世代はやや赤みが強い感じだったのがなおった。ただし解像度が上がった分だけ、動画を変換するのに時間がかかるようになった(orz)。どうせ、iPod用に変換したら、見て消しだし、容量も増えたので、1Pass CBRでもいいかも。

音質。第一世代の音は「聞き疲れしない」、いい感じでしたが、いかにせん、低音が出ない、S/Nが悪いという問題がありました。今回は、十分満足できる感じ。ただし、「聞き疲れ」感はもう少し使い込んでみないと正直不明。ただし、付属のイアフォンはゴミ。

カメラ。ま、私には十分かな。

というわけで、 ちょっとうれしい。



Bose901をサラウンドのフロントに使う (3)

blogのメッセージで問い合わせを受けたので…

901のイコライザは、従来の2chステレオではプリとメインの間にはさむか、テープデッキ用の端子につけることになりますが、サラウンドアンプではテープデッキ用の端子は普通はないと思います。プリアンプとメインアンプが分離したタイプは高級機にはありますね。たとえば、デノンAVP-A1HDhttp://denon.jp/products2/avpa1hd.htmlプリ・メイン一体型でも、プリアウトがあれば別に2chのメインアンプを用意して、AVアンプ(プリアウト)→901イコライザ→2chメイン→901本体と接続できます。

最近のAVアンプはマイクロフォンがついていて、自動で音場調整するものがあります。このタイプでは、901の周波数特性を保障してくれる可能性があります。この場合はイコライザーは不要ということになります。(試してないのでなんともいえませんが)


901をサラウンドシステムのフロントに使う場合、サブ・ウーファーに気をつける必要があると思います。901をすでに使われているならお分かりと思いますが、かなり低音がでます。したがって、中途半端なサブウーファーでは意味がなくなってしまいます。私はヤマハのYST-SW1500を使ってます。中途半端なものをつけるぐらいだったら、サブウーファー無しの5.0でとりあえず試してみて、物足りなければ30cm超のサブウーファーを導入するというのもありと思います。


根本的な問題としては、サラウンドのソースの作り方があります。映画とかは問題ないのですが、クラッシックとかだとホールトーンをフロント以外のスピーカーで再生することになります。ということは、基本的にリスニングルームは「デッド」な方が「正しく再生」できるのではないかと思いますが、901は壁の反射を使う(=ライブ)ので、「ライブな」リスニングルームの必要があるのです。


901のイコライザのデジタル化も画策しているのですが、なかなか暇がなくてできません。orz

 



RubyでWavファイルを扱う

すっかり「Ruby猿」になっている私です(笑)が、今度はデジタルオーディオを扱ってみることにします。とりあえず、WAVファイルを扱うところを書いてみました。WAVファイル(というかRIFFフォーマット)は、ここ
http://www.kk.iij4u.or.jp/~kondo/wave/
の記述が参考になります。思ったより、時間がかかりましたが、WAVファイルの読み書きはできました。pack(),unpack()の使い方のいい勉強になりました。 書き込みはとりあえず44.1k、16ビットで決めうちです。

 早速動かしてみます。WAVファイルをコピーしているだけですが、遅いっすね~。 orz
ちゃんとThread化すれば少しはましになるかしら?RubyのTheradって、Native Threadではないからダメかな・・・

----
require "thread"
module DigitalAudio 
  def bytes2value( ar )
      bytePerSample = ar.length
      bitPerSample = bytePerSample * 8
      sum = 0
      (bytePerSample -1).to_i.downto( 0 ) { |i|
        sum = (sum << 8 ) + ar[i]
      }
      if bytePerSample == 1
         return sum - 128
      end
      if sum > ( 0x1 << ( bitPerSample -1 ))
          sum -= ( 0x1 <<  bitPerSample )
      end
      sum
  end #def bytes2value( ar )
end #module DigitalAudio

class DigitalAudioElement
  include Math
  include DigitalAudio
  @@S48k = 48000
end #class DigitalAudioElement

class ToFile < DigitalAudioElement
  def initialize( fspec , inQArray , pHash=nil )
    f = open(fspec , "wb" )
    totalDataChunkByte = 0
    totalByte = totalDataChunkByte +36
    fomatId = 1 # must be 1 (=LPCM)
    noOfChannel = inQArray.length
    samplingRate = 44100 # tentative
    bitPerSample = 16 # tentative
    blockSize = noOfChannel *( bitPerSample /8 )
    bytePerSec = samplingRate * blockSize
    x = ["RIFF", totalByte, "WAVE" ]
    f.write( x.pack( "Z4VZ4"))
    x = [ "fmt ", 16, fomatId, noOfChannel, samplingRate, bytePerSec, blockSize, bitPerSample ]
    p x
    f.write( x.pack( "Z4VvvVVvv"))
    x = [ "data", totalDataChunkByte ]
    f.write( x.pack( "Z4V"))
    d = true
    while d
      for i in 0..(noOfChannel-1)
        lsbArray = Array.new
        d =  inQArray[i].pop
        #p __FILE__, __LINE__, d
        break if !d
        #p __FILE__, __LINE__, d
        d = d.to_i
        for j in 1..( bitPerSample /8 )
          lsbArray << (d & 0xff)
          d >>= 8
        end
        f.write( lsbArray.pack( "C*" ))
        #f.write( "XXXX" )
      end
      break if !d
      totalDataChunkByte += blockSize
    end
    f.seek( 0) # rewind to begin    
    totalByte = totalDataChunkByte +36
    x = ["RIFF", totalByte, "WAVE" ]
    f.write( x.pack( "Z4VZ4"))
    x = [ "fmt ", 16, fomatId, noOfChannel, samplingRate, bytePerSec, blockSize, bitPerSample ]
    p x
    f.write( x.pack( "Z4VvvVVvv"))
    x = [ "data", totalDataChunkByte ]
    f.write( x.pack( "Z4V"))
    f.close
  end #def initialize( fspec , outQ, pHash=nil )
end #class ToFile < DigitalAudioElement

class FromFile < DigitalAudioElement
  include DigitalAudio
  def initialize( fspec , outQ, pHash=nil )
    File::open( fspec ) { |f|
      f.binmode
      p "-----------------"
      if( !(buf = f.read(12 )))
        raise "File read error : #{fspec}"
      end
      riffHeader = buf.unpack("Z4VZ4")
      p riffHeader
      if !((riffHeader[0] == "RIFF") && (riffHeader[2] == "WAVE"))
        raise "File format error error : #{fspec}"
      end
     
      # parse 'chunk'
      while( buf = f.read(8) )
        chunkHeader = buf.unpack("Z4V")
        if chunkHeader[0] == "fmt "
          buf = f.read( chunkHeader[1])
          fmtChunk = buf.unpack("vvVVvvvc*")
        elsif chunkHeader[0] == "fact"
          buf = f.read( chunkHeader[1])
          factChunk = buf.unpack("c*")
        elsif chunkHeader[0] == "data"
          break
        else
          raise "unknown chunk type : #{chunkHeader[0]}"
        end
      end

      p fmtChunk, factChunk
      fomatId, noOfChannel, samplingRate, bytePerSec, blockSize, bitPerSample= fmtChunk[0..6]
      p fomatId, noOfChannel, samplingRate, bytePerSec, blockSize, bitPerSample
      if fomatId != 1
        raise "unknown data format. Only LPCM is supported"
      end
      bytePerSample = bitPerSample / 8
      count = chunkHeader[1] # total bytes in data chunk
      p "--datachunk--" ,count
      while( buf = f.read( blockSize ) )
        d = buf.unpack( "C*" )
        for ch in 0..(noOfChannel -1)
          val = bytes2value( d[0..(bytePerSample-1)])
          outQ[ch].push( val )
          d = d[bytePerSample..-1]
        end
        for ch in noOfChannel..( outQ.length() -1)
          outQ[ch].push( 0 )
        end
        count -= blockSize
        break if count <= 0
      end
      for ch in 0..( outQ.length() -1)
          outQ[ch].push( nil )
      end
    }
    p "----Done"
  end #def initialize( fspec , outQ, pHash=nil )
end # class FromFile < DigitalAudioElement

#-------- test
 w1 = Queue.new
 w2 = Queue.new
 w3 = Queue.new
 w4 = Queue.new
 fm = FromFile.new( "WAVE.WAV", [w1, w2 ] )
 fm1 = ToFile.new( "aaa.WAV", [w1, w2] )
# fm2 = FromFile.new( "aaa.WAV", [w3, w4] )
 exit



Esoritec SA-50 ... 32Bit D/A

むう…こんなものが発売になったそうだ。


☆銀行振込特価はお問い合わせください。☆ESOTERIC(エソテリック)SA-50【SACDプレーヤー】

「特価はお問い合わせください」ってのは何だが、まあ、さすがに私がおバカでもおいそれとは買えない値段だ… orz

エソリテックの製品ページはこちら。要はTEACの高級ブランド。ポイントは32ビットのD/Aコンバータを使用していること。部品は旭化成マイクロ(AKM)製だが、AKMではさらに上位の32ビットD/A、AK4399なんてのも出しているそうな。

この領域になると、いわゆるカタログスペックは意味がないと思うけど、SA-50のカタログによれば、S/N比は130dBだそうなので、32ビットにおける理論的なダイナミックレンジが192dBだか、差し引き62dB、ビット換算で10ビットくらいはノイズに埋もれていることになると思うのだけど、意味あるのかな・・・




FC2Ad

まとめ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。