fix(audio): expose sample rate setting in Convert Audio (#561)

The Convert Audio tool promised configurable bitrate, sample rate, and channel count, but only format and bitrate were exposed. Adds an optional sampleRate setting (8000 to 96000 Hz, omitted = preserve source) wired through the Zod schema, the FFmpeg -ar flag, the standalone settings panel, and the pipeline builder controls.

Impossible combinations fail loudly instead of degrading silently: MP3 + 96000 Hz is rejected (libmp3lame caps at 48 kHz), and MP3 bitrates above the encoder ceiling at low rates (64 kbps at 8 kHz, 160 kbps at 16/22.05 kHz) are rejected rather than clamped. The UI offers only legal combinations and sanitizes stored pipeline settings on load.

Docs updated in English plus all 20 localized pages with refreshed i18n_source_hash stamps; two new UI strings added to all 21 locales.

Fixes #558
This commit is contained in:
SnapOtter
2026-07-18 10:14:50 +08:00
committed by GitHub
parent 6ecc598fc4
commit d4eaa655b2
47 changed files with 541 additions and 133 deletions
+8 -5
View File
@@ -1,13 +1,13 @@
---
description: "Converteer audio tussen de formaten MP3, WAV, OGG, FLAC en M4A."
i18n_source_hash: fd02c059e6a9
i18n_source_hash: 27fd2f49f472
i18n_provenance: human
i18n_output_hash: 3a933cf08d88
---
# Convert Audio {#convert-audio}
Converteer audiobestanden tussen gangbare formaten waaronder MP3, WAV, OGG, FLAC en M4A, met configureerbare uitvoerbitrate.
Converteer audiobestanden tussen gangbare formaten waaronder MP3, WAV, OGG, FLAC en M4A, met configureerbare uitvoerbitrate en samplefrequentie.
## API-endpoint {#api-endpoint}
@@ -21,6 +21,7 @@ Accepteert multipart-formuliergegevens met een audiobestand en een JSON `setting
|-----------|------|----------|---------|-------------|
| format | string | Nee | `"mp3"` | Uitvoerformaat: `mp3`, `wav`, `ogg`, `flac`, `m4a` |
| bitrateKbps | integer | Nee | `192` | Uitvoerbitrate in kbps (32 tot 320) |
| sampleRate | integer | Nee | bronfrequentie | Uitvoersamplefrequentie in Hz: `8000`, `16000`, `22050`, `32000`, `44100`, `48000` of `96000`. Laat weg om de samplefrequentie van de bron te behouden |
## Voorbeeldverzoek {#example-request}
@@ -28,7 +29,7 @@ Accepteert multipart-formuliergegevens met een audiobestand en een JSON `setting
curl -X POST http://localhost:1349/api/v1/tools/audio/convert-audio \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"format": "flac", "bitrateKbps": 256}'
-F 'settings={"format": "mp3", "bitrateKbps": 192, "sampleRate": 44100}'
```
## Voorbeeldrespons {#example-response}
@@ -36,9 +37,9 @@ curl -X POST http://localhost:1349/api/v1/tools/audio/convert-audio \
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.flac",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio.mp3",
"originalSize": 4500000,
"processedSize": 8200000
"processedSize": 2800000
}
```
@@ -46,4 +47,6 @@ curl -X POST http://localhost:1349/api/v1/tools/audio/convert-audio \
- Ondersteunde invoerformaten zijn onder meer MP3, WAV, OGG, FLAC, AAC, M4A, WMA, AIFF en OPUS.
- Bitrate is alleen van toepassing op lossy-formaten (MP3, OGG, M4A). Lossless-formaten zoals WAV en FLAC negeren deze instelling.
- MP3-uitvoer ondersteunt samplefrequenties tot 48000 Hz. De optie 96000 Hz is alleen van toepassing op WAV, OGG, FLAC en M4A.
- De MP3-bitrate wordt begrensd door de samplefrequentie: maximaal 64 kbps bij 8000 Hz en 160 kbps bij 16000 of 22050 Hz. Verzoeken boven deze limiet worden geweigerd in plaats van stilzwijgend verlaagd.
- De uitvoerbestandsnaam behoudt de oorspronkelijke naam met de nieuwe extensie.