Merge branch 'main' of github.com:pluja/whishper

This commit is contained in:
pluja
2024-03-06 20:33:07 +01:00
3 changed files with 17 additions and 6 deletions

View File

@@ -56,7 +56,7 @@ Contributions are welcome! Feel free to open a PR with your changes, or take a l
### Development setup
Check out the development documentation [here](https://whishper.net/guides/development/).
Check out the development documentation [here](https://whishper.net/guides/develop/).
## Screenshots

View File

@@ -101,9 +101,20 @@ func (s *Server) handlePostTranscription(c *fiber.Ctx) error {
return fiber.NewError(fiber.StatusInternalServerError, "Internal server error")
}
// Write the JSON to the response body.
// Broadcast transcription to websocket clients
s.BroadcastTranscription(res)
s.NewTranscriptionCh <- true
// Convert the transcription to JSON.
json, err := json.Marshal(res)
if err != nil {
// 503 On vacation!
return fiber.NewError(fiber.StatusServiceUnavailable, "On vacation!")
}
// Write the JSON to the response body.
c.Set("Content-Type", "application/json")
c.Write(json)
return nil
}

View File

@@ -102,13 +102,13 @@ export const downloadVTT = function (jsonData, title) {
jsonData.forEach((segment, index) => {
let startSeconds = Math.floor(segment.start);
let startMillis = Math.floor((segment.start - startSeconds) * 1000);
let start = new Date(startSeconds * 1000 + startMillis).toISOString().substr(11, 12).replace('.', ',');
let start = new Date(startSeconds * 1000 + startMillis).toISOString().substr(11, 12);
let endSeconds = Math.floor(segment.end);
let endMillis = Math.floor((segment.end - endSeconds) * 1000);
let end = new Date(endSeconds * 1000 + endMillis).toISOString().substr(11, 12).replace('.', ',');
let end = new Date(endSeconds * 1000 + endMillis).toISOString().substr(11, 12);
vttContent += `${index + 1}\n${start} --> ${end}\n- ${segment.text}\n\n`;
vttContent += `${index + 1}\n${start} --> ${end}\n${segment.text}\n\n`;
});
let vttBlob = new Blob([vttContent], {type: 'text/plain'});
@@ -118,4 +118,4 @@ export const downloadVTT = function (jsonData, title) {
link.download = `${title}.vtt`;
link.click();
}