Spaces:
Running
Running
File size: 3,271 Bytes
3ce6dc6 d3f22a2 3ce6dc6 daf5d92 3ce6dc6 a7f56c1 d3f22a2 3ce6dc6 b6b02d5 104a977 4a5ed96 b6b02d5 a723726 b6b02d5 d3f22a2 4d53cd1 2cb1592 b6b02d5 d3f22a2 b6b02d5 d3f22a2 b6b02d5 d3f22a2 b6b02d5 d3f22a2 19abe1c b6b02d5 d3f22a2 b6b02d5 d3f22a2 19abe1c b6b02d5 d3f22a2 b6b02d5 d3f22a2 19abe1c b6b02d5 d3f22a2 b6b02d5 d3f22a2 3ff1634 70ee0db 3ff1634 2a650fb 70ee0db 4a5ed96 70ee0db 6dd46b2 70ee0db 6dd46b2 70ee0db 6dd46b2 70ee0db 6dd46b2 70ee0db 3ce6dc6 d3f22a2 70ee0db |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
<!DOCTYPE html>
<html>
<head>
<title>Fast TTS</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/static/styles.css"> <!-- Link to your external CSS file -->
<!-- Add any CSS links or styles here -->
</head>
<body>
<form method="post" action="/" onsubmit="showLoadingMessage()">
<div>
<label for="text_input">Text to synthesize:</label>
<input type="text" id="text_input" name="text_input" value="1, 2, 3. Enter your text here">
</div>
<div>
<label for="selection">Select speaker:</label>
<select id="speaker" name="speaker">
{% for option in data.speaker_options %}
<option {% if option == data.default_speaker %}selected{% endif %}>{{ option }}</option>
{% endfor %}
</select>
</div>
<div id="speaker_selection" style="display: none;">
<!-- Dropdown for speaker selection -->
</div>
<div>
<label for="speed_slider">Rate scale:</label>
<input type="range" id="speed_slider" name="speed_slider" min="0.25" max="2" step="0.1" value="1">
</div>
<div>
<label for="noise_scale_slider">Phoneme noise scale:</label>
<input type="range" id="noise_scale_slider" name="noise_scale_slider" min="0.25" max="1" step="0.1" value="0.667">
</div>
<div>
<label for="noise_scale_w_slider">Phoneme stressing scale:</label>
<input type="range" id="noise_scale_w_slider" name="noise_scale_w_slider" min="0.25" max="1" step="0.1" value="1">
</div>
<div>
<label for="play">Auto-play:</label>
<input type="checkbox" id="play" checked>
</div>
<div>
<button type="submit" id="synthesize_button">Synthesize</button>
</div>
{% if file_url %}
<h2>Generated Audio</h2>
<audio controls id="audio-player">
<source src="{{ file_url }}" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<a href="{{ file_url }}" download>Download Audio</a>
{% endif %}
</form>
<script>
function showLoadingMessage() {
// Display the loading message
document.getElementById("loading-message").innerText = "Generating your audio, please wait...";
// Optionally, you can disable the form elements to prevent further interactions while waiting
document.getElementById("synthesize_button").disabled = true;
}
</script>
<!-- Move the JavaScript code outside the conditional block -->
<script>
const playCheckbox = document.getElementById("play");
const audioPlayer = document.getElementById("audio-player");
playCheckbox.addEventListener("change", function () {
console.log("Checkbox state changed"); // Add this line for debugging
if (playCheckbox.checked) {
console.log("Checkbox is checked"); // Add this line for debugging
audioPlayer.setAttribute("autoplay", "");
} else {
console.log("Checkbox is unchecked"); // Add this line for debugging
audioPlayer.removeAttribute("autoplay");
}
});
</script>
</body>
</html>
|