akhaliq HF Staff commited on
Commit
0fb15b9
·
verified ·
1 Parent(s): 196f698

Upload index.html with huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +73 -20
index.html CHANGED
@@ -1,29 +1,82 @@
1
  <!DOCTYPE html>
2
  <html lang="en">
3
-
4
  <head>
5
- <meta charset="UTF-8" />
6
- <link rel="stylesheet" href="style.css" />
7
-
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
- <title>Transformers.js - Object Detection</title>
 
 
 
 
 
 
 
 
 
 
10
  </head>
11
-
12
  <body>
13
- <h1>Object Detection w/ 🤗 Transformers.js</h1>
14
- <label id="container" for="upload">
15
- <svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
16
- <path fill="#000"
17
- d="M3.5 24.3a3 3 0 0 1-1.9-.8c-.5-.5-.8-1.2-.8-1.9V2.9c0-.7.3-1.3.8-1.9.6-.5 1.2-.7 2-.7h18.6c.7 0 1.3.2 1.9.7.5.6.7 1.2.7 2v18.6c0 .7-.2 1.4-.7 1.9a3 3 0 0 1-2 .8H3.6Zm0-2.7h18.7V2.9H3.5v18.7Zm2.7-2.7h13.3c.3 0 .5 0 .6-.3v-.7l-3.7-5a.6.6 0 0 0-.6-.2c-.2 0-.4 0-.5.3l-3.5 4.6-2.4-3.3a.6.6 0 0 0-.6-.3c-.2 0-.4.1-.5.3l-2.7 3.6c-.1.2-.2.4 0 .7.1.2.3.3.6.3Z">
18
- </path>
19
- </svg>
20
- Click to upload image
21
- <label id="example">(or try example)</label>
22
- </label>
23
- <label id="status">Loading model...</label>
24
- <input id="upload" type="file" accept="image/*" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
  <script src="index.js" type="module"></script>
27
  </body>
28
-
29
  </html>
 
1
  <!DOCTYPE html>
2
  <html lang="en">
 
3
  <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Supertonic TTS - Transformers.js</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <!-- Import Transformers.js -->
9
+ <script type="module">
10
+ import { pipeline, env } from 'https://cdn.jsdelivr.net/npm/@huggingface/transformers@3.8.0';
11
+
12
+ // Make available globally for the main script
13
+ window.pipeline = pipeline;
14
+ window.env = env;
15
+
16
+ // Skip local model checks since we are running in browser
17
+ env.allowLocalModels = false;
18
+ </script>
19
  </head>
 
20
  <body>
21
+ <header>
22
+ <div class="header-content">
23
+ <h1>Supertonic TTS</h1>
24
+ <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank" class="built-with">Built with anycoder</a>
25
+ </div>
26
+ </header>
27
+
28
+ <main>
29
+ <div class="container">
30
+ <div class="card input-section">
31
+ <div class="controls-top">
32
+ <div class="select-group">
33
+ <label for="voice-select">Voice Persona</label>
34
+ <select id="voice-select">
35
+ <option value="F1.bin">Female 1 (American)</option>
36
+ <option value="F2.bin">Female 2 (British)</option>
37
+ <option value="F3.bin">Female 3</option>
38
+ <option value="M1.bin">Male 1 (American)</option>
39
+ <option value="M2.bin">Male 2 (British)</option>
40
+ <option value="M3.bin">Male 3</option>
41
+ </select>
42
+ </div>
43
+
44
+ <div class="toggle-group">
45
+ <label class="switch">
46
+ <input type="checkbox" id="gpu-toggle">
47
+ <span class="slider round"></span>
48
+ </label>
49
+ <span id="device-label">Run on CPU</span>
50
+ </div>
51
+ </div>
52
+
53
+ <div class="text-area-wrapper">
54
+ <textarea id="input-text" placeholder="Type something here to generate speech...">This is really cool! The browser is generating this audio entirely on your device.</textarea>
55
+ <div class="char-count">0 / 500</div>
56
+ </div>
57
+
58
+ <button id="generate-btn">Generate Speech</button>
59
+
60
+ <div id="status-container" class="hidden">
61
+ <div class="status-text" id="status-text">Loading model...</div>
62
+ <div class="progress-bar-bg">
63
+ <div class="progress-bar-fill" id="progress-bar"></div>
64
+ </div>
65
+ </div>
66
+
67
+ <div id="error-msg" class="error-msg hidden"></div>
68
+ </div>
69
+
70
+ <div class="card output-section hidden" id="output-card">
71
+ <h2>Generated Audio</h2>
72
+ <div class="audio-player-wrapper">
73
+ <audio id="audio-player" controls></audio>
74
+ </div>
75
+ <a id="download-link" class="download-btn" download="speech.wav">Download WAV</a>
76
+ </div>
77
+ </div>
78
+ </main>
79
 
80
  <script src="index.js" type="module"></script>
81
  </body>
 
82
  </html>