PCMデータを確認する
とりあえず、届いたPCMデータを実際に聴いてみます。
届いたPCMデータを追記モードでファイルにそのまま記録します。その後先日調べたsoxコマンドでwavファイルに変換してみます。サーバには24000Hzでのサンプリングを要求しますが、適切に最適化され、異なるサンプリングレートで送られてくることがあります。今回の場合は48000Hzでサンプリングされたようです。以下のコマンドで変換してみます。
sox -r 48000 -b 16 -c 2 -e unsigned-integer -t raw test.pcm test.wav
プレイヤーで出来上がったwavファイルを聴いてみます。「う、音が割れている…」音楽らしき音が聞こえますがバリバリとノイズが入ります。「もしかして…」と思い、以下のコマンドで再変換します。
sox -r 48000 -b 16 -c 2 -e signed-integer -t raw test.pcm test.wav
ビンゴでした。2チャンネル16bitで量子化されているのですが、値はsigned intだったようです。Qt5ではunsigned intもサポートしています。これで綺麗に曲が聴けました、一安心。
もしかして、PCMデータのテンポラリファイル保存・再生バージョンで音が割れていたのは、unsigned int(QAudioFormat::UnSignedInt)を指定したからかもしれません。実はそれなりの音が出ていたのかも…と思いましたがやはりそうではありませんでした、そんなに甘くはありませんね(^_^;
来週は作業が出来ないのでそれまでに綺麗に音を出せるようにしたいなぁ…と思いますがどうなることやら。
テストのため隣の部屋のノートPCでYouTube動画をヘビーローテーションさせていますが、なんとなく精神衛生上良くないです。単にPCが起動しているだけなのですが、ずーっと音楽が流れているので。
キャプチャーしてみました。
次にアップロードする時は同時に音が出るバージョンにします。
« PCMデータはどのように届いているの | トップページ | 配布方法を考える »
コメント