@tw2gem/audio-converter
Version:
TypeScript utilities to convert audio formats (e.g., PCM, mu-law) and resample audio for real-time streaming with Twilio or AI models.
50 lines (33 loc) • 1.36 kB
Markdown
# Audio Converter
A package for handling audio format conversion and processing in the TW2GEM project.
## Features
- Audio format conversion between μ-law and PCM
- Sample rate conversion (8kHz to 16kHz, 24kHz to 8kHz)
- Base64 encoding/decoding support
- Audio quality optimization
## Installation
```bash
npm install @tw2gem/audio-converter
```
## Usage
```typescript
import { AudioConverter } from '@tw2gem/audio-converter';
// Convert μ-law audio to PCM 16kHz
const pcmBase64 = AudioConverter.convertBase64MuLawToBase64PCM16k(muLawBase64);
// Convert PCM 24kHz to μ-law 8kHz
const muLawBase64 = AudioConverter.convertBase64PCM24kToBase64MuLaw8k(pcmBase64);
```
## API Reference
### AudioConverter
Static class for handling audio conversions.
#### Methods
- `static convertBase64MuLawToBase64PCM16k(base64: string): string`
- Converts μ-law encoded audio at 8kHz to PCM encoded audio at 16kHz
- Input: Base64 string of μ-law audio
- Output: Base64 string of PCM audio
- `static convertBase64PCM24kToBase64MuLaw8k(base64: string): string`
- Converts PCM encoded audio at 24kHz to μ-law encoded audio at 8kHz
- Input: Base64 string of PCM audio
- Output: Base64 string of μ-law audio
## License
This package is licensed under the MIT License - see the LICENSE file for details.