Adding STT services
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. 1.
    Adding module to handle credentilas electron/assemblyai_keys.js
  2. 2.
    add support for keys in db.js electron/db.js
  3. 3.
    expose getters and setters in electron/index.html

2. credentials part 2

  1. 1.
    Pass data for settings view through the router lib/app/router.js
  2. 2.
    add credentials field in settings template settings_template.html.ejs
  3. 3.
    integrate with settings view lib/app/views/settings_view.js

3. Transcription form

  1. 1.
    Add option in transcription form template /transcription_form_template.html.ejs
    1. 1.
      optional list of languages, if model supports multiple language models.
  2. 2.
    Integrate with transcription form view lib/app/views/transcription_form_view.js

4. Backend

  1. 1.
    Add backend option for that stt service in transcriber module lib/interactive_transcription_generator/transcriber/index.js
  2. 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. 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. 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.
Copy link
On this page