Adding STT services

Can use the Pr Added support for AssemblyAI #70arrow-up-right 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.jsarrow-up-right

  2. add support for keys in db.js electron/db.jsarrow-up-right

  3. expose getters and setters in electron/index.htmlarrow-up-right

2. credentials part 2

  1. Pass data for settings view through the router lib/app/router.jsarrow-up-right

  2. add credentials field in settings template settings_template.html.ejsarrow-up-right

  3. integrate with settings view lib/app/views/settings_view.jsarrow-up-right

3. Transcription form

  1. Add option in transcription form template /transcription_form_template.html.ejsarrow-up-right

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

  2. Integrate with transcription form view lib/app/views/transcription_form_view.jsarrow-up-right

4. Backend

  1. Add backend option for that stt service in transcriber module lib/interactive_transcription_generator/transcriber/index.jsarrow-up-right

  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.jsarrow-up-right

    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.jsonarrow-up-right

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

Last updated