The RecordWizard is a MediaWiki extension providing a recording studio that allows mass recording of clean, well cut, well named pronunciation files.
It was created to run Lingua Libre and their development is therefore strongly correlated, but the extension was designed to be usable on another MediaWiki instance.
For the RecordWizard to work, a running installation of MediaWiki 1.35+ is required, with the following extensions installed:
- Wikibase Repository
- OAuthAuthentication (in case of issues with recent versions of MediaWiki, try installing this patched version of this extension)
- Upload2Commons
The RecordWizard also requires npm and ffmpeg.
(optional) This extension integrates best with the BlueLL skin.
- Download and place the file(s) in a directory called RecordWizard in your
extensions/
folder. - Install additional libraries by running
npm install
in theextensions/RecordWizard
folder. - Add the following code in your LocalSettings.php:
wfLoadExtension( 'RecordWizard' );
The RecordWizard requires the creation of some properties and items in you local Wikibase repository installation. Once done, add the following code (completed with propery and item ids) in your LocalSettings.php. Property types are indicated in comments.
$wgRecordWizardConfig['properties'] = array(
'langCode' => 'P...', //external-id
'iso3' => 'P...', //external-id
'gender' => 'P...', //wikibase-item
'spokenLanguages' => 'P...', //wikibase-item
'instanceOf' => 'P...', //wikibase-item
'linkedUser' => 'P...', //external-id
'subclassOf' => 'P...', //wikibase-item
'audioRecord' => 'P...', //commonsMedia
'speaker' => 'P...', //wikibase-item
'date' => 'P...', //time
'transcription' => 'P...', //string
'wikidataId' => 'P...', //external-id
'languageLevel' => 'P...', //wikibase-item
'residencePlace' => 'P...', //external-id
'learningPlace' => 'P...', //external-id
'qualifier' => 'P...', //string
'wikipediaTitle' => 'P...', //external-id
'wiktionaryEntry' => 'P...', //external-id
'mediaType' => 'P...' //wikibase-item
);
$wgRecordWizardConfig['items'] = array(
'genderMale' => 'Q...',
'genderFemale' => 'Q...',
'genderOther' => 'Q...',
'language' => 'Q...',
'speaker' => 'Q...',
'record' => 'Q...',
'word' => 'Q...',
'langLevelNative' => 'Q...',
'langLevelGood' => 'Q...',
'langLevelAverage' => 'Q...',
'langLevelBeginner' => 'Q...',
'mediaTypeAudio' => 'Q...',
'mediaTypeVideo' => 'Q...'
);
You also have to define a namespace that can be used for list-managment (it can be an existing one or a specialy created one).
$wgRecordWizardConfig['listNamespace'] = 142; // replace 142 with the actual id of your list-namespace
Finally, check that $wgFFmpegLocation is properly set.
Translations are managed on TranslateWiki.
Please read MediaWiki's code of conduct.
Report an issue on Wikimedia's Phabricator's Lingualibre dashboard
Add $wgResourceLoaderDebug = true;
in your LocalSettings.php
to disable various minifying features built into the ResourceLoader, in order to ease your debugging work. Do not add that on a live production server.
- Antoine Lamielle - architect and main developper of Lingua Libre - 0x010C
- A dozen of other contributors
This project is licensed under the GPL v2.0 License - see the LICENSE file for details
- "Create a new generator" help page: https://lingualibre.org/wiki/Help:Create_a_new_generator
- Development originally funded by a grant of the Wikimedia Foundation (January -> July 2018)
- Developement for the video recording track sponsored by Wikimédia France (2019)
- Development for an UI revamp sponsored by Wikimédia France (Mars -> May 2020)
- Fix for the video recording track sponsored by University of Toulouse (April 2023)