---
title: ShazamKit
framework: ShazamKit
role: collection
role_heading: Framework
platforms: [iOS 15.0+, iPadOS 15.0+, Mac Catalyst 15.0+, macOS 12.0+, tvOS 15.0+, visionOS 1.0+, watchOS 8.0+]
path: shazamkit
---

# ShazamKit

Find information about a specific audio recording when a segment of it’s part of captured sound in the Shazam catalog or your custom catalog.

## Overview

Overview ShazamKit uses the unique acoustic signature of an audio recording to find a match. This signature captures the time-frequency distribution of the audio signal energy, and is much smaller than the original audio. It’s also a one-way conversion, so it’s not possible to convert the signature back to the recording. ShazamKit generates a reference signature for each searchable full audio recording. A catalog stores the reference signatures and their associated metadata, or media items. Searching for a match compares a query signature, which ShazamKit generates for captured audio, with the reference signatures in the catalog. Matches occur when the query signature sufficiently matches a part of a reference signature. Matches can occur even when the captured audio is noisy, such as with a partial recording of background music playing in a restaurant. The figure below illustrates matching a query signature with the reference signature in the catalog. The information for a match includes the timecode in the reference recording that matches the start of the query.

For example, the Shazam app converts the sound stream from a device’s microphone into a query signature and searches for a match in the Shazam music catalog. The match includes the metadata for the reference signature, such as the song title, artist name, and other details. You can create a custom catalog with your own reference signatures and their associated metadata. For example, the catalog for a virtual learning app might contain reference signatures for teaching videos, and the associated metadata that includes the timecodes for questions. Using ShazamKit, the app identifies the current question by the timecode for the match, and can offer choices for a possible answer. If the student skips forward or backward in the video, the app updates according to the sound of what the student is watching.

## Topics

### Match audio

- [SHSession](shazamkit/shsession.md)
- [SHManagedSession](shazamkit/shmanagedsession.md)
- [SHSessionDelegate](shazamkit/shsessiondelegate.md)
- [SHMatch](shazamkit/shmatch.md)
- [SHMatchedMediaItem](shazamkit/shmatchedmediaitem.md)
- [SHMediaItem](shazamkit/shmediaitem.md)

### Create a signature from audio

- [SHSignature](shazamkit/shsignature.md)
- [SHSignatureGenerator](shazamkit/shsignaturegenerator.md)

### Create a custom audio catalog

- [Building a Custom Catalog and Matching Audio](shazamkit/building-a-custom-catalog-and-matching-audio.md)
- [ShazamKit Dance Finder with Managed Session](shazamkit/shazamkit-dance-finder-with-managed-session.md)
- [SHCustomCatalog](shazamkit/shcustomcatalog.md)
- [SHCatalog](shazamkit/shcatalog.md)

### Update the user’s Shazam library

- [SHLibrary](shazamkit/shlibrary.md)
- [SHMediaLibrary](shazamkit/shmedialibrary.md)

### Shazam errors

- [SHError](shazamkit/sherror.md)

### Reference

- [ShazamKit Enumerations](shazamkit/shazamkit-enumerations.md)
- [ShazamKit Constants](shazamkit/shazamkit-constants.md)
