Allow the user to record themselves on Special:Record. Saving should send data to storage. (broken out in T272960)
LinguaRecorder has a lot of nice features that we should use if possible.
Allow the user to record themselves on Special:Record. Saving should send data to storage. (broken out in T272960)
LinguaRecorder has a lot of nice features that we should use if possible.
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
Add recording functionality to SpecialRecordSpeech | mediawiki/extensions/WikispeechSpeechDataCollector | master | +2 K -50 |
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | None | T266658 ☂Create frontend for recording functionality | |||
Open | None | T272960 Send recording to storage | |||
Resolved | Sebastian_Berlin-WMSE | T267783 Add recording functionality to the frontend |
Apparently this is caused by how the label is set when creating a widget.
'label' => $this->msg( 'wikispeech-sdc-record' )->text()
works, but
'label' => $this->msg( 'wikispeech-sdc-record' )
don't.
Change 659764 had a related patch set uploaded (by Sebastian Berlin (WMSE); owner: Sebastian Berlin (WMSE)):
[mediawiki/extensions/WikispeechSpeechDataCollector@master] Add recording functionality to SpecialRecordSpeech
There are more parameters for LinguarRecorder that could be useful, see readme for full list.
Auto start and auto stop seemed like a good thing to have. They should ensure that there is no extra silence. Something to keep an eye out for is if the threshold parameters need tweaking, once it is widely used (i.e. if people are unhappy with the behaviour).
Min length, max length and saturation could be useful to filter out some garbage data.
There is an issue when running Qunit tests when Jenkins runs them and/or when all tests are run (not just the extensions). It appears that the stubbing of SpecialRecordSpeech.init() does not work as I thought it would. Maybe a race condition?
I did a bit of restructuring, which seems to have fixed the issue. What I did was to separate the the module into two, one for the logic of the recorder and one for initializing the special page. The latter does the infusing, creates a LinguaRecorder and creates the former. This means the code is divided into the recorder logic that we want to test and the UI calls, which we assume should work.
Change 659764 merged by jenkins-bot:
[mediawiki/extensions/WikispeechSpeechDataCollector@master] Add recording functionality to SpecialRecordSpeech