Adding STT services

Last updated 3 months ago

Can use the Pr Added support for AssemblyAI #70 as an example.

Generally adding a new STT service to autoEdit will entail:

1. Credentials part 1

  1. Adding module to handle credentilas electron/assemblyai_keys.js

  2. add support for keys in db.js electron/db.js

  3. expose getters and setters in electron/index.html

2. credentials part 2

  1. Pass data for settings view through the router lib/app/router.js

  2. add credentials field in settings template settings_template.html.ejs

  3. integrate with settings view lib/app/views/settings_view.js

3. Transcription form

  1. Add option in transcription form template /transcription_form_template.html.ejs

    1. optional list of languages, if model supports multiple language models.

  2. Integrate with transcription form view lib/app/views/transcription_form_view.js

4. Backend

  1. Add backend option for that stt service in transcriber module lib/interactive_transcription_generator/transcriber/index.js

  2. The module to call the STT API and convert to json might more or less involved depending on the STT SDK provided by the STT service.

  3. Then a module adapter to convert the STT API output into autoEdit Json lib/interactive_transcription_generator/transcriber/assemblyai/convert_to_json.js

    1. sometimes to build the adapter, it's easier to get some sample json from the STT API Service, or from a sample response and use that to create the parser. eg lib/interactive_transcription_generator/transcriber/assemblyai/sample-assemblyai.json

A bit involved, but for now that's it, npm start, to test it out.