diff --git a/docs/source/references.rst b/docs/source/references.rst
index aa388c1..4006cb2 100644
--- a/docs/source/references.rst
+++ b/docs/source/references.rst
@@ -36,6 +36,11 @@ iXML
* `Gallery Software iXML Specification `_
+Sampler Metadata
+----------------
+
+* `RecordingBlogs.com — Sample chunk (of a Wave file)`_
+
RIFF Metadata
-------------
* `1991. Multimedia Programming Interface and Data Specifications 1.0 `_
diff --git a/wavinfo/wave_smpl_reader.py b/wavinfo/wave_smpl_reader.py
new file mode 100644
index 0000000..eb09f91
--- /dev/null
+++ b/wavinfo/wave_smpl_reader.py
@@ -0,0 +1,78 @@
+import struct
+
+from enum import IntEnum
+from typing import Tuple, NamedTuple, List
+
+
+class WaveSmplLoop(NamedTuple):
+ ident: int
+ loop_type: int
+ start: int
+ end: int
+ fraction: int
+ repetition_count: int
+
+
+class WaveSmplReader:
+
+ def __init__(self, smpl_data: bytes):
+ """
+ Read sampler metadata from smpl chunk.
+ """
+
+ header_field_fmt = "