A lot of the transcription process could be done concurrently.
Since an audio file is already split when it is too large, there is no reason that each chunk can't be transcribed concurrently.
Uploading the audio file to backblaze can also happen concurrently.
Converting each transcription from an IBMResult to a Transcription can happen concurrently.
The tricky part about adding concurrency is error handling. Right now, since only one goroutine is spawned per transcription, if that goroutine panics, the panic can be caught. From my understanding, if the gourtine launches other gourtines, this panic catching no longer works.
A lot of the transcription process could be done concurrently.
IBMResult
to aTranscription
can happen concurrently.The tricky part about adding concurrency is error handling. Right now, since only one goroutine is spawned per transcription, if that goroutine panics, the panic can be caught. From my understanding, if the gourtine launches other gourtines, this panic catching no longer works.