掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WAVEファイルから数値データを取り出すには? (ID:52102)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> WAVEファイルを扱い、ピッチのシフトを行ないたいのですが > まず、WAVEファイルから数値化されたデータを読み出したいのです。 > が、その手法がよくわかりません。どなたか教えてください。 WAVEファイルって言われても,多種多様な形式があります。 一般的にはPCMでしょうけど,他の形式でもWAVEファイルにすることは可能です。 #WAVEFORMAT::wFormatTag それでもって,WAVEファイルは,RIFFというフォーマットに則っています。 http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_resource_interchange_file_format_services.asp でもって,WAVEについてMSDN内を簡単に探して見つからなかったので書いておくと, ・FormTypeはWAVE ・特性を記述するIDがfmt であるSubchunk ・データを格納するIDがdataであるSubchunk からなります。 fmt サブチャンクに含めるのは, ・WAVEFORMAT構造体 (sizeof (WAVEFORMAT) == 14) http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_waveformat_str.asp ・PCMWAVEFORMAT構造体 (sizeof (PCMWAVEFORMAT) == 16) http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_pcmwaveformat_str.asp ・WAVEFORMATEX構造体 (sizeof (WAVEFORMATEX) == 18 + α) http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_waveformatex_str.asp ・WAVEFORMATEXTENSIBLE構造体 (WAVEFORMATEX構造体の一種) http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_waveformatextensible_str.asp のどれかになります。 入出力は,Multimedia File I/Oという,RIFF専用の入出力API群もありますが, http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_multimedia_file_i_o.asp http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_multimedia_file_i_o_reference.asp stdioでも十分だと思います。 > いろいろ調べてたらWin32APIと言うのを見つけました。 > 言語仕様がCとよく似ていますが異なるものなのでしょうか APIというのはApplication Programming Interfaceの略です。 Win32 APIというのは,32bit Windows用のアプリケーションを作成するための, システムが用意した関数群(のようなもの)です。 基本的にAPIの仕様はC言語で書かれています。 ただ,呼び出そうと思えばDelphiやVisual Basicのような,他の言語から呼び出すこともできます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.