MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "Robfactory",
        "continue": "gapcontinue||"
    },
    "warnings": {
        "main": {
            "*": "Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes."
        },
        "revisions": {
            "*": "Because \"rvslots\" was not specified, a legacy format has been used for the output. This format is deprecated, and in the future the new format will always be used."
        }
    },
    "query": {
        "pages": {
            "24": {
                "pageid": 24,
                "ns": 0,
                "title": "Recording data for speech recognition training",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "== Pre-requisites ==\n* You must have a headset with a mic or a desktop boom mic. Preferably the same mic which will be used for speech recognition on the robot. Built in laptop or desktop mics are not recommended.\n\n* Make sure you have Audacity installed. This can be done as follows on linux\n<pre>\nsudo apt-get install audacity\n</pre>\n: And the windows version can be downloaded [http://audacity.sourceforge.net/download/windows here]\n\n*Open Audacity and configure it as follows\n** In the Edit>Preferences>Devices (or Audio I/O); make sure that you select 'Channels: 1 (Mono)' under the 'Recording' section.\n** In the Edit>Preferences>Quality; make sure that the 'Default Sample Rate' is set to '16000Hz' and the 'Default Sample Format' is set to '16-bit'\n\n*Making a USB headset default device on linux. '''NOTE: No need to do this for Robotino. Robotino has been already configured to use a USB headset as default.''' \n:*Create a new text file called '.asoundrc' and open it in gedit as follows\n<pre>\ngedit ~/.asoundrc \n</pre>\n:*Paste the following text in the file\n<pre>\n pcm.!default {\n         type asym\n         playback.pcm {\n                 type plug\n                 slave.pcm \"hw:1,0\"\n         }\n         capture.pcm {\n                 type plug\n                 slave.pcm \"hw:1,0\"\n         } \n }\n</pre>\n:*Save the file and restart the computer.\n\n== Prompts file ==\n\nThe \"prompts\" file contains the words you need to record for your individual speech audio files.\nEach line of the prompts file corresponds to the transcribed contents of one audio file.  The first column contains the name of the audio file, and the following columns on the same line contain the text transcriptions of what is recorded in the audio file, see below:\n\n<pre>\nsample1 ROBOTINO MOVE ROBOTINO ROTATE ROBOTINO STOP\nsample2 ROBOTINO RIGHT ROBOTINO LEFT ROBOTINO FORWARD ROBOTINO BACKWARD\nsample3 OPPRESSIVE AS THE HEAT HAD BEEN IT WAS NOW EVEN MORE OPPRESSIVE\nsample4 ONE ONE TWO TWO THREE THREE FOUR FOUR FIVE FIVE\nsample5 SIX SIX SEVEN SEVEN EIGHT EIGHT NINE NINE ZERO ZERO\nsample6 A DEAD MAN IS OF NO USE ON A PLANTATION\nsample7 NINE EIGHT SEVEN SIX FIVE FOUR THREE TWO ONE ZERO\nsample8 ROBOTINO MOVE FORWARD ROBOTINO MOVE BACKWARD\nsample9 HE CRIED IN SUCH GENUINE DISMAY THAT SHE BROKE INTO HEARTY LAUGHTER\nsample10 ZERO ONE TWO THREE FOUR FIVE SIX SEVEN EIGHT NINE\nsample11 DEGREE METER CENTIMETER DEGREES METERS CENTIMETERS\nsample12 DOWN THERE THE EARTH WAS ALREADY SWELLING WITH LIFE\nsample13 ROBOTINO MOVE LEFT ROBOTINO MOVE RIGHT\nsample14 MINUS FOUR MINUS THREE MINUS TWO MINUS ONE MINUS ZERO\nsample15 EACH DAY SHE BECAME A MORE VITAL PART OF HIM\nsample16 RIGHT ONE THREE FIVE METERS LEFT SEVEN NINE METERS\nsample17 ROBOTINO ROTATE MINUS NINE ZERO DEGREES\nsample18 A MADDENING JOY POUNDED IN HIS BRAIN\nsample19 ROBOTINO MOVE FORWARD SIX SEVEN CENTIMETERS MOVE FORWARD ONE METER\nsample20 ROTATE SIX SEVEN DEGREES ROTATE EIGHT NINE DEGREES\nsample21 SINCE THEN SOME MYSTERIOUS FORCE HAS BEEN FIGHTING US AT EVERY STEP\nsample22 ROBOTINO STOP MINUS ZERO CENTIMETERS\nsample23 ONE TWO THREE METERS THREE TWO ONE METERS\nsample24 ROBOTINO ONE ROBOTINO METER ROBOTINO METER ROBOTINO ONE\nsample25 SEVEN EIGHT NINE DEGREES NINE EIGHT SEVEN DEGREES\nsample26 STOP ROTATE MOVE STOP ROTATE MOVE\nsample27 I GUESS I CAN TALK AND WORK AT THE SAME TIME\nsample28 ROBOTINO MOVE BACKWARD FIVE FIVE FIVE METERS\nsample29 MOVE LEFT THREE ONE DEGREES MOVE RIGHT ONE THREE DEGREES\nsample30 EACH INSULT ADDED TO THE VALUE OF THE CLAIM\nsample31 STOP STOP MOVE MOVE ROTATE ROTATE\nsample32 LEFT LEFT RIGHT RIGHT FORWARD FORWARD BACKWARD BACKWARD\nsample33 HAVE YOU EVER EARNED A DOLLAR BY YOUR OWN LABOUR\nsample34 FOUR FIVE SIX CENTIMETERS SIX FIVE FOUR CENTIMETERS\nsample35 ROBOTINO CENTIMETERS ROBOTINO METERS ROBOTINO DEGREES\nsample36 ONE METER ONE DEGREE ONE CENTIMETER\nsample37 MINUS NINE MINUS EIGHT MINUS SEVEN MINUS SIX MINUS FIVE\nsample38 SOMETIMES HER DREAMS WERE FILLED WITH VISIONS\nsample39 MINUS ONE TWO MINUS THREE FOUR MINUS FIVE SIX\nsample40 MINUS SEVEN EIGHT MINUS NINE ZERO\nsample41 PHILIP BEGAN TO FEEL THAT HE HAD FOOLISHLY OVERESTIMATED HIS STRENGTH\nsample42 FORWARD ZERO TWO FOUR CENTIMETERS BACKWARD SIX EIGHT CENTIMETERS\nsample43 MOVE FORWARD STOP ROTATE FOUR FIVE DEGREES STOP\nsample44 ABOUT HIM EVERYWHERE WERE THE EVIDENCES OF LUXURY AND OF AGE\nsample45 ROBOTINO MOVE LEFT THREE FOUR METERS MOVE LEFT ONE CENTIMETER\nsample46 ROBOTINO MOVE RIGHT ZERO ONE METERS MOVE RIGHT ONE CENTIMETER\nsample47 DO YOU KNOW THAT YOU ARE SHAKING MY CONFIDENCE IN YOU\nsample48 ROBOTINO MOVE BACKWARD NINE FIVE CENTIMETERS MOVE BACKWARD ONE METER\nsample49 ROTATE ZERO ONE TWO DEGREES ROTATE THREE FOUR FIVE DEGREES\nsample50 HER EFFORTS WERE NOT FUTILE AND IN NO TIME THE GOOSE BEGAN TO TIRE\nsample51 ROBOTINO ROBOTINO ROTATE ROTATE STOP STOP MOVE MOVE\nsample52 ROTATE RIGHT ROTATE LEFT ROTATE FORWARD ROTATE BACKWARD\nsample53 I CAME FOR INFORMATION MORE OUT OF CURIOSITY THAN ANYTHING ELSE\nsample54 CENTIMETERS CENTIMETERS DEGREES DEGREES METERS METERS\nsample55 ROBOTINO MOVE ROTATE STOP ROBOTINO STOP ROTATE MOVE\nsample56 ROBOTINO YES ROBOTINO NO ROBOTINO YES ROBOTINO NO\nsample57 YES NO ONE TWO NO YES THREE FOUR YES NO FIVE SIX\nsample58 SHE ATE A BOWL OF PORRIDGE AND CHECKED HERSELF IN THE MIRROR\nsample59 YES CENTIMETER NO METER YES DEGREE NO CENTIMETERS YES METERS NO DEGREES\nsample60 YES YES NO NO ROBOTINO ROBOTINO\n</pre>\n\n== Recording sentences ==\n* Start Audacity. \n* Make sure your microphone volume in Audacity is set to 1.0. \n* Then click Record (i.e. the red circle button) and begin speaking in your normal voice for a few seconds, and then click Stop (i.e. the yellow square button). Look at the Waveform Display for the audio track you just created.  The Vertical Ruler to the left of the Waveform Display provides you with a guide to your audio levels.  Try to keep your recording levels between 0.5 and -0.5, averaging around 0.3 to -0.3.  It is OK to have a few spikes go outside the 0.5 to -0.5 range, but avoid having any go beyond the 1.0 to -1.0 range, as this will generate distortion.  If necessary, adjust Audacity's microphone volume to keep your audio within the proper ranges.\n[[File:Audacity_screenshot.png]]\n\n*To begin, you should not have any tracks displayed in the Audacity window.  If you do, click the x icon at the top left of the audio track display (or hit ctrl-z as many times as is required to remove them; or restart Audacity).  If you don't Audacity will happily record your new track, and leave your old track untouched, and when you export your audio to a wav file, both tracks will be merged to your wav file.\n\n*Make sure your volumes are set properly, as outlined in the preceding section.\n\n*Record you first file by clicking 'Record' in Audacity and saying the words in the first line of your prompts file:\n<pre>\nROBOTINO MOVE ROBOTINO ROTATE ROBOTINO STOP\n</pre>\n\n*Speak normally - not too slow or too fast - and clearly.  Pause slightly before you begin speaking and leave a short pause after you have completed (i.e. half a second pause before and after you speak).  Remember not to breath out until you have clicked stop - most microphoness pick up breathing noises.\n\n*Click the 'Stop' icon when you are completed.\n\n*Review your waveform to ensure that highest and lowest peaks of your recording is between 0.5 and 1.0 in the upper range and the lower range is between -0.5 and -1.0.  If they are, then listen to the file (press 'Play' in Audacity) to make sure your pronunciation is clear and that you do not hear any non-speech noises (i.e. breathing noises, lip smacking, or background noises, ...).  If there are any problems, hit ctrl-z and re-record your file.\n\n* If the file sounds OK then click File>Export and make sure that the format is WAV signed 16 bit PCM. Name the file as sample1 (for the first sentence) and save it.\n\n* Repeat the same procedure for the rest of the sentences in the prompt file.\n\n== Uploading the data ==\n* Copy all the 'sample*.wav' files to a folder.\n* Create a file called 'info.txt' and paste your email address in the file. The 'info.txt' file should look like this\n<pre>\nyouremailaddress@xxxxxxx\n</pre>\n* Save the 'info.txt' file in the same folder as the wav files.\n* Zip the folder and upload it [http://doc.openrobotino.org/SpeechRecognition here]\n\n== Your acoustic model files ==\n\nTraining is done automatically and you will be sent the acoustic model files to the given email address. Then copy those files to '/etc/robotino/sr/julius/acoustic_model_files' dir on your Robotino. Your robot is now ready to recognize your speech."
                    }
                ]
            },
            "515": {
                "pageid": 515,
                "ns": 0,
                "title": "Rest api",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "==Introduction==\n{|class=\"wikitable\" cellpadding=\"20\" vertical-align=\"top\"\n|-\n|[[Image:Robotino_rest_icon_64.png]]\n|With the latest robotino-daemons package Robotino's web-interface is based on a Restful server listening at port 80 on Robotino. The server not only makes data available to Robotino's web interface but can also be used to access Robotino's sensors and actors. Rest Api is part of all images from V4 and later.\n|}\n\n==GET==\n\n===/cam0===\nGet camera image from cam0. The response is image/jpeg.\n====Matlab example====\n<pre>\nimg=webread('http://192.168.0.1/cam0')\nimshow(img)\n</pre>\n\n===/sensorimage===\nGet image showing distance sensors and bumper. The response is image/png.\n====Matlab example====\n<pre>\nimg=webread('http://192.168.0.1/sensorimage')\nimshow(img)\n</pre>\n\n===/data/festoolcharger===\nGet data from Festool Li-Ion batteries.\n\n===/data/powermanagement===\nGet information about voltage and system current.\n\n===/data/charger0===\nData for build in charger 0\n\n===/data/charger1===\nData for build in charger 1\n\n===/data/controllerinfo===\nHW and SW version.\n\n===/data/services===\nData of Robotino specific services.\n\n===/data/servicestatus/xxx===\nStatus of service xxx.\n\n===/data/analoginputarray===\nData of all analog inputs.\n<pre>\n  [val0,val1,val2,...,val7]\n</pre>\n\n===/data/digitalinputarray===\nData of all digital inputs.\n<pre>\n  [val0,val1,val2,...,val7]\n</pre>\nvalues being true or false\n\n===/data/digitaloutputstatus===\nStatus of all digital outputs.\n<pre>\n  [val0,val1,val2,...,val7]\n</pre>\nvalues being true or false\n\n===/data/relaystatus===\nStatus of all relays.\n<pre>\n  [val0,val1]\n</pre>\nvalues being true or false\n\n===/data/bumper===\nStatus of Robotinos bumper\n<pre>\n  \"value\" : value\n</pre>\nvalue being true or false.\n\n===/data/distancesensorarray===\nReadings from Robotinos distance sensors\n<pre>\n  [val1,val2,...,val9]\n</pre>\n\n===/data/scan0===\nData of the first Laser rangefinder.\n<pre>\n{\n  \"seq\" : sequence number,\n  \"stamp\" : time stamp,\n  \"angle_min\" : minimum angle,\n  \"angle_max\" : maximum angle,\n  \"angle_increment\" : angle increment,\n  \"time_increment\" : time increment,\n  \"scan_time\" :  scan time,\n  \"range_min\" : minimum range,\n  \"range_max\" : maximum range,\n  \"ranges\" : [],\n  \"intensities\" : []\n}\n</pre>\n\n===/data/odometry===\nRobotino's odometry.\n<pre>\n  [x,y,rot,vx,vy,omega,seq]\n\nx : x position in m\ny : y position in m\nrot : rotation in rad\nvx : x vel in m/s\nvy : y vel in m/s\nomega : rot vel in rad/s\nseq : sequence number\n</pre>\n\n===/data/imageversion===\nGet version of Robotino's OS image.\n<pre>\n{\n  \"version\" : \"imagever\"\n}\n</pre>\n\n===/data/poweroutputcurrent===\nGet current in A from Robotino's power output (motor4)\n<pre>\n{\n  \"current\" : value\n}\n</pre>\n\n==PUT or POST==\n\n===/data/omnidrive===\nSet forwward and rotational velocity. You have to send data periodically at least every 200ms. If no data is received for more than 200ms Robotino will stop.\n<pre>\n  [vx,vy,omega]\n\nvx : x-vel in m/s\"\nvy : \"y-vel in m/s\"\nomega : rot-vel in rad/s\n</pre>\n====Matlab example====\n<pre>webwrite('http://192.168.1.192/data/omnidrive',[vx vy omega])</pre>\n\n===/data/digitaloutput===\n<pre>\n{\n  \"num\" : NUM ,\n  \"val\" : VAL\n}\n</pre>\nNUM in range [0,7] and val being true or false\n\n===/data/digitaloutputarray===\n<pre>\n  [val0,val1,....val7]\n</pre>\nvalue being true or false\n\n===/data/relay===\n<pre>\n{\n  \"num\" : NUM ,\n  \"val\" : VAL\n}\n</pre>\nNUM in range [0,1] and VAL being true or false\n\n===/data/relayarray===\n<pre>\n  [val0,val1]\n</pre>\nval0,val1 being false or true\n\n===/data/poweroutput===\n<pre>\n{\n  \"value\" : value\n}\n</pre>\nvalue in the range -100 to 100\n\n===/data/uploadProgram===\nUpload Robotino View program to /home/robotino/programs.\n<pre>\n  \"name\" : \"filename with extension\",\n  \"size\" : size of raw (unencoded) binary data,\n  \"data\" : file data base64 encoded\n</pre>\n\n'''Response'''\n<pre>\n  \"message\" : \"message what happend on the server\",\n  \"success\" : boolean showing if operation was successfull\n</pre>"
                    }
                ]
            }
        }
    }
}