Spaces:
Running
Running
Commit ·
06c91a9
1
Parent(s): f1bb4a2
Rename Voice Clone to Voice Generation
Browse files- index.html +7 -7
index.html
CHANGED
|
@@ -869,7 +869,7 @@ pre {
|
|
| 869 |
<div class="sidebar-label">Create</div>
|
| 870 |
<button class="nav-item active" data-page="synthesis" onclick="showPage('synthesis', this)">
|
| 871 |
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><line x1="12" y1="19" x2="12" y2="22"/></svg>
|
| 872 |
-
Voice
|
| 873 |
</button>
|
| 874 |
<button class="nav-item" data-page="design" onclick="showPage('design', this)">
|
| 875 |
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>
|
|
@@ -1334,7 +1334,7 @@ pre {
|
|
| 1334 |
<div class="page" id="page-voices">
|
| 1335 |
<div class="page-header">
|
| 1336 |
<div class="page-title">Voice Library</div>
|
| 1337 |
-
<div class="page-desc">Preset speakers and your custom cloned voices. Select one to use in Voice
|
| 1338 |
</div>
|
| 1339 |
|
| 1340 |
<div class="preset-section-title">Your Voices</div>
|
|
@@ -1415,7 +1415,7 @@ pre {
|
|
| 1415 |
</div>
|
| 1416 |
<div style="margin-bottom:14px">
|
| 1417 |
<select class="lang-select" id="api-feature" style="padding:8px 12px;font-size:13px;width:100%;max-width:380px">
|
| 1418 |
-
<option value="synthesis">Voice
|
| 1419 |
<option value="design">Voice Design — Qwen3-TTS</option>
|
| 1420 |
<option value="changer">Voice Changer — Seed-VC</option>
|
| 1421 |
<option value="isolate">Voice Cleaner — Resemble Enhance</option>
|
|
@@ -2511,7 +2511,7 @@ window.copyCode = function(btn) {
|
|
| 2511 |
|
| 2512 |
const API_SNIPPETS = {
|
| 2513 |
synthesis: {
|
| 2514 |
-
javascript: `// Voice
|
| 2515 |
// Auth: set TOKEN to your HF token from https://huggingface.co/settings/tokens
|
| 2516 |
const TOKEN = process.env.HF_TOKEN;
|
| 2517 |
const BASE = "https://k2-fsa-omnivoice.hf.space/gradio_api";
|
|
@@ -2540,7 +2540,7 @@ await fetch(\`\${BASE}/queue/join\`, {
|
|
| 2540 |
// 3. Stream SSE result
|
| 2541 |
const r = await fetch(\`\${BASE}/queue/data?session_hash=\${SESSION}\`,
|
| 2542 |
{ headers: { Authorization: \`Bearer \${TOKEN}\` } });`,
|
| 2543 |
-
python: `# Voice
|
| 2544 |
# Auth: run \`huggingface-cli login\` or set HF_TOKEN env var
|
| 2545 |
from gradio_client import Client, handle_file
|
| 2546 |
|
|
@@ -2555,7 +2555,7 @@ audio_path, status = client.predict(
|
|
| 2555 |
api_name="/_clone_fn",
|
| 2556 |
)
|
| 2557 |
print(audio_path)`,
|
| 2558 |
-
curl: `# Voice
|
| 2559 |
# Auth: get a token at https://huggingface.co/settings/tokens
|
| 2560 |
export HF_TOKEN=hf_xxx
|
| 2561 |
BASE=https://k2-fsa-omnivoice.hf.space/gradio_api
|
|
@@ -2995,7 +2995,7 @@ async function renderVcTargetLibrary() {
|
|
| 2995 |
</div>
|
| 2996 |
</div>`).join("");
|
| 2997 |
|
| 2998 |
-
list.innerHTML = userHtml + presetHtml || `<div class="lib-empty">No voices yet — add one in Voice
|
| 2999 |
}
|
| 3000 |
|
| 3001 |
function markVcTargetSelected(id) {
|
|
|
|
| 869 |
<div class="sidebar-label">Create</div>
|
| 870 |
<button class="nav-item active" data-page="synthesis" onclick="showPage('synthesis', this)">
|
| 871 |
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><line x1="12" y1="19" x2="12" y2="22"/></svg>
|
| 872 |
+
Voice Generation
|
| 873 |
</button>
|
| 874 |
<button class="nav-item" data-page="design" onclick="showPage('design', this)">
|
| 875 |
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>
|
|
|
|
| 1334 |
<div class="page" id="page-voices">
|
| 1335 |
<div class="page-header">
|
| 1336 |
<div class="page-title">Voice Library</div>
|
| 1337 |
+
<div class="page-desc">Preset speakers and your custom cloned voices. Select one to use in Voice Generation.</div>
|
| 1338 |
</div>
|
| 1339 |
|
| 1340 |
<div class="preset-section-title">Your Voices</div>
|
|
|
|
| 1415 |
</div>
|
| 1416 |
<div style="margin-bottom:14px">
|
| 1417 |
<select class="lang-select" id="api-feature" style="padding:8px 12px;font-size:13px;width:100%;max-width:380px">
|
| 1418 |
+
<option value="synthesis">Voice Generation — OmniVoice</option>
|
| 1419 |
<option value="design">Voice Design — Qwen3-TTS</option>
|
| 1420 |
<option value="changer">Voice Changer — Seed-VC</option>
|
| 1421 |
<option value="isolate">Voice Cleaner — Resemble Enhance</option>
|
|
|
|
| 2511 |
|
| 2512 |
const API_SNIPPETS = {
|
| 2513 |
synthesis: {
|
| 2514 |
+
javascript: `// Voice Generation — k2-fsa/OmniVoice
|
| 2515 |
// Auth: set TOKEN to your HF token from https://huggingface.co/settings/tokens
|
| 2516 |
const TOKEN = process.env.HF_TOKEN;
|
| 2517 |
const BASE = "https://k2-fsa-omnivoice.hf.space/gradio_api";
|
|
|
|
| 2540 |
// 3. Stream SSE result
|
| 2541 |
const r = await fetch(\`\${BASE}/queue/data?session_hash=\${SESSION}\`,
|
| 2542 |
{ headers: { Authorization: \`Bearer \${TOKEN}\` } });`,
|
| 2543 |
+
python: `# Voice Generation — k2-fsa/OmniVoice
|
| 2544 |
# Auth: run \`huggingface-cli login\` or set HF_TOKEN env var
|
| 2545 |
from gradio_client import Client, handle_file
|
| 2546 |
|
|
|
|
| 2555 |
api_name="/_clone_fn",
|
| 2556 |
)
|
| 2557 |
print(audio_path)`,
|
| 2558 |
+
curl: `# Voice Generation — k2-fsa/OmniVoice
|
| 2559 |
# Auth: get a token at https://huggingface.co/settings/tokens
|
| 2560 |
export HF_TOKEN=hf_xxx
|
| 2561 |
BASE=https://k2-fsa-omnivoice.hf.space/gradio_api
|
|
|
|
| 2995 |
</div>
|
| 2996 |
</div>`).join("");
|
| 2997 |
|
| 2998 |
+
list.innerHTML = userHtml + presetHtml || `<div class="lib-empty">No voices yet — add one in Voice Generation or Voice Design.</div>`;
|
| 2999 |
}
|
| 3000 |
|
| 3001 |
function markVcTargetSelected(id) {
|