luis5463 commited on
Commit
18bb44b
·
verified ·
1 Parent(s): 6186ba0

create for me a AI clone voice

Browse files
Files changed (2) hide show
  1. README.md +8 -5
  2. index.html +192 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Voicecloneai Your Digital Doppelg Nger
3
- emoji: 🏆
4
- colorFrom: gray
5
- colorTo: gray
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: VoiceCloneAI - Your Digital Doppelgänger 🎤
3
+ colorFrom: green
4
+ colorTo: pink
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://deepsite.hf.co).
index.html CHANGED
@@ -1,19 +1,193 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </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>VoiceCloneAI - Your Digital Doppelgänger</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
9
+ <script src="https://unpkg.com/feather-icons"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.waves.min.js"></script>
11
+ <style>
12
+ .wave-bg {
13
+ position: fixed;
14
+ top: 0;
15
+ left: 0;
16
+ width: 100%;
17
+ height: 100%;
18
+ z-index: -1;
19
+ }
20
+ .recording {
21
+ animation: pulse 1.5s infinite;
22
+ }
23
+ @keyframes pulse {
24
+ 0% { box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.4); }
25
+ 70% { box-shadow: 0 0 0 15px rgba(99, 102, 241, 0); }
26
+ 100% { box-shadow: 0 0 0 0 rgba(99, 102, 241, 0); }
27
+ }
28
+ </style>
29
+ </head>
30
+ <body class="bg-gray-50">
31
+ <div id="wave-bg" class="wave-bg"></div>
32
+
33
+ <div class="min-h-screen flex flex-col items-center justify-center px-4">
34
+ <header class="w-full max-w-4xl mx-auto py-8">
35
+ <div class="flex flex-col items-center">
36
+ <i data-feather="mic" class="w-16 h-16 text-indigo-500 mb-4"></i>
37
+ <h1 class="text-4xl font-bold text-gray-800 mb-2">VoiceCloneAI</h1>
38
+ <p class="text-lg text-gray-600">Create your perfect digital voice clone</p>
39
+ </div>
40
+ </header>
41
+
42
+ <main class="w-full max-w-4xl bg-white rounded-xl shadow-lg p-8 mb-8">
43
+ <div class="grid md:grid-cols-2 gap-8">
44
+ <div class="space-y-6">
45
+ <h2 class="text-2xl font-semibold text-gray-800">Record Your Voice</h2>
46
+ <p class="text-gray-600">Speak naturally for 30 seconds to train our AI model</p>
47
+
48
+ <div class="flex flex-col items-center space-y-4">
49
+ <div class="relative">
50
+ <div id="recordBtn" class="w-24 h-24 rounded-full bg-indigo-500 flex items-center justify-center cursor-pointer hover:bg-indigo-600 transition">
51
+ <i data-feather="mic" class="w-10 h-10 text-white"></i>
52
+ </div>
53
+ <div class="absolute -bottom-6 left-0 right-0 text-center text-sm text-gray-500" id="recordingStatus">Click to record</div>
54
+ </div>
55
+
56
+ <div class="w-full h-4 bg-gray-200 rounded-full overflow-hidden">
57
+ <div id="soundWave" class="h-full bg-indigo-400 rounded-full w-0"></div>
58
+ </div>
59
+ </div>
60
+
61
+ <div class="flex items-center space-x-2 text-gray-500">
62
+ <i data-feather="info" class="w-4 h-4"></i>
63
+ <span class="text-sm">Find a quiet place and speak naturally</span>
64
+ </div>
65
+ </div>
66
+
67
+ <div class="space-y-6">
68
+ <h2 class="text-2xl font-semibold text-gray-800">Your Voice Clone</h2>
69
+ <p class="text-gray-600">Preview your AI-generated voice</p>
70
+
71
+ <div class="bg-gray-100 rounded-lg p-6 min-h-40 flex items-center justify-center">
72
+ <div id="voicePreview" class="text-center text-gray-500">
73
+ <i data-feather="play" class="w-8 h-8 mx-auto mb-2"></i>
74
+ <p>Your voice clone will appear here</p>
75
+ </div>
76
+ </div>
77
+
78
+ <div class="flex space-x-4">
79
+ <button class="px-6 py-3 bg-indigo-500 text-white rounded-lg hover:bg-indigo-600 transition flex items-center space-x-2">
80
+ <i data-feather="play" class="w-4 h-4"></i>
81
+ <span>Play Sample</span>
82
+ </button>
83
+ <button class="px-6 py-3 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition flex items-center space-x-2">
84
+ <i data-feather="download" class="w-4 h-4"></i>
85
+ <span>Export</span>
86
+ </button>
87
+ </div>
88
+ </div>
89
+ </div>
90
+ </main>
91
+
92
+ <section class="w-full max-w-4xl bg-white rounded-xl shadow-lg p-8 mb-8">
93
+ <h2 class="text-2xl font-semibold text-gray-800 mb-6">How It Works</h2>
94
+ <div class="grid md:grid-cols-3 gap-6">
95
+ <div class="bg-gray-50 p-6 rounded-lg">
96
+ <div class="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-4">
97
+ <i data-feather="mic" class="text-indigo-500"></i>
98
+ </div>
99
+ <h3 class="font-medium text-lg mb-2 text-gray-800">1. Record</h3>
100
+ <p class="text-gray-600">Record your voice speaking naturally for 30 seconds</p>
101
+ </div>
102
+ <div class="bg-gray-50 p-6 rounded-lg">
103
+ <div class="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-4">
104
+ <i data-feather="cpu" class="text-indigo-500"></i>
105
+ </div>
106
+ <h3 class="font-medium text-lg mb-2 text-gray-800">2. Process</h3>
107
+ <p class="text-gray-600">Our AI analyzes your voice patterns and characteristics</p>
108
+ </div>
109
+ <div class="bg-gray-50 p-6 rounded-lg">
110
+ <div class="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-4">
111
+ <i data-feather="volume-2" class="text-indigo-500"></i>
112
+ </div>
113
+ <h3 class="font-medium text-lg mb-2 text-gray-800">3. Clone</h3>
114
+ <p class="text-gray-600">Generate a perfect digital clone of your voice</p>
115
+ </div>
116
+ </div>
117
+ </section>
118
+
119
+ <footer class="w-full max-w-4xl py-6 text-center text-gray-500 text-sm">
120
+ <p>© 2023 VoiceCloneAI - Your Digital Doppelgänger</p>
121
+ </footer>
122
+ </div>
123
+
124
+ <script>
125
+ feather.replace();
126
+
127
+ // Initialize Vanta.js waves background
128
+ VANTA.WAVES({
129
+ el: "#wave-bg",
130
+ color: 0x6366f1,
131
+ waveHeight: 20,
132
+ shininess: 50,
133
+ waveSpeed: 0.5,
134
+ zoom: 0.8
135
+ });
136
+
137
+ // Recording simulation
138
+ const recordBtn = document.getElementById('recordBtn');
139
+ const recordingStatus = document.getElementById('recordingStatus');
140
+ const soundWave = document.getElementById('soundWave');
141
+
142
+ let isRecording = false;
143
+ let progress = 0;
144
+ let interval;
145
+
146
+ recordBtn.addEventListener('click', () => {
147
+ isRecording = !isRecording;
148
+
149
+ if (isRecording) {
150
+ recordBtn.classList.add('recording');
151
+ recordingStatus.textContent = 'Recording...';
152
+
153
+ // Simulate sound wave animation
154
+ interval = setInterval(() => {
155
+ progress += 0.5;
156
+ if (progress > 100) progress = 0;
157
+ soundWave.style.width = `${progress}%`;
158
+ }, 50);
159
+
160
+ // After 5 seconds, stop recording
161
+ setTimeout(() => {
162
+ stopRecording();
163
+ updateVoicePreview();
164
+ }, 5000);
165
+ } else {
166
+ stopRecording();
167
+ }
168
+ });
169
+
170
+ function stopRecording() {
171
+ isRecording = false;
172
+ recordBtn.classList.remove('recording');
173
+ recordingStatus.textContent = 'Click to record';
174
+ clearInterval(interval);
175
+ soundWave.style.width = '0%';
176
+ }
177
+
178
+ function updateVoicePreview() {
179
+ const voicePreview = document.getElementById('voicePreview');
180
+ voicePreview.innerHTML = `
181
+ <div class="animate-pulse flex items-center justify-center">
182
+ <div class="w-12 h-12 bg-indigo-100 rounded-full flex items-center justify-center">
183
+ <i data-feather="check" class="text-indigo-500"></i>
184
+ </div>
185
+ </div>
186
+ <p class="mt-4 text-indigo-500 font-medium">Voice clone ready!</p>
187
+ <p class="text-sm text-gray-500 mt-1">Click play to hear your digital voice</p>
188
+ `;
189
+ feather.replace();
190
+ }
191
+ </script>
192
+ </body>
193
  </html>