API Introduction
Note:
@siteed/expo-audio-studio
requires using an ejected Expo project (bare workflow). See the Installation section for details.
This section provides detailed information about the various types, interfaces, and functions provided by the @siteed/expo-audio-studio
library.
Overview
The API is divided into the following main categories:
Recording and Playback
- RecordingConfig: Configuration options for recording audio.
- useAudioRecorder: Hook for recording audio with configurable quality settings, including:
- startRecording: Begins audio capture with the specified configuration.
- stopRecording: Ends the current recording and returns the result.
- pauseRecording: Temporarily stops audio capture without ending the recording.
- resumeRecording: Continues a paused recording.
- prepareRecording: Pre-initializes recording resources for zero-latency startup.
- AudioRecorderProvider: Context provider for sharing recording state across components.
- useSharedAudioRecorder: Hook to access shared recording state from any component.
Audio Device Management
- Audio Devices: API for audio device detection and selection.
- useAudioDevices: Hook for accessing and managing audio input devices.
- AudioDeviceSelector: Component for selecting audio input devices.
- audioDeviceManager: Singleton for direct device management.
Events
- AudioDataEvent: Event data for audio streams.
Recording Results
- AudioRecording: Result data from a completed audio recording.
Audio Analysis
- Audio Analysis Overview: Overview of audio analysis capabilities.
- AudioAnalysis: Detailed analysis of recorded audio.
- extractAudioAnalysis: Extract comprehensive audio features for detailed analysis.
- extractPreview: Generate lightweight waveform data for visualization.
- extractAudioData: Extract raw PCM data for custom processing.
- extractRawWavAnalysis: Analyze WAV files without decoding, preserving original PCM values.
Specialized Audio Processing
- extractMelSpectrogram: Generate mel spectrogram for audio visualization or ML models.
- trimAudio: Trim audio files with precision, supporting multiple segments and formats.
Utility Functions
- convertPCMToFloat32: Convert PCM data to Float32Array for processing.
- getWavFileInfo: Extract metadata from WAV files.
- writeWavHeader: Create WAV headers for raw PCM data.
Click on the links above to navigate to detailed documentation for each component and type. For practical examples, see the Audio Analysis Example.
Key Features
- Zero-latency recording with
prepareRecording
for eliminating startup delay in time-critical applications - Comprehensive audio analysis with support for various audio features extraction
- Cross-platform support with consistent API across iOS, Android, and web
UI Components
For ready-to-use UI components, check out the @siteed/expo-audio-ui package, which provides waveform visualizers, recording controls, and more.