Spaces:
Sleeping
Sleeping
File size: 2,547 Bytes
04b36f0 d972801 04b36f0 d972801 04b36f0 d972801 04b36f0 d972801 04b36f0 9bef00c 04b36f0 d972801 04b36f0 d972801 04b36f0 9bef00c 04b36f0 d972801 04b36f0 d972801 04b36f0 d972801 04b36f0 d972801 04b36f0 d972801 04b36f0 d972801 04b36f0 d972801 |
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 |
let isRecording = false;
let mediaRecorder;
let recordedChunks = [];
// Handles the recording button click event
document.getElementById('recordButton').addEventListener('click', function () {
if (!isRecording) {
startRecording();
} else {
stopRecording();
}
});
function startRecording() {
navigator.mediaDevices.getUserMedia({ audio: true })
.then(function (stream) {
mediaRecorder = new MediaRecorder(stream);
mediaRecorder.start();
mediaRecorder.ondataavailable = function (e) {
recordedChunks.push(e.data);
};
// Update button text and style
document.getElementById('recordButton').textContent = 'Stop';
document.getElementById('recordButton').classList.add('recording');
document.getElementById('recordStatus').textContent = 'Recording...';
document.getElementById('transcribeContainer').style.display = 'none'; // Hide Transcribe button initially
isRecording = true;
})
.catch(function (err) {
console.error('The following error occurred: ' + err);
});
}
function stopRecording() {
mediaRecorder.stop();
mediaRecorder.onstop = function () {
const blob = new Blob(recordedChunks, { type: 'audio/webm' });
recordedChunks = [];
const audioURL = window.URL.createObjectURL(blob);
// Update button text and style
document.getElementById('recordButton').textContent = 'Start';
document.getElementById('recordButton').classList.remove('recording');
document.getElementById('recordStatus').textContent = 'Tap to Record';
document.getElementById('transcribeContainer').style.display = 'block'; // Show Transcribe button
// Set up the Transcribe button click event
document.getElementById('transcribeButton').addEventListener('click', function () {
transcribeAudio(blob);
});
isRecording = false;
};
}
function transcribeAudio(blob) {
const formData = new FormData();
formData.append('audio', blob, 'audio.webm');
//fetch('https://tri4-semalab.hf.space/transcribe', {
fetch('https://jikoni-semabox.hf.space/transcribe', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
document.getElementById('output').textContent = data.transcription;
})
.catch(error => {
console.error('Error:', error);
});
} |