読み方:うえーぶ《wave-form audio format》ウェブファイル のこと。Weblio国語辞典では「WAV」の意味や使い方、用例、類似表現などを解説しています。">

WAVとは何? わかりやすく解説 Weblio辞書 (original) (raw)

Waveform

拡張子 .wav
MIMEタイプ audio/vnd.wave, audio/x-wav
タイプコード WAVE
UTI com.microsoft.waveform-audio
マジック ナンバー WAVE (8バイト目から)
開発者 マイクロソフトIBM
種別 音声
派生元 RIFF

RIFF waveform Audio FormatWAV)は音声データ用のコンテナ規格である。元の意味に含まれる英単語waveformは「波形」を意味する。「波」の意味を持つ英単語waveから転じて、WAVE(ウェイヴ、ウェーヴ、ウェイブ、ウェーブ)とも呼ばれる。拡張子.wav

概要

RIFF waveform Audio Format (WAV) はマイクロソフトIBMにより開発された、RIFFベースの音声ファイルフォーマットである。RIFF上の識別子は「WAVE」であるが、拡張子からWAVフォーマットという呼び名が一般化した。

英語圏では元の意味からWAVを「ウェイヴ」(IPA: [weɪv])と読む(発音する)ことが多い[1]が、日本の音楽業界ではweb(ウェブ)と響きを区別するために、ワブ(ワヴ)とも呼ばれる[2][注釈 1]。[_独自研究?_]

非圧縮リニアPCM符号化した音声の格納にWAVはよく用いられる。一方でWAVはあくまでコンテナ規格であり、μ-lawや、ADPCMMP3WMAなど他の音声コーデックも格納できる。Windows以外のOSで作成したリニアPCMデータを直接Windowsで閲覧するとwavとして認識される。

WAVフォーマットでは、データ長が32ビット符号なし整数型で記述されているため、4GBを超えるファイルを作成できない。この制限を越えるため、データ長を64ビット符号なし整数型で記述するWave64 (.w64) というフォーマットも存在する。

RIFFのチャンクとして、WAVファイル内にタグ情報を付加することができるが、使用する文字コードは特に規定されておらず、互換性に問題が生じ易い仕様になっている。

音声分野で広く利用される他のコンテナ規格にはMP4OggWebMなどが挙げられる。

仕様

RIFF

RIFFファイルはタグ付きのファイル形式で、チャンクと呼ばれるコンテナの集合である[3]。 チャンクには4文字のタグ(FourCC)とチャンクのサイズ(バイト数)があり、タグによってチャンクのフォーマットが区別される。 いくつか標準的なタグがあり、4文字すべてが大文字のタグは予約されたタグである。

RIFFファイルの一番外側のチャンクはRIFFタグを持つ。 チャンクデータの最初の4バイトはフォームの種類を指定するFourCCでその後ろにサブチャンクが続く。 WAVファイルの場合、FourCCはWAVEである。

RIFF形式ではチャンクの出現順には一般的な規定がないが、fmt チャンクはdataチャンクの直前に置くという例外がある。

タグファイル形式の利点として、RIFFファイルの利用者が知らないタグは読み飛ばし、処理可能なチャンクのみを扱うことができる点が挙げられる。

RIFFフォーマットにおいて複数バイトで表現されるデータの並びはリトルエンディアンである。

RIFFファイルの一例を挙げる。 この例ではオフセット0x0にRIFFチャンクがあり、チャンクの長さは0x00630b20である。FourCCWAVEであり、ファイルがWAVファイルであることを示している。 オフセット0x12からはサブチャンクが続く。 オフセット0x30からfmt チャンクが始まり、オフセット0x48からdataチャンクが始まっている。

00000000 52 49 46 46 20 0b 63 00 57 41 56 45 4a 55 4e 4b RIFF .c.WAVEJUNK 00000010 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030 66 6d 74 20 10 00 00 00 01 00 02 00 44 ac 00 00 fmt ........D... 00000040 10 b1 02 00 04 00 10 00 64 61 74 61 d8 0a 63 00 ........data..c. 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ...

