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: "Konvertera ljud mellan formaten MP3, WAV, OGG, FLAC och M4A."
i18n_source_hash: fd02c059e6a9
i18n_source_hash: 27fd2f49f472
i18n_provenance: human
i18n_output_hash: a3c8a930904d
---
# Convert Audio {#convert-audio}
Konvertera ljudfiler mellan vanliga format inklusive MP3, WAV, OGG, FLAC och M4A, med konfigurerbar utdatabithastighet.
Konvertera ljudfiler mellan vanliga format inklusive MP3, WAV, OGG, FLAC och M4A, med konfigurerbar utdatabithastighet och samplingsfrekvens.
## API-slutpunkt {#api-endpoint}
@@ -21,6 +21,7 @@ Accepterar multipart-formulärdata med en ljudfil och ett JSON `settings`-fält.
|-----------|------|----------|---------|-------------|
| format | string | Nej | `"mp3"` | Utdataformat: `mp3`, `wav`, `ogg`, `flac`, `m4a` |
| bitrateKbps | integer | Nej | `192` | Utdatabithastighet i kbps (32 till 320) |
| sampleRate | integer | Nej | källans frekvens | Utdatasamplingsfrekvens i Hz: `8000`, `16000`, `22050`, `32000`, `44100`, `48000` eller `96000`. Utelämna för att behålla källans frekvens |
## Exempelförfrågan {#example-request}
@@ -28,7 +29,7 @@ Accepterar multipart-formulärdata med en ljudfil och ett JSON `settings`-fält.
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}'
```
## Exempelsvar {#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 \
- Inmatningsformat som stöds inkluderar MP3, WAV, OGG, FLAC, AAC, M4A, WMA, AIFF och OPUS.
- Bithastighet gäller endast förlustkomprimerade format (MP3, OGG, M4A). Förlustfria format som WAV och FLAC ignorerar den här inställningen.
- MP3-utdata stöder samplingsfrekvenser upp till 48000 Hz. Alternativet 96000 Hz gäller endast WAV, OGG, FLAC och M4A.
- MP3-bithastigheten begränsas av samplingsfrekvensen: högst 64 kbps vid 8000 Hz och 160 kbps vid 16000 eller 22050 Hz. Förfrågningar över gränsen avvisas i stället för att tyst sänkas.
- Utdatafilnamnet behåller det ursprungliga namnet med den nya filändelsen.