# whisper_cpp v0.2.0 - Table of Contents > Native Elixir bindings for whisper.cpp. Accepts 16 kHz mono f32 PCM and runs on CPU, CUDA, ROCm (hipBLAS), Metal, Vulkan, or CoreML. ## Pages - [whisper_cpp](readme.md) - [Changelog](changelog.md) - [whisper_cpp usage rules](usage-rules.md) ## Modules - [WhisperCpp](WhisperCpp.md): Native Elixir bindings for [whisper.cpp](https://github.com/ggerganov/whisper.cpp). - Result structs - [WhisperCpp.Segment](WhisperCpp.Segment.md): One segment of a whisper.cpp transcription. - [WhisperCpp.Transcription](WhisperCpp.Transcription.md): Result of a `WhisperCpp.transcribe/3` call. - [WhisperCpp.Word](WhisperCpp.Word.md): One word produced by `:word_timestamps`. - Handles - [WhisperCpp.AbortHandle](WhisperCpp.AbortHandle.md): Cooperative cancellation handle for `WhisperCpp.transcribe/3`. - [WhisperCpp.Model](WhisperCpp.Model.md): Loaded whisper.cpp model handle. - Errors - [WhisperCpp.Error](WhisperCpp.Error.md): Structured error returned from `WhisperCpp` calls. - Internal - [WhisperCpp.Native](WhisperCpp.Native.md): Low-level Rustler bindings to whisper.cpp via the `whisper-rs` crate. - [WhisperCpp.Pcm](WhisperCpp.Pcm.md): Helpers for slicing little-endian f32 PCM buffers without re-decoding the source audio.