modern-audio
Version:
A modern web audio lib
153 lines (121 loc) • 2.77 kB
Markdown
<h1 align="center">Modern Audio</h1>
<p align="center">
<a href="https://github.com/qq15725/modern-audio/blob/master/LICENSE" class="mr-3">
<img src="https://img.shields.io/npm/l/modern-audio.svg" alt="License">
</a>
<a href="https://www.npmjs.com/package/modern-audio">
<img src="https://img.shields.io/npm/v/modern-audio.svg" alt="Version">
</a>
<a href="https://cdn.jsdelivr.net/npm/modern-audio/dist/modern-audio.js">
<img src="https://img.shields.io/bundlephobia/minzip/modern-audio" alt="Minzip">
</a>
</p>
- Adjustment decibel
- Adjustment fade in
- Adjustment fade out
- Adjustment stereo
- Enable noise reduction
- Render bar chart from peaks data
- Render bar chart from peaks time domain data
- Export multiple audio as single wav file
```sh
pnpm add modern-audio
```
```sh
npm i modern-audio
```
```ts
import { createAudio } from 'modern-audio'
const audio = createAudio('./test/assets/audio.mp3')
await audio.load()
audio.set({
db: 1,
pan: 0.1,
// fadeIn: 3,
fadeIn: { at: 0, duration: 3 },
fadeOut: 5,
noiseReduction: true,
playbackRate: 2,
loop: true,
})
// onclick after call
audio.start()
// Pause
// audio.reset()
// Play
// audio.start(0, audio.context.currentTime)
```
```ts
import { createAudio, createOfflineAudioContext, downloadOfflineAudio } from 'modern-audio'
// 10s duration
const context = createOfflineAudioContext(10)
const audio = createAudio('./test/assets/audio.mp3', context)
await audio.load()
audio.set('db', 1)
audio.set('pan', 0.1)
audio.set('fadeIn', 3)
audio.set('fadeOut', 5)
audio.set('noiseReduction', true)
const audio1 = createAudio('./test/assets/audio.mp3', context)
await audio1.load()
audio1.set('db', 0)
audio1.set('pan', 0)
audio1.set('fadeIn', 0)
audio1.set('fadeOut', 0)
audio1.set('noiseReduction', false)
// onclick after call
audio.start()
audio1.start()
downloadOfflineAudio(context)
```
```ts
import { ModernAudio } from 'modern-audio'
ModernAudio.install()
```
html
```html
<audio
is="modern-audio"
src="./test/assets/audio.mp3"
controls
db="1"
pan="0.1"
fade-in="3"
fade-out="5"
noise-reduction
></audio>
```
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>modern-audio</title>
<script src="https://cdn.jsdelivr.net/npm/modern-audio/dist/modern-audio.js"></script>
<script>
window['modern-audio'].ModernAudio.install()
</script>
</head>
<body>
<audio
is="modern-audio"
src="./test/assets/audio.mp3"
controls
db="1"
pan="0.1"
fade-in="3"
fade-out="5"
noise-reduction
></audio>
</body>
</html>
```