fmt チャンク

fmt チャンクの構造は、WAVEFORMATEX構造体などによって定義される[4]

チャンネル数、サンプルレート、サンプルのビット数などが定義される。

typedef struct { WORD wFormatTag; WORD nChannels; DWORD nSamplesPerSec; DWORD nAvgBytesPerSec; WORD nBlockAlign; // WAVEFORMATはここまで WORD wBitsPerSample; // PCMWAVEFORMATで追加 WORD cbSize; // WAVEFORMATEXで追加 } WAVEFORMATEX;

上記の他、サイズが14バイトのWAVEFORMAT構造体や、サイズが16バイトでcbSizeが存在しないPCMWAVEFORMAT構造体、サイズが40バイトでcbSizeの値が22のWAVEFORMATEXTENSIBLE構造体がある。ただしWAVEFORMATはWindowsでは廃止されて使用不可能。PCMWAVEFORMATも廃止されている事になっている[5]が、使用可能である。

wFormatTag

wFormatTagは音声コーデックを指定する。例として次が挙げられる。

これらの定数はWindows SDKに含まれるmmreg.h[9]によって定義されており、さらにそれぞれのフォーマットによってfmtチャンクの構造の詳細が決まる。

WAVEFORMATEXTENSIBLE

typedef struct { WAVEFORMATEX Format; union { WORD wValidBitsPerSample; WORD wSamplesPerBlock; WORD wReserved; } Samples; DWORD dwChannelMask; GUID SubFormat; } WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;

Format.wFormatTag0xFFFEFormat.cbSize22で固定。SubFormatでコーデックを指定する。

dataチャンク

dataチャンクの中身はfmt チャンクによって定義されるフォーマットに基づく。

2チャンネルのリニアPCMの場合には、左チャンネル・右チャンネルの順に符号付整数2の補数)で格納される。

浮動小数点数で格納される場合、慣習からデータ値の範囲は-1.0から+1.0に限られる。

Windows上での圧縮

Windows上では、ACMを利用すれば、圧縮などが行える。この機能が利用できるソフトウェアとして、サウンド レコーダーがある。

脚注

注釈

  1. ^ 日本語には英語のvに相当する子音が存在せず、日本の学校における英語教育も読み書きのみが中心のため、vとbの発音を区別できない日本人や、aを「エイ」ではなく「エー」と発音してしまう日本人が多いことも関与している。

出典

  1. ^ How do you pronounce file extensions?
  2. ^ WAVファイルとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
  3. ^ Sustainability of Digital Formats: Planning for Library of Congress Collections - RIFF (Resource Interchange File Format)
  4. ^ WAVEFORMATEX (mmeapi.h) - Win32 apps | Microsoft Learn
  5. ^ Extensible Wave-Format Descriptors - Windows drivers | Microsoft Learn
  6. ^ "WAVE_FORMAT_PCM PCM (pulse-code modulated) data in integer format." Microsoft. WAVEFORMATEX structure (mmreg.h). Windows App Development.
  7. ^ "WAVE_FORMAT_IEEE_FLOAT PCM data in IEEE floating-point format." Microsoft. WAVEFORMATEX structure (mmreg.h). Windows App Development.
  8. ^ "WAVE_FORMAT_MULAW Mu-law-encoded format." Microsoft. WAVEFORMATEX structure (mmreg.h). Windows App Development.
  9. ^ Mmreg.h header - Win32 apps | Microsoft Learn

関連項目

外部リンク

解説サイト

