Calculator Tools Calculator Tools
Create

Voice Recording and Transcription Tool

Oct 11, 2023

About this app

A voice recording tool that provides transcription

Voice Recording and Transcription Tool Voice Recording and Transcription Tool Start Recording Stop Recording

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Voice Recording and Transcription Tool</title>
<meta name="description" content="A voice recording tool that provides transcription">
<meta name="keywords" content="voice recording, transcription, audio, tool">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.

// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
const startButton = document.getElementById("start-button");
const stopButton = document.getElementById("stop-button");
const transcriptionContainer = document.getElementById("transcription-container");
const recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;

let transcription = "";

recognition.onresult = function(event) {
let interimTranscription = "";
for (let i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
transcription += event.results[i][0].transcript + " ";
} else {
interimTranscription += event.results[i][0].transcript;
}
}
transcriptionContainer.innerText = transcription + interimTranscription;
};

recognition.onend = function() {
startButton.disabled = false;
stopButton.disabled = true;
};

startButton.addEventListener("click", function() {
recognition.start();
startButton.disabled = true;
stopButton.disabled = false;
});

stopButton.addEventListener("click", function() {
recognition.stop();
startButton.disabled = false;
stopButton.disabled = true;
});
});

} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>

<style>
body {
font-family: 'Roboto', sans-serif;
}

h1 {
text-align: center;
margin-top: 40px;
}

.button-container {
display: flex;
justify-content: center;
margin-top: 20px;
}

.button-container button {
margin: 0 10px;
}

#transcription-container {
margin-top: 40px;
min-height: 200px;
border: 1px solid #ccc;
padding: 10px;
overflow-y: scroll;
}

#transcription-container p {
margin: 0;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Voice Recording and Transcription Tool</h1>
<div class="button-container">
<button id="start-button" class="btn btn-primary">Start Recording</button>
<button id="stop-button" class="btn btn-danger" disabled>Stop Recording</button>
</div>
<div id="transcription-container"></div>
</div>
</body>
</html>