コミュニティアイコン プチコン 非公式コミュニティ プレイ日記

アバター
SquidSky ◆qhyT2aHAyMJC
2018/7/20 17:19
プチコン3号で、PC上のWAVデータを再生する方法をまとめました。

コメント

アバター
あまさとしおん 2018/7/20 18:14 ◆mzDKTVUAtwqE
(どうみてもデータの半分を捨ててますよね???)
アバター
あまさとしおん 2018/7/20 18:55 ◆mzDKTVUAtwqE
なお私は2016年6月の時点で、データを捨てずに再生する方法を書いていますので、是非ご覧ください。
(掲載の方法は8bit用なので、16bitではプログラム中の数の変更が必要です)
https://putikonclub.g.hatena.ne.jp/ken10ken/20160619
アバター
SquidSky 2018/7/20 21:12 ◆qhyT2aHAyMJC
データの半分を捨てる…とは?
アバター
SquidSky 2018/7/20 21:17 ◆qhyT2aHAyMJC
この処理が必要なのは、WAVの形式がRIFFだからでしょうか?だとしたら、プチコンではどんな形式が使われているのでしょうか。
これだと音質が実際の半分しか反映されないので、実際のレートにしたいなら2倍のレートでサンプリングする必要があります。
これは面倒。
アバター
SquidSky 2018/7/20 21:50 ◆qhyT2aHAyMJC
2つの要素とはなんでしょうか…?
アバター
SquidSky 2018/7/20 21:55 ◆qhyT2aHAyMJC
あ、そうなんですか?
どうやって取り出すのでしょうか?ORでですか?
アバター
SquidSky 2018/7/20 21:57 ◆qhyT2aHAyMJC
例を提示していただけると嬉しいです。
ビットは苦手なもので…。
アバター
あまさとしおん 2018/7/21 16:15 ◆mzDKTVUAtwqE
ところでSquidSkyさんはパソコンでバイナリエディタ使ったことあるのかなぁ?
『WAVの形式がRIFFだから』とか推測をしてるけどそもそもwav以外のファイルでも共通の現象です。

パソコン上でのデータは8bitが1かたまりです。
だから仮に「16bitPCM」「24bitPCM」でもそれは2つまたは3つのかたまりを「つなげて」解釈しています。(だからエンディアン≒順番の約束事に注意する必要性が生じる)

そしてプチコンでデータを扱うのは(整数型で)32bitが1要素です。

だから送る段階で4かたまりが1要素に変換されるのです。
アバター
SquidSky 2018/7/21 17:33 ◆qhyT2aHAyMJC
WAVだからRIFFという訳ではなかったみたいです…すみません。
https://ja.wikipedia.org/wiki/WAV
Wikipediaによれば、WAVはコンテナの役割も持っていて、別にRIFFでなくても、OGGやMP3などを含めることができると記載されています。
つまりWAVは単純な非圧縮音声コンテナ(?)ということですね。知りませんでした。
アバター
SquidSky 2018/7/21 22:09 ◆qhyT2aHAyMJC
バイナリエディタは少し使ったことがありますよ。
でも今回は使ってないです。
アバター
MIKE猫Soft 2018/7/26 20:24 ◆WlLT6KG2mCMu
そもそも、圧縮符号系は、どっかのアドレスに書いてあるはずだよね。
アバター
MIKE猫Soft 2018/7/26 20:43 ◆WlLT6KG2mCMu
はるさんの詳しい説明(わかりやすく)
間違ってたらすいません。
ReiさんのPetitModemで送ったサンプルwavは、32bit変数で、リトルエンディアンになってるらしいから、(つまり、↑の画像の21 7C 21 62は、0x62217C21 になるはず。)バイトに逆順で出力する必要がある。
あと、音声データーは、32ビットの場合、4バイトずつ、L,Rと交互に続く為、L,Rごとに別々の配列を用意して、分割してやればいいかな…
あと、PCMストリームタイプは、リニアPCM(非圧縮方式)以外なら、圧縮を解くプログラムを作ればいい。(圧縮アルゴリズムは知らん)
そういえば、ID3タグ(タイトルとかのメタ情報)もついてる可能性が低くないので、読み取る必要性がありそう。
アバター
SquidSky 2018/7/27 13:18 ◆qhyT2aHAyMJC
ADPCMならReiさんのPMPのソースコードから見るといいんじゃないですかね。
アバター
MIKE猫Soft 2018/7/27 21:35 ◆WlLT6KG2mCMu
そうですね。
どうでもいいけど、MP3なんか、非可逆圧縮使ってるし。

コメントを書く

この投稿にはコメントできません。

- WEB PATIO -