マルチメディア圧縮フォーマット
動画ファイルフォーマット ISO/IEC MJPEG Motion JPEG 2000 MPEG-1 MPEG-2 Part 2(英語版MPEG-4 Part 2/ASP(英語版Part 10/AVC MPEG-H Part 2/HEVC MPEG-IVVC ITU-T H.120(英語版H.261 H.262 H.263 H.264 H.265 DV H.266 SMPTE VC-1 VC-2 (Dirac) VC-3 VC-5(英語版AOMedia AV1 IETF VP8 SAC AVS(英語版) その他 Apple Video(英語版) Bink(英語版) DVI(英語版) EVC(英語版GIFアニメーション Microsoft Video 1(英語版) MSU Lossless(英語版) OMS Video(英語版ProRes 422 ProRes 4444 RTVideo(英語版) SheerVideo(英語版) Smacker(英語版Snow Sorenson Video, Spark(英語版VP6 VP9 WMV YULS(英語版) XVC Xvid 可逆圧縮 FFV1(英語版Ut Video Codec Suite 開発停止 Zlib Cinepak Daala Huffyuv Lagarith(英語版RealVideo RMP4 Indeo Microsoft MPEG-4 QuickTimePixlet Animation(英語版) Graphics(英語版Theora Thor VP3 VP7 XEB XVD
音声ファイルフォーマット ISO/IEC MPEG-1 Layer III (MP3) MPEG-1 Layer II Multichannel(英語版) MPEG-1 Layer I(英語版AAC HE-AAC AAC-LD(英語版) MPEG Surround(英語版MPEG-4 ALS MPEG-4 SLS MPEG-4 DST MPEG-4 HILN MPEG-4 HVXC MPEG-4 CELP MPEG-D USAC(英語版) MPEG-H 3D Audio(英語版ITU-T G.711 (A-law, µ-law) G.718 G.719 G.721 G.722 G.722.1 G.722.2 G.723 G.723.1 G.726 G.728 G.729 G.729.1 IETF Opus iLBC Vorbis 3GPP AMR AMR-WB AMR-WB+ EVRC EVRC-B(英語版EVS GSM-HR GSM-FR GSM-EFR ETSI AC-3 AC-4(英語版DTS SAC AVS(英語版) DRA(英語版) その他 ADPCM ALAC Codec 2(英語版FLAC Monkey's Audio OptimFROG(英語版PCM WavPack TAK MQA(英語版) 開発停止 ACELP Asao(英語版ATRAC CELT iSAC(英語版La Musepack MT9(英語版) OSQ(英語版PASC QCELP(英語版RealAudio RCELP RTAudio(英語版SD2 SHN SILK(英語版) Siren(英語版SMV Speex SVOPC(英語版VMR-WB TTA TwinVQ VSELP(英語版WMA Bluetooth SBC (codec)(英語版aptX LDAC LC3
画像ファイルフォーマット IEC, ISO,ITU-T, W3C, IETF CCITT Group 4(英語版GIF HEIF HEVC JBIG JBIG2 JPEG JPEG-LS JPEG 2000 JPEG XR JPEG XS(英語版) JPEG XT(英語版JPEG XL Lossless JPEG PNG TIFF TIFF/EP(英語版) TIFF/IT(英語版) その他 APNG AVIF BPG DjVu DNG EXR FLIF(英語版) ICER(英語版ILBM JPEG Network Graphics MNG PCX PGF(英語版) QTVR(英語版TGA WBMP WebP
マルチメディアコンテナフォーマット ISO/IEC MPEG-ES(英語版) MPEG-PES(英語版) MPEG-PS(英語版MPEG-TS ISO base media file format(英語版MPEG-4 Part 14 (MP4) Motion JPEG 2000 MPEG-21 Part 9 MPEG media transport(英語版ITU-T H.222.0 T.802 IETF RTP Ogg SMPTE GXF(英語版MXF 3GPP 3GP and 3G2(英語版) 3GP 3G2 その他 AMV ASF AIFF AVI AU BPG Bink(英語版) Smacker(英語版BMP DivX Media Format DPX DSM EVO(英語版Flash Video (FLV) IFF M2TS(英語版Matroska WebM QuickTime File Format(英語版) (MOV) RatDVD RealMedia RIFF WAV MOD and TOD(英語版) VOB, IFO and BUP(英語版
団体 NETVC(英語版) MPEG LA(英語版
圧縮技術についてはデータ圧縮を、コーデックについてはデータ圧縮・伸張を行うコーデックを参照