This is a set of tools for building speech corpora. Users can record speech samples in an Android app according to instructions that are managed from a web-based admin dashboard. Completed recordings are uploaded automatically and accessible from the dashboard.
There are 3 main components:
- Android App - native app written in Kotlin, distributed to end-users to record audio samples
- Admin Dashboard - Vue/Vuetify single-page application for managing contents of the app and uploaded recordings
- Back-end - Node/Express/Postgres based REST API to serve both the app and the dashboard
Some of the more important folders are:
/app/- Android app project/app/src/main/java/.../speechdatacollection/- app main activity and startup logic/app/src/main/java/.../speechdatacollection/fragments/- sub-views to the main activity/app/src/main/java/.../speechdatacollection/network/- service to call back-end with data structures/backend/admin/- admin dashboard Vue project/backend/admin/src/views/- Vue components for dashboard views (pages)/backend/admin/src/components/- subcomponents for views/backend/server/- back-end server Node project/backend/server/public/- static HTML/CSS page for providing app download/backend/server/src/db/- file storage and database services/backend/server/src/db/sql/- database schema and queries/backend/server/src/routes/api/- REST API routes/backend/server/src/middleware/- oauth2 authentication for API calls
Further details are available at https://digikogu.taltech.ee/en/Item/cb25a4f4-2243-4766-bd78-e6fccad12b18 (in Estonian).