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).