Units
Translation components API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/translations/sonic-pi/tutorial/gl/units/?format=api&page=40
https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/units/?format=api&page=41", "previous": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/units/?format=api&page=39", "results": [ { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![TB-303 Design](../../../etc/doc/images/tutorial/articles/A.05-acid-bass/tb303-design.png)" ], "previous_source": "", "target": [ "" ], "id_hash": -5527499874696765910, "content_hash": -5527499874696765910, "location": "A.05-acid-bass.md:113", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1411, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/15461110/?format=api", "priority": 100, "id": 15461394, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=334a602660aede2a", "url": "https://hosted.weblate.org/api/units/15461394/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:03.771884+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Screen 0](../../../etc/doc/images/tutorial/articles/A.06-minecraft/Musical-Minecraft-0-small.png)" ], "previous_source": "", "target": [ "" ], "id_hash": -5628039553365334363, "content_hash": -5628039553365334363, "location": "A.06-minecraft.md:44", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1432, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/15461112/?format=api", "priority": 100, "id": 15461395, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=31e52fd847cfa6a5", "url": "https://hosted.weblate.org/api/units/15461395/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:03.981375+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Screen 1](../../../etc/doc/images/tutorial/articles/A.06-minecraft/Musical-Minecraft-1-small.png)" ], "previous_source": "", "target": [ "" ], "id_hash": 7961527634008288221, "content_hash": 7961527634008288221, "location": "A.06-minecraft.md:94", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1444, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/15461114/?format=api", "priority": 100, "id": 15461396, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=ee7d07337e852bdd", "url": "https://hosted.weblate.org/api/units/15461396/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:03.999746+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Screen 2](../../../etc/doc/images/tutorial/articles/A.06-minecraft/Musical-Minecraft-2-small.png)" ], "previous_source": "", "target": [ "" ], "id_hash": 1774814795392070449, "content_hash": 1774814795392070449, "location": "A.06-minecraft.md:166", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1456, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/15461116/?format=api", "priority": 100, "id": 15461397, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=98a168a72d73b331", "url": "https://hosted.weblate.org/api/units/15461397/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:04.014100+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Habanera Riff](../../../etc/doc/images/tutorial/articles/A.07-bizet/habanera.png)" ], "previous_source": "", "target": [ "" ], "id_hash": 5726973827297793224, "content_hash": 5726973827297793224, "location": "A.07-bizet.md:29", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1466, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/15461118/?format=api", "priority": 100, "id": 15461398, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=cf7a4c5a660b54c8", "url": "https://hosted.weblate.org/api/units/15461398/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:04.026184+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Notes](../../../etc/doc/images/tutorial/articles/A.07-bizet/notes.png)" ], "previous_source": "", "target": [ "" ], "id_hash": -5982624394208319342, "content_hash": -5982624394208319342, "location": "A.07-bizet.md:49", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1471, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://hosted.weblate.org/api/units/15461120/?format=api", "priority": 100, "id": 15461399, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=2cf972cf8ea06892", "url": "https://hosted.weblate.org/api/units/15461399/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:04.035673+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Habanera Riff 2](../../../etc/doc/images/tutorial/articles/A.07-bizet/habanera2.png)" ], "previous_source": "", "target": [ "" ], "id_hash": -3508335323858222268, "content_hash": -3508335323858222268, "location": "A.07-bizet.md:83", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1478, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://hosted.weblate.org/api/units/15461122/?format=api", "priority": 100, "id": 15461400, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=4f4fe39c6479c344", "url": "https://hosted.weblate.org/api/units/15461400/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:04.046756+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Screen 0](../../../etc/doc/images/tutorial/articles/A.08-minecraft-vj/minecraft-vj-0-small.png)" ], "previous_source": "", "target": [ "" ], "id_hash": 4855058299381272077, "content_hash": 4855058299381272077, "location": "A.08-minecraft-vj.md:5", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1493, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/15461124/?format=api", "priority": 100, "id": 15461401, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=c360a1ccd26ece0d", "url": "https://hosted.weblate.org/api/units/15461401/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:04.060948+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Screensman 1](../../../etc/doc/images/tutorial/articles/A.08-minecraft-vj/minecraft-vj-1-small.png)" ], "previous_source": "", "target": [ "" ], "id_hash": 9100506526977907620, "content_hash": 9100506526977907620, "location": "A.08-minecraft-vj.md:141", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1525, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/15461126/?format=api", "priority": 100, "id": 15461402, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=fe4b7e7840a45ba4", "url": "https://hosted.weblate.org/api/units/15461402/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:04.079041+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Amen Slices](../../../etc/doc/images/tutorial/articles/A.12-sample-slicing/amen_slice.png)" ], "previous_source": "", "target": [ "" ], "id_hash": -5739639323523929066, "content_hash": -5739639323523929066, "location": "A.12-sample-slicing.md:86", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1653, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/15461128/?format=api", "priority": 100, "id": 15461403, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=3058b471f67e2c16", "url": "https://hosted.weblate.org/api/units/15461403/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:04.126002+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Phase Durations](../../../etc/doc/images/tutorial/articles/A.14-amplitude-modulation/slicer_phase_durations.png)" ], "previous_source": "", "target": [ "" ], "id_hash": 6691292477167328826, "content_hash": 6691292477167328826, "location": "A.14-amplitude-modulation.md:56", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1701, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/15461130/?format=api", "priority": 100, "id": 15461404, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=dcdc3f0e55cd5e3a", "url": "https://hosted.weblate.org/api/units/15461404/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:04.147968+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Phase Durations](../../../etc/doc/images/tutorial/articles/A.14-amplitude-modulation/slicer_control_waves.png)" ], "previous_source": "", "target": [ "" ], "id_hash": 5469701912230619697, "content_hash": 5469701912230619697, "location": "A.14-amplitude-modulation.md:97", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1708, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/15461132/?format=api", "priority": 100, "id": 15461405, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=cbe848e8d1c7ea31", "url": "https://hosted.weblate.org/api/units/15461405/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:04.158378+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Jylda Live Coding in the Sage Gateshead](../../../etc/doc/images/tutorial/articles/A.20-creative-coding-in-the-classroom/jylda-small.png) Jylda and Sam Aaron perform at the Thinking Digital Conference in the Sage Gateshead. Photo credit: TyneSight Photos." ], "previous_source": "", "target": [ "" ], "id_hash": -5736686513330247500, "content_hash": -5736686513330247500, "location": "A.20-creative-coding-in-the-classroom.md:64", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1883, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 25, "source_unit": "https://hosted.weblate.org/api/units/15461134/?format=api", "priority": 100, "id": 15461406, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=30633202a92d28b4", "url": "https://hosted.weblate.org/api/units/15461406/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:04.211525+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Sonic Pi in the Royal Albert Hall](../../../etc/doc/images/tutorial/articles/A.20-creative-coding-in-the-classroom/convo-small.png) Sonic Pi used as one of the instruments as part of Convo at the Royal Albert Hall. Photo credit: Pete Jones." ], "previous_source": "", "target": [ "" ], "id_hash": 8768832387716619031, "content_hash": 8768832387716619031, "location": "A.20-creative-coding-in-the-classroom.md:78", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1885, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 28, "source_unit": "https://hosted.weblate.org/api/units/15461136/?format=api", "priority": 100, "id": 15461407, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=f9b12698ecca1b17", "url": "https://hosted.weblate.org/api/units/15461407/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-02T14:25:04.220616+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "The vertical line at the far left of the diagram shows that the sound starts at 0 amplitude, but goes up to full amplitude immediately (this is the attack phase which we'll cover next). Once at full amplitude it then moves in a straight line down to zero taking the amount of time specified by `release:`. *Longer release times produce longer synth fade outs.*" ], "previous_source": "", "target": [ "" ], "id_hash": 4516317805174939633, "content_hash": 4516317805174939633, "location": "02.4-Durations-with-Envelopes.md:81", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 195, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 64, "source_unit": "https://hosted.weblate.org/api/units/15479683/?format=api", "priority": 100, "id": 15479694, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=bead2f1d86395ff1", "url": "https://hosted.weblate.org/api/units/15479694/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-05T16:04:22.950633+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "By default when Sonic Pi is launched it listens to port 4560 for incoming OSC messages from programs on the same computer. This means that without any configuration, you can send Sonic Pi an OSC message and it will be displayed in the cue log just like incoming MIDI messages. This also means that any incoming OSC message is also automatically added to the Time State which means you can also use `get` and `sync` to work with the incoming data - just like with MIDI and synchronising `live_loops` - see sections 5.7 and 10.2 to recap how this works." ], "previous_source": "", "target": [ "" ], "id_hash": 5185200651600300427, "content_hash": 5185200651600300427, "location": "12.1-Receiving-OSC.md:5", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1165, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 100, "source_unit": "https://hosted.weblate.org/api/units/15499834/?format=api", "priority": 100, "id": 15499878, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=c7f588852fc2898b", "url": "https://hosted.weblate.org/api/units/15499878/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-09T15:22:06.094587+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "from pythonosc import osc_message_builder\nfrom pythonosc import udp_client\nsender = udp_client.SimpleUDPClient('127.0.0.1', 4560)\nsender.send_message('/trigger/prophet', [70, 100, 8])" ], "previous_source": "", "target": [ "" ], "id_hash": 5804636483360390022, "content_hash": 5804636483360390022, "location": "12.1-Receiving-OSC.md:42", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1172, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 16, "source_unit": "https://hosted.weblate.org/api/units/15499836/?format=api", "priority": 100, "id": 15499879, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=d08e362098f7fb86", "url": "https://hosted.weblate.org/api/units/15499879/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-09T15:22:06.122629+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "(use 'overtone.core)\n(def c (osc-client \"127.0.0.1\" 4560))\n(osc-send c \"/trigger/prophet\" 70 100 8)" ], "previous_source": "", "target": [ "" ], "id_hash": 1115977872905506030, "content_hash": 1115977872905506030, "location": "12.1-Receiving-OSC.md:52", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1174, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 13, "source_unit": "https://hosted.weblate.org/api/units/15499838/?format=api", "priority": 100, "id": 15499880, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=8f7cbff673ba8cee", "url": "https://hosted.weblate.org/api/units/15499880/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-09T15:22:06.131271+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "use_osc \"localhost\", 4560\nosc \"/hello/world\"" ], "previous_source": "", "target": [ "" ], "id_hash": 524286608766990799, "content_hash": 524286608766990799, "location": "12.2-Sending-OSC.md:10", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1181, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://hosted.weblate.org/api/units/15499840/?format=api", "priority": 100, "id": 15499881, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=8746a3e4940cf9cf", "url": "https://hosted.weblate.org/api/units/15499881/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-09T15:22:06.140606+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "/midi:nanokey2_keyboard:0:1/note_off [55, 64]\n/midi:nanokey2_keyboard:0:1/note_on [53, 102]\n/midi:nanokey2_keyboard:0:1/note_off [57, 64]\n/midi:nanokey2_keyboard:0:1/note_off [53, 64]\n/midi:nanokey2_keyboard:0:1/note_on [57, 87]\n/midi:nanokey2_keyboard:0:1/note_on [55, 81]\n/midi:nanokey2_keyboard:0:1/note_on [53, 96]\n/midi:nanokey2_keyboard:0:1/note_off [55, 64]" ], "previous_source": "", "target": [ "" ], "id_hash": -3696109773425710764, "content_hash": -3696109773425710764, "location": "11.1-MIDI-In.md:35", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1111, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 24, "source_unit": "https://hosted.weblate.org/api/units/15658984/?format=api", "priority": 100, "id": 15659072, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=4cb4c7be701c6954", "url": "https://hosted.weblate.org/api/units/15659072/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-17T22:58:24.152665+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "These events are broken into two sections. Firstly there's the name of the event such as `/midi:nanokey2_keyboard:0:1/note_on` and secondly there's the values of the event such as `[18, 62]`. Interestingly, these are the two things we need to store information in Time State. *Sonic Pi automatically inserts incoming MIDI events into Time State*. This means you can `get` the latest MIDI value and also `sync` waiting for the next MIDI value using everything we learned in section 10 of this tutorial." ], "previous_source": "", "target": [ "" ], "id_hash": -321918026384798568, "content_hash": -321918026384798568, "location": "11.1-MIDI-In.md:52", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1114, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 81, "source_unit": "https://hosted.weblate.org/api/units/15658986/?format=api", "priority": 100, "id": 15659073, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7b885142b68a0c98", "url": "https://hosted.weblate.org/api/units/15659073/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-17T22:58:24.165808+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "live_loop :midi_piano do\n note, velocity = sync \"/midi:nanokey2_keyboard:0:1/note_on\"\n synth :piano, note: note\nend" ], "previous_source": "", "target": [ "" ], "id_hash": -7160322461459640683, "content_hash": -7160322461459640683, "location": "11.1-MIDI-In.md:67", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1117, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 13, "source_unit": "https://hosted.weblate.org/api/units/15658988/?format=api", "priority": 100, "id": 15659074, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=1ca16ca887728e95", "url": "https://hosted.weblate.org/api/units/15659074/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-17T22:58:24.177529+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "live_loop :midi_piano do\n note, velocity = sync \"/midi:nanokey2_keyboard:0:1/note_on\"\n synth :piano, note: note, amp: velocity / 127.0\nend" ], "previous_source": "", "target": [ "" ], "id_hash": 6316714462974297765, "content_hash": 6316714462974297765, "location": "11.1-MIDI-In.md:95", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1120, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 17, "source_unit": "https://hosted.weblate.org/api/units/15658990/?format=api", "priority": 100, "id": 15659075, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=d7a97a563127c6a5", "url": "https://hosted.weblate.org/api/units/15659075/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-17T22:58:24.216882+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "live_loop :midi_piano do\n use_real_time\n note, velocity = sync \"/midi:nanokey2_keyboard:0:1/note_on\"\n synth :piano, note: note, amp: velocity / 127.0\nend" ], "previous_source": "", "target": [ "" ], "id_hash": 2132894757876427333, "content_hash": 2132894757876427333, "location": "11.1-MIDI-In.md:124", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1124, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 18, "source_unit": "https://hosted.weblate.org/api/units/15658992/?format=api", "priority": 100, "id": 15659076, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=9d99907b52846a45", "url": "https://hosted.weblate.org/api/units/15659076/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-17T22:58:24.230218+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "live_loop :foo do\n use_real_time\n a, b, c = sync \"/osc*/trigger/prophet\"\n synth :prophet, note: a, cutoff: b, sustain: c\nend" ], "previous_source": "", "target": [ "" ], "id_hash": -1259359275312620076, "content_hash": -1259359275312620076, "location": "12.1-Receiving-OSC.md:19", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1168, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 19, "source_unit": "https://hosted.weblate.org/api/units/15658994/?format=api", "priority": 100, "id": 15659077, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=6e85db695665ddd4", "url": "https://hosted.weblate.org/api/units/15659077/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-17T22:58:24.252386+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "In this example we described an OSC path `\"/osc*/trigger/prophet\"` which we're syncing on. This can be any valid OSC path (all letters and numbers are supported and the `/` is used like in a URL to break up the path to multiple words). The `/osc` prefix is added by Sonic Pi to all incoming OSC messages, so we need to send an OSC message with the path `/trigger/prophet` for our `sync` to stop blocking and the prophet synth to be triggered." ], "previous_source": "", "target": [ "" ], "id_hash": -3902483498004404557, "content_hash": -3902483498004404557, "location": "12.1-Receiving-OSC.md:27", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1169, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 81, "source_unit": "https://hosted.weblate.org/api/units/15658996/?format=api", "priority": 100, "id": 15659078, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=49d797ef4f9fa6b3", "url": "https://hosted.weblate.org/api/units/15659078/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-02-17T22:58:24.262514+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "*I* - Cue Viewer" ], "previous_source": "", "target": [ "" ], "id_hash": 8017982233212533597, "content_hash": 8017982233212533597, "location": "01.2-Exploring-the-Interface.md:19", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 50, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://hosted.weblate.org/api/units/22460054/?format=api", "priority": 100, "id": 22462585, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=ef45985c2a06bb5d", "url": "https://hosted.weblate.org/api/units/22462585/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:25:50.251997+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "I. Cue Viewer" ], "previous_source": "", "target": [ "" ], "id_hash": 3181841042838447265, "content_hash": 3181841042838447265, "location": "01.2-Exploring-the-Interface.md:93", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 67, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://hosted.weblate.org/api/units/22460073/?format=api", "priority": 100, "id": 22462586, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=ac282b920224e4a1", "url": "https://hosted.weblate.org/api/units/22462586/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:25:50.419957+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "All internal and external events (called cues in Sonic Pi) are automatically logged in the Cue Viewer. For example, if you have a MIDI controller connected and press one of its buttons, you'll see a new cue event in the Cue Viewer telling you the name of the controller and which button you pressed. Once you've mastered the basics of making and producing sounds, you'll start to want to cue sounds or whole sections of sounds based on events such as these. A cue event is just an indication that something happened. For example, every time a live loop spins round, it sends a cue event out which is logged in the Cue Viewer. Also, external events such as MIDI messages from connected MIDI equipment and OSC messages from other programs or computers are also displayed in the Cue Viewer. It is also possible to directly generate cue events using the `cue` function. Anything that appears in the Cue Viewer can be used to trigger something happening. This is covered in more detail in Sections 10 to 12 of this tutorial." ], "previous_source": "", "target": [ "" ], "id_hash": 2591432965193849350, "content_hash": 2591432965193849350, "location": "01.2-Exploring-the-Interface.md:95", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 68, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 181, "source_unit": "https://hosted.weblate.org/api/units/22460077/?format=api", "priority": 100, "id": 22462587, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=a3f69e8d459dda06", "url": "https://hosted.weblate.org/api/units/22462587/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:25:50.433693+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "loop do\n sample :perc_bell, rate: rrand(0.125, 1.5)\n sleep rrand(0.2, 2)\nend" ], "previous_source": "", "target": [ "" ], "id_hash": 7234288846652491989, "content_hash": 7234288846652491989, "location": "04-Randomisation.md:56", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 462, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 11, "source_unit": "https://hosted.weblate.org/api/units/22460339/?format=api", "priority": 100, "id": 22462589, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=e4655b608b4ac8d5", "url": "https://hosted.weblate.org/api/units/22462589/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:25:53.280461+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "a = (ring 6, 5, 4, 3, 2, 1)\nlive_loop :sorted do\n a = a.sort\n sleep 0.5\n puts \"sorted: \", a\nend\nlive_loop :shuffled do\n a = a.shuffle\n sleep 0.5\nend" ], "previous_source": "", "target": [ "" ], "id_hash": -8705437786926877984, "content_hash": -8705437786926877984, "location": "05.6-Variables.md:139", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 648, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 31, "source_unit": "https://hosted.weblate.org/api/units/22460451/?format=api", "priority": 100, "id": 22462590, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=07301274c7f5f2e0", "url": "https://hosted.weblate.org/api/units/22462590/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:25:55.527996+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "4. Use the Main Mixer" ], "previous_source": "", "target": [ "" ], "id_hash": 1263646887039403134, "content_hash": 1263646887039403134, "location": "A.15-performance.md:97", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1748, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://hosted.weblate.org/api/units/22462298/?format=api", "priority": 100, "id": 22462592, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=918960260f83047e", "url": "https://hosted.weblate.org/api/units/22462592/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:26:03.473941+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "One of Sonic Pi's best kept secrets is that it has a main mixer through which all sound flows. This mixer has both a low pass filter and a high pass filter built-in, so you can easily perform global modifications to the sound. The main mixer's functionality can be accessed via the fn `set_mixer_control!`. For example, whilst some code is running and making sound, enter this into a spare buffer and hit `Run`:" ], "previous_source": "", "target": [ "" ], "id_hash": -4367433256685650583, "content_hash": -4367433256685650583, "location": "A.15-performance.md:99", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1749, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 73, "source_unit": "https://hosted.weblate.org/api/units/22462302/?format=api", "priority": 100, "id": 22462593, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=4363c297bb063d69", "url": "https://hosted.weblate.org/api/units/22462593/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:26:03.491030+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "This month, instead of giving you a final example that combines all the things discussed, let's part by setting down a challenge. See if you can spend a week practicing one of these ideas every day. For example, one day practice manual triggers, the next do some basic `live_loop` work and the following day play around with the main mixer. Then repeat. Don't worry if things feel slow and clunky at first - just keep practicing and before you know it you'll be live coding for a real audience." ], "previous_source": "", "target": [ "" ], "id_hash": -7982438471535322118, "content_hash": -7982438471535322118, "location": "A.15-performance.md:154", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1760, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 89, "source_unit": "https://hosted.weblate.org/api/units/22462311/?format=api", "priority": 100, "id": 22462594, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=1138ae80beb99bfa", "url": "https://hosted.weblate.org/api/units/22462594/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:26:03.589452+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "![Varying amounts of low pass filtering](../../../etc/doc/images/tutorial/articles/A.19-subtractive-synthesis/subtractive-synthesis-waveforms.png)" ], "previous_source": "", "target": [ "" ], "id_hash": -5497143611626634181, "content_hash": -5497143611626634181, "location": "A.19-subtractive-synthesis.md:88", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1863, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://hosted.weblate.org/api/units/22462371/?format=api", "priority": 100, "id": 22462595, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=33b63902a5afc43b", "url": "https://hosted.weblate.org/api/units/22462595/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:26:04.335453+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "Let's take a quick look at what's going on here. Firstly we start an `:lpf` FX block as normal with an initial `cutoff:` of a low `50`. However, the first line also finishes with the strange `|fx|` at the end. This is an optional part of the `with_fx` syntax which allows you to directly name and control the running FX synth. Line 2 does exactly this and controls the FX to set the `cutoff_slide:` opt to 3 and the new target `cutoff:` to be `130`. The FX will now start sliding the `cutoff:` opt's value from `50` to `130` over a period of 3 beats. Finally we also trigger a source signal synth so we can hear the effect of the modulated low pass filter." ], "previous_source": "", "target": [ "" ], "id_hash": -8481593455687762546, "content_hash": -8481593455687762546, "location": "A.19-subtractive-synthesis.md:127", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1868, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 125, "source_unit": "https://hosted.weblate.org/api/units/22462373/?format=api", "priority": 100, "id": 22462596, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=0a4b53b08073fd8e", "url": "https://hosted.weblate.org/api/units/22462596/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:26:04.388614+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "For a full list take a look at section B.2 Shortcut Cheatsheet." ], "previous_source": "", "target": [ "" ], "id_hash": 4767826800966548278, "content_hash": 4767826800966548278, "location": "B.01-Using-Shortcuts.md:84", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1930, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 12, "source_unit": "https://hosted.weblate.org/api/units/22462375/?format=api", "priority": 100, "id": 22462597, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=c22ab936e632bb36", "url": "https://hosted.weblate.org/api/units/22462597/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:26:05.797668+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "The following is a summary of the main shortcuts available within Sonic Pi. Please see Section B.1 for motivation and background." ], "previous_source": "", "target": [ "" ], "id_hash": -351993367475960134, "content_hash": -351993367475960134, "location": "B.02-Shortcut-Cheatsheet.md:5", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1933, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 21, "source_unit": "https://hosted.weblate.org/api/units/22462377/?format=api", "priority": 100, "id": 22462598, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7b1d77e5b04d46ba", "url": "https://hosted.weblate.org/api/units/22462598/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:26:05.825439+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "`S-M-0` - Switch to buffer 0" ], "previous_source": "", "target": [ "" ], "id_hash": -5788598620915830847, "content_hash": -5788598620915830847, "location": "B.02-Shortcut-Cheatsheet.md:26", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1947, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://hosted.weblate.org/api/units/22462379/?format=api", "priority": 100, "id": 22462599, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=2faac4393cfeefc1", "url": "https://hosted.weblate.org/api/units/22462599/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:26:05.950526+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "`S-M-1` - Switch to buffer 1" ], "previous_source": "", "target": [ "" ], "id_hash": -936583750435407038, "content_hash": -936583750435407038, "location": "B.02-Shortcut-Cheatsheet.md:27", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1948, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://hosted.weblate.org/api/units/22462381/?format=api", "priority": 100, "id": 22462600, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7300960a8ce4fb42", "url": "https://hosted.weblate.org/api/units/22462600/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:26:05.968651+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "..." ], "previous_source": "", "target": [ "" ], "id_hash": 9041744916878268179, "content_hash": 9041744916878268179, "location": "B.02-Shortcut-Cheatsheet.md:28", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1949, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://hosted.weblate.org/api/units/22462383/?format=api", "priority": 100, "id": 22462601, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=fd7abb18c0391713", "url": "https://hosted.weblate.org/api/units/22462601/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:26:05.983838+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "`S-M-9` - Switch to buffer 9" ], "previous_source": "", "target": [ "" ], "id_hash": 2810377070316594879, "content_hash": 2810377070316594879, "location": "B.02-Shortcut-Cheatsheet.md:29", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1950, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://hosted.weblate.org/api/units/22462385/?format=api", "priority": 100, "id": 22462602, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=a700770e311fa6bf", "url": "https://hosted.weblate.org/api/units/22462602/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-10-13T20:26:06.002552+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "Welcome to Sonic Pi. Hopefully you're as excited to get started making your own sounds as I am to show you. It's going to be a really *fun* ride where you'll learn all about music, synthesis, programming, composition, performance and more." ], "previous_source": "", "target": [ "" ], "id_hash": 8452512654503176548, "content_hash": 8452512654503176548, "location": "01-Welcome-to-Sonic-Pi.md:5", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 3, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 41, "source_unit": "https://hosted.weblate.org/api/units/76991290/?format=api", "priority": 100, "id": 76991609, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=f54d5b79d727e964", "url": "https://hosted.weblate.org/api/units/76991609/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-05-30T15:43:42.717115+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "Woah, fun! I'm sure you could keep doing that all day. But wait, before you lose yourself in an infinite stream of beeps, try changing the number:" ], "previous_source": "", "target": [ "" ], "id_hash": 4238322444230873209, "content_hash": 4238322444230873209, "location": "02.1-Your-First-Beeps.md:19", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 89, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 27, "source_unit": "https://hosted.weblate.org/api/units/76991292/?format=api", "priority": 100, "id": 76991610, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=bad18bceb3f25079", "url": "https://hosted.weblate.org/api/units/76991610/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-05-30T15:43:42.733122+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "There's also a handy shortcut for a rest (a musical way of saying not to play anything instead of a note) using `:r`, `:rest` or `nil`." ], "previous_source": "", "target": [ "" ], "id_hash": 8943432020168421116, "content_hash": 8943432020168421116, "location": "02.1-Your-First-Beeps.md:125", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 113, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 26, "source_unit": "https://hosted.weblate.org/api/units/76991294/?format=api", "priority": 100, "id": 76991611, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=fc1d7409bafe2efc", "url": "https://hosted.weblate.org/api/units/76991611/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-05-30T15:43:42.742137+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "Now go *wild* and have fun making your own tunes." ], "previous_source": "", "target": [ "" ], "id_hash": -369470326207861878, "content_hash": -369470326207861878, "location": "02.1-Your-First-Beeps.md:128", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 114, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 10, "source_unit": "https://hosted.weblate.org/api/units/76991296/?format=api", "priority": 100, "id": 76991612, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7adf60b223552b8a", "url": "https://hosted.weblate.org/api/units/76991612/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-05-30T15:43:42.745911+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "Opts have two major parts, their name (the name of the control) and their value (the value you want to set the control at). For example, you might have an opt called `cheese:` and want to set it with a value of `1`." ], "previous_source": "", "target": [ "" ], "id_hash": 4031957610239736070, "content_hash": 4031957610239736070, "location": "02.2-Synth-Params.md:22", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 120, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 43, "source_unit": "https://hosted.weblate.org/api/units/76991298/?format=api", "priority": 100, "id": 76991613, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=b7f4641593c5b906", "url": "https://hosted.weblate.org/api/units/76991613/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-05-30T15:43:42.772520+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "Woah! It plays it *backwards*! Now try playing with lots of different samples at different rates. Try very fast rates. Try really slow rates. See what interesting sounds you can produce." ], "previous_source": "", "target": [ "" ], "id_hash": 3504912001356214864, "content_hash": 3504912001356214864, "location": "03.3-Stretching-Samples.md:72", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 291, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 31, "source_unit": "https://hosted.weblate.org/api/units/76991300/?format=api", "priority": 100, "id": 76991614, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=b0a3f2e539d73250", "url": "https://hosted.weblate.org/api/units/76991614/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-05-30T15:43:43.343220+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "If all of this sounds a bit complicated, don't worry. Once you play around with it a little, it will all become quite clear. Before you do though, a simple analogy is that of guitar FX pedals. There are many kinds of FX pedals you can buy. Some add reverb, others distort etc. A guitarist will plug their guitar into one FX pedal - i.e. distortion -, then take another cable and connect (chain) a reverb pedal. The output of the reverb pedal can then be plugged into the amplifier:" ], "previous_source": "", "target": [ "" ], "id_hash": 4151771050477839097, "content_hash": 4151771050477839097, "location": "06-FX.md:20", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 680, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 90, "source_unit": "https://hosted.weblate.org/api/units/76991302/?format=api", "priority": 100, "id": 76991615, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=b99e0dc5fc7b62f9", "url": "https://hosted.weblate.org/api/units/76991615/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-05-30T15:43:44.436703+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" }, { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "This is called FX chaining. Sonic Pi supports exactly this. Additionally, each pedal often has dials and sliders to allow you to control how much distortion, reverb, echo etc. to apply. Sonic Pi also supports this kind of control. Finally, imagine a guitarist jamming along whilst someone else changes and plays with the controls of their FX pedals. Sonic Pi also supports this - but instead of needing someone else to control things for you, that's where the computer steps in." ], "previous_source": "", "target": [ "" ], "id_hash": 6476020093690441292, "content_hash": 6476020093690441292, "location": "06-FX.md:33", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 682, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 81, "source_unit": "https://hosted.weblate.org/api/units/76991304/?format=api", "priority": 100, "id": 76991616, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=d9df71f6bab5ee4c", "url": "https://hosted.weblate.org/api/units/76991616/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-05-30T15:43:44.445439+02:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" } ] }{ "count": 2023, "next": "