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: "تحويل الصوت بين تنسيقات MP3 وWAV وOGG وFLAC وM4A."
i18n_source_hash: fd02c059e6a9
i18n_source_hash: 27fd2f49f472
i18n_provenance: human
i18n_output_hash: 37d17dd79052
---
# تحويل الصوت {#convert-audio}
حوّل ملفات الصوت بين التنسيقات الشائعة بما فيها MP3 وWAV وOGG وFLAC وM4A، مع معدل بت إخراج قابل للتكوين.
حوّل ملفات الصوت بين التنسيقات الشائعة بما فيها MP3 وWAV وOGG وFLAC وM4A، مع معدل بت إخراج ومعدل أخذ عينات قابلين للتكوين.
## نقطة نهاية API {#api-endpoint}
@@ -21,6 +21,7 @@ i18n_output_hash: 37d17dd79052
|-----------|------|----------|---------|-------------|
| format | string | لا | `"mp3"` | تنسيق الإخراج: `mp3`، `wav`، `ogg`، `flac`، `m4a` |
| bitrateKbps | integer | لا | `192` | معدل البت للإخراج بالكيلوبت في الثانية (32 إلى 320) |
| sampleRate | integer | لا | معدل المصدر | معدل أخذ العينات للإخراج بوحدة Hz: `8000`، `16000`، `22050`، `32000`، `44100`، `48000`، أو `96000`. أغفله للاحتفاظ بمعدل المصدر |
## مثال طلب {#example-request}
@@ -28,7 +29,7 @@ i18n_output_hash: 37d17dd79052
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}'
```
## مثال استجابة {#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 \
- تشمل تنسيقات الإدخال المدعومة MP3 وWAV وOGG وFLAC وAAC وM4A وWMA وAIFF وOPUS.
- ينطبق معدل البت فقط على التنسيقات ذات الفقد (MP3 وOGG وM4A). التنسيقات عديمة الفقد مثل WAV وFLAC تتجاهل هذا الإعداد.
- يدعم إخراج MP3 معدلات أخذ عينات تصل إلى 48000 Hz. ينطبق خيار 96000 Hz على WAV وOGG وFLAC وM4A فقط.
- يتقيّد معدل البت في MP3 بمعدل أخذ العينات: بحد أقصى 64 kbps عند 8000 Hz و160 kbps عند 16000 أو 22050 Hz. تُرفض الطلبات التي تتجاوز الحد بدلاً من خفضها بصمت.
- يبقي اسم ملف الإخراج الاسم الأصلي مع الامتداد الجديد.