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=38
https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/units/?format=api&page=39", "previous": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/units/?format=api&page=37", "results": [ { "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api", "source": [ "Another important way of sharing your work is to record the audio and upload it to [SoundCloud](https://soundcloud.com). Once you've uploaded your piece, other users can comment and discuss your work. I also recommend placing a link to a [Gist](https://gist.github.com) of your code in the track description." ], "previous_source": "", "target": [ "" ], "id_hash": -132038299745875736, "content_hash": -132038299745875736, "location": "B.03-Sharing.md:29", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2007, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 46, "source_unit": "https://hosted.weblate.org/api/units/14782402/?format=api", "priority": 100, "id": 7037647, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7e2ae7ddaee688e8", "url": "https://hosted.weblate.org/api/units/7037647/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-11T08:44:43+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": [ "To record your work, hit the `Rec` button in the toolbar, and recording starts immediately. Hit `Run` to start your code if it isn't already in progress. When you're done recording, press the flashing `Rec` button again, and you'll be prompted to enter a filename. The recording will be saved as a WAV file, which can be edited and converted to MP3 by any number of free programs (try Audacity for instance)." ], "previous_source": "", "target": [ "" ], "id_hash": -8082506465366094873, "content_hash": -8082506465366094873, "location": "B.03-Sharing.md:35", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2008, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 72, "source_unit": "https://hosted.weblate.org/api/units/14783565/?format=api", "priority": 100, "id": 7037648, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=0fd52b31550e4be7", "url": "https://hosted.weblate.org/api/units/7037648/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-20T14:21:58+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": [ "Hope" ], "previous_source": "", "target": [ "" ], "id_hash": 8549198178437045208, "content_hash": 8549198178437045208, "location": "B.03-Sharing.md:43", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2009, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://hosted.weblate.org/api/units/14783072/?format=api", "priority": 100, "id": 7037649, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=f6a4da729c281bd8", "url": "https://hosted.weblate.org/api/units/7037649/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-13T14:48:20+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 encourage you to share your work and really hope that we'll all teach each other new tricks and moves with Sonic Pi. I'm really excited by what you'll have to show me." ], "previous_source": "", "target": [ "" ], "id_hash": -4396531201947253925, "content_hash": -4396531201947253925, "location": "B.03-Sharing.md:45", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2010, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 33, "source_unit": "https://hosted.weblate.org/api/units/14782403/?format=api", "priority": 100, "id": 7037650, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=42fc622a6803435b", "url": "https://hosted.weblate.org/api/units/7037650/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-11T08:44:43+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": [ "B.4 Performing" ], "previous_source": "", "target": [ "" ], "id_hash": -3362961520164010908, "content_hash": -3362961520164010908, "location": "B.04-Performing.md:1", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2011, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/14838357/?format=api", "priority": 100, "id": 7037651, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=51545c50ad510464", "url": "https://hosted.weblate.org/api/units/7037651/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2017-12-12T14:53:32+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": [ "Performing" ], "previous_source": "", "target": [ "" ], "id_hash": 7793392021107463659, "content_hash": 7793392021107463659, "location": "B.04-Performing.md:3", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2012, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://hosted.weblate.org/api/units/14783073/?format=api", "priority": 100, "id": 7037652, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=ec27b0c0857955eb", "url": "https://hosted.weblate.org/api/units/7037652/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-13T14:48:20+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 the most exciting aspects of Sonic Pi is that it enables you to use code as a *musical instrument*. This means that writing code live can now be seen as a new way of performing music." ], "previous_source": "", "target": [ "" ], "id_hash": 2715909345154107035, "content_hash": 2715909345154107035, "location": "B.04-Performing.md:5", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2013, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 38, "source_unit": "https://hosted.weblate.org/api/units/14782404/?format=api", "priority": 100, "id": 7037653, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=a5b0d928f013069b", "url": "https://hosted.weblate.org/api/units/7037653/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-11T08:44:43+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": [ "We call this *Live Coding*." ], "previous_source": "", "target": [ "" ], "id_hash": 8551097900413575109, "content_hash": 8551097900413575109, "location": "B.04-Performing.md:9", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2014, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://hosted.weblate.org/api/units/14782405/?format=api", "priority": 100, "id": 7037654, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=f6ab9a3c19bd5fc5", "url": "https://hosted.weblate.org/api/units/7037654/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-11T08:44:43+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": [ "Show Your Screen" ], "previous_source": "", "target": [ "" ], "id_hash": -5226889831419645713, "content_hash": -5226889831419645713, "location": "B.04-Performing.md:11", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2015, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://hosted.weblate.org/api/units/14783074/?format=api", "priority": 100, "id": 7037655, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=37765b643e2170ef", "url": "https://hosted.weblate.org/api/units/7037655/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-13T14:48:20+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": [ "When you live code I recommend you *show your screen* to your audience. Otherwise it's like playing a guitar but hiding your fingers and the strings. When I practice at home I use a Raspberry Pi and a little mini projector on my living room wall. You could use your TV or one of your school/work projectors to give a show. Try it, it's a lot of fun." ], "previous_source": "", "target": [ "" ], "id_hash": -1109363893492333138, "content_hash": -1109363893492333138, "location": "B.04-Performing.md:13", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2016, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 68, "source_unit": "https://hosted.weblate.org/api/units/14782406/?format=api", "priority": 100, "id": 7037656, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=709abf6aa1bec5ae", "url": "https://hosted.weblate.org/api/units/7037656/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-11T08:44:43+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": [ "Form a Band" ], "previous_source": "", "target": [ "" ], "id_hash": 1805050273177108052, "content_hash": 1805050273177108052, "location": "B.04-Performing.md:20", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2017, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://hosted.weblate.org/api/units/14783075/?format=api", "priority": 100, "id": 7037657, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=990cd3a8ee717e54", "url": "https://hosted.weblate.org/api/units/7037657/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-13T14:48:20+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": [ "TOPLAP" ], "previous_source": "", "target": [ "" ], "id_hash": 1899086892659882512, "content_hash": 1899086892659882512, "location": "B.04-Performing.md:29", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2020, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://hosted.weblate.org/api/units/14783076/?format=api", "priority": 100, "id": 7037659, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=9a5ae9779297ba10", "url": "https://hosted.weblate.org/api/units/7037659/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-13T14:48:20+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": [ "Live coding isn't completely new - a small number of people have been doing it for a few years now, typically using bespoke systems they've built for themselves. A great place to go and find out more about other live coders and systems is [TOPLAP](http://toplap.org)." ], "previous_source": "", "target": [ "" ], "id_hash": 2978544083345621307, "content_hash": 2978544083345621307, "location": "B.04-Performing.md:31", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2021, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 45, "source_unit": "https://hosted.weblate.org/api/units/14782408/?format=api", "priority": 100, "id": 7037660, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=a955ea1013a8413b", "url": "https://hosted.weblate.org/api/units/7037660/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-11T08:44:44+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": [ "Algorave" ], "previous_source": "", "target": [ "" ], "id_hash": 4107520988844035865, "content_hash": 4107520988844035865, "location": "B.04-Performing.md:36", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2022, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://hosted.weblate.org/api/units/14783077/?format=api", "priority": 100, "id": 7037661, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=b900d893a7828f19", "url": "https://hosted.weblate.org/api/units/7037661/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-13T14:48:20+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": [ "Another great resource for exploring the live coding world is [Algorave](http://algorave.com). Here you can find all about a specific strand of live coding for making music in nightclubs." ], "previous_source": "", "target": [ "" ], "id_hash": -2903653191217004596, "content_hash": -2903653191217004596, "location": "B.04-Performing.md:38", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2023, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 28, "source_unit": "https://hosted.weblate.org/api/units/14782409/?format=api", "priority": 100, "id": 7037662, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=57b426ce8a94bfcc", "url": "https://hosted.weblate.org/api/units/7037662/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2016-05-11T08:44:44+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": [ "But wait, how rude of me! Let me introduce myself - I'm [Sam Aaron](https://twitter.com/samaaron) - the chap that created Sonic Pi. You can find me at [@samaaron](http://twitter.com/samaaron) on Twitter and I'd be more than happy to say hello to you. You might also be interested in finding out more about my [Live Coding Performances](https://youtube.com/samaaron) where I code with Sonic Pi live in front of audiences." ], "previous_source": "", "target": [ "" ], "id_hash": 4428749692172350067, "content_hash": 4428749692172350067, "location": "01-Welcome-to-Sonic-Pi.md:10", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 4, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 65, "source_unit": "https://hosted.weblate.org/api/units/15386665/?format=api", "priority": 100, "id": 15387501, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=bd761461690db273", "url": "https://hosted.weblate.org/api/units/15387501/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.495381+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": [ "Finally, watching others live code is a really great way to learn. I regularly stream live on [https://youtube.com/samaaron](http://youtube.com/samaaron) so please do drop by, say hi and ask me lots of questions :-)" ], "previous_source": "", "target": [ "" ], "id_hash": 3282870123903040520, "content_hash": 3282870123903040520, "location": "01-Welcome-to-Sonic-Pi.md:28", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 7, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 32, "source_unit": "https://hosted.weblate.org/api/units/15386667/?format=api", "priority": 100, "id": 15387502, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=ad8f18fbfafbbc08", "url": "https://hosted.weblate.org/api/units/15387502/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.539328+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": [ "Let's get started, copy the following code into an empty buffer:" ], "previous_source": "", "target": [ "" ], "id_hash": -7003445830740676252, "content_hash": -7003445830740676252, "location": "01.1-Live-Coding.md:19", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 15, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 11, "source_unit": "https://hosted.weblate.org/api/units/15386669/?format=api", "priority": 100, "id": 15387503, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=1ecec31f6f02f164", "url": "https://hosted.weblate.org/api/units/15387503/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.547431+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 orange buttons allow you to manipulate the code editor. The *Size +* and *Size -* buttons allow you to make the text bigger and smaller." ], "previous_source": "", "target": [ "" ], "id_hash": 4058969495968609367, "content_hash": 4058969495968609367, "location": "01.2-Exploring-the-Interface.md:31", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 54, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 26, "source_unit": "https://hosted.weblate.org/api/units/15386671/?format=api", "priority": 100, "id": 15387504, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=b8545b40515af457", "url": "https://hosted.weblate.org/api/units/15387504/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.561283+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": [ "Whilst we're on this subject, let me just give you one piece of advice I've learned over my years of live coding with music - *there are no mistakes, only opportunities*. This is something I've often heard in relation to jazz but it works equally well with live coding. No matter how experienced you are - from a complete beginner to a seasoned live coder, you'll run some code that has a completely unexpected outcome. It might sound insanely cool - in which case run with it. However, it might sound totally jarring and out of place. It doesn't matter that it happened - what matters is what you do next with it. Take the sound, manipulate it and morph it into something awesome. The crowd will go *wild*." ], "previous_source": "", "target": [ "" ], "id_hash": -8633432133849265125, "content_hash": -8633432133849265125, "location": "01.3-Learning-through-Play.md:12", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 73, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 129, "source_unit": "https://hosted.weblate.org/api/units/15386673/?format=api", "priority": 100, "id": 15387505, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=082fe3375578cc1b", "url": "https://hosted.weblate.org/api/units/15387505/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.602910+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": [ "So, lower numbers make lower pitched beeps and higher numbers make higher pitched beeps. Just like on a piano, the keys at the lower part of the piano (the left hand side) play lower notes and the keys on the higher part of the piano (the right hand side) play higher notes." ], "previous_source": "", "target": [ "" ], "id_hash": -6303282777418358695, "content_hash": -6303282777418358695, "location": "02.1-Your-First-Beeps.md:33", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 93, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 52, "source_unit": "https://hosted.weblate.org/api/units/15386675/?format=api", "priority": 100, "id": 15387506, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=28863db5cd242059", "url": "https://hosted.weblate.org/api/units/15387506/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.614677+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": [ "It turns out that the C of the 4th octave (C in English notation) is identified by the number 60. `play 60` therefore plays the C of the 4th octave. To play the next piano key to the right, you have to add 1 to 60 and then type `play 61`, which in this case is the black key of the C sharp. To play the D, the next key to the right, `play 62`." ], "previous_source": "", "target": [ "" ], "id_hash": -5194176889889300037, "content_hash": -5194176889889300037, "location": "02.1-Your-First-Beeps.md:38", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 94, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 75, "source_unit": "https://hosted.weblate.org/api/units/15386677/?format=api", "priority": 100, "id": 15387507, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=37ea93a3799ae1bb", "url": "https://hosted.weblate.org/api/units/15387507/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.620590+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": [ "So far we've had quite a lot of fun making beeps. However, you're probably starting to get bored of the basic beep noise. Is that all Sonic Pi has to offer? Surely there's more to live coding than just playing beeps? Yes there is, and in this section we'll explore some of the exciting range of sounds that Sonic Pi has to offer." ], "previous_source": "", "target": [ "" ], "id_hash": 7632382453599122899, "content_hash": 7632382453599122899, "location": "02.3-Switching-Synths.md:5", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 154, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 63, "source_unit": "https://hosted.weblate.org/api/units/15386679/?format=api", "priority": 100, "id": 15387508, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=e9ebab6748b335d3", "url": "https://hosted.weblate.org/api/units/15387508/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.772449+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 has a number of different instruments it calls synths (which is *short for synthesisers*). Whereas samples represent pre-recorded sounds, synths are capable of generating new sounds depending on how you control them (which we'll explore later in this tutorial). Sonic Pi's synths are very powerful and expressive and you'll have a lot of fun exploring and playing with them. First, let's learn how to select the current synth to use." ], "previous_source": "", "target": [ "" ], "id_hash": -1828504781485499127, "content_hash": -1828504781485499127, "location": "02.3-Switching-Synths.md:13", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 155, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 72, "source_unit": "https://hosted.weblate.org/api/units/15386681/?format=api", "priority": 100, "id": 15387509, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=669fd896cd741d09", "url": "https://hosted.weblate.org/api/units/15387509/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.778698+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_synth :saw\nplay 38\nsleep 0.25\nplay 50\nsleep 0.25\nplay 62" ], "previous_source": "", "target": [ "" ], "id_hash": -408915671595713275, "content_hash": -408915671595713275, "location": "02.3-Switching-Synths.md:25", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 158, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 12, "source_unit": "https://hosted.weblate.org/api/units/15386683/?format=api", "priority": 100, "id": 15387510, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7a533d5cfb727d05", "url": "https://hosted.weblate.org/api/units/15387510/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.788693+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_synth :prophet\nplay 38\nsleep 0.25\nplay 50\nsleep 0.25\nplay 62" ], "previous_source": "", "target": [ "" ], "id_hash": 6613037957880517221, "content_hash": 6613037957880517221, "location": "02.3-Switching-Synths.md:36", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 160, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 12, "source_unit": "https://hosted.weblate.org/api/units/15386685/?format=api", "priority": 100, "id": 15387511, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=dbc63afc3da49265", "url": "https://hosted.weblate.org/api/units/15387511/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.797511+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_synth :saw\nplay 38\nsleep 0.25\nplay 50\nsleep 0.25\nuse_synth :prophet\nplay 57" ], "previous_source": "", "target": [ "" ], "id_hash": 892025190425415906, "content_hash": 892025190425415906, "location": "02.3-Switching-Synths.md:47", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 162, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 14, "source_unit": "https://hosted.weblate.org/api/units/15386687/?format=api", "priority": 100, "id": 15387512, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=8c611c2f3e01d0e2", "url": "https://hosted.weblate.org/api/units/15387512/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.805457+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": [ "Now multiple sounds at the same time (by not sleeping between successive calls to `play`):" ], "previous_source": "", "target": [ "" ], "id_hash": 1928678206565733414, "content_hash": 1928678206565733414, "location": "02.3-Switching-Synths.md:57", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 163, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 15, "source_unit": "https://hosted.weblate.org/api/units/15386689/?format=api", "priority": 100, "id": 15387513, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=9ac40a9c3c635426", "url": "https://hosted.weblate.org/api/units/15387513/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.811209+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_synth :tb303\nplay 38\nuse_synth :dsaw\nplay 50\nuse_synth :prophet\nplay 57" ], "previous_source": "", "target": [ "" ], "id_hash": -3507345455500089002, "content_hash": -3507345455500089002, "location": "02.3-Switching-Synths.md:60", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 164, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 12, "source_unit": "https://hosted.weblate.org/api/units/15386691/?format=api", "priority": 100, "id": 15387514, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=4f5367e414562956", "url": "https://hosted.weblate.org/api/units/15387514/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.817088+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": [ "To see which synths Sonic Pi has for you to play with take a look at the Synths option in the menu at the bottom of this help screen (between Examples & Fx). There are over 20 to choose from. Here are a few of my favourites:" ], "previous_source": "", "target": [ "" ], "id_hash": -16071833711952910, "content_hash": -16071833711952910, "location": "02.3-Switching-Synths.md:77", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 167, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 47, "source_unit": "https://hosted.weblate.org/api/units/15386693/?format=api", "priority": 100, "id": 15387515, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7fc6e6c09cb5bbf2", "url": "https://hosted.weblate.org/api/units/15387515/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:43.826811+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": [ "Notice how Sonic Pi doesn't wait for a sound to finish before starting the next sound. The `sleep` command only describes the separation of the *triggering* of the sounds. This allows you to easily layer sounds together creating interesting overlap effects." ], "previous_source": "", "target": [ "" ], "id_hash": -1052329051429763058, "content_hash": -1052329051429763058, "location": "03.1-Triggering-Samples.md:36", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 247, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 41, "source_unit": "https://hosted.weblate.org/api/units/15386695/?format=api", "priority": 100, "id": 15387516, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7165604d9eb4880e", "url": "https://hosted.weblate.org/api/units/15387516/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:44.005177+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": [ "There are two ways to discover the range of samples provided in Sonic Pi. First, you can use this help system. Click on Samples in the menu at the bottom of this help screen, choose your category and then you'll see a list of available sounds." ], "previous_source": "", "target": [ "" ], "id_hash": -798813669776020634, "content_hash": -798813669776020634, "location": "03.1-Triggering-Samples.md:44", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 249, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 46, "source_unit": "https://hosted.weblate.org/api/units/15386697/?format=api", "priority": 100, "id": 15387517, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=74ea0b331b462b66", "url": "https://hosted.weblate.org/api/units/15387517/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:44.014320+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": [ "So how do you play any arbitrary WAV, AIFF, OGG, OGA or FLAC file on your computer? All you need to do is pass the path of that file to `sample`:" ], "previous_source": "", "target": [ "" ], "id_hash": 4917192761985389484, "content_hash": 4917192761985389484, "location": "03.6-External-Samples.md:28", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 380, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 31, "source_unit": "https://hosted.weblate.org/api/units/15386699/?format=api", "priority": 100, "id": 15387518, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=c43d60c3be42d3ac", "url": "https://hosted.weblate.org/api/units/15387518/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:44.336734+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": [ "We can even use multiple filters at the same time. For example, if we want a sample whose filename contains both the substrings `\"120\"` and `\"A#\"` we can find it easily with the following code:" ], "previous_source": "", "target": [ "" ], "id_hash": -7876595191795689995, "content_hash": -7876595191795689995, "location": "03.7-Sample-Packs.md:120", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 418, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 35, "source_unit": "https://hosted.weblate.org/api/units/15386701/?format=api", "priority": 100, "id": 15387519, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=12b0b667b177d5f5", "url": "https://hosted.weblate.org/api/units/15387519/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:44.542642+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 sample filter pre-arg system understands two types of information: *sources* and *filters*. Sources are information used to create the list of potential candidates. A source can take two forms:" ], "previous_source": "", "target": [ "" ], "id_hash": 8329748587563347790, "content_hash": 8329748587563347790, "location": "03.7-Sample-Packs.md:138", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 423, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 30, "source_unit": "https://hosted.weblate.org/api/units/15386703/?format=api", "priority": 100, "id": 15387520, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=f39936351e066f4e", "url": "https://hosted.weblate.org/api/units/15387520/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:44.561464+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": [ "`\"/path/to/samples\"` - a string representing a valid path to a directory" ], "previous_source": "", "target": [ "" ], "id_hash": -5771971191561566043, "content_hash": -5771971191561566043, "location": "03.7-Sample-Packs.md:142", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 424, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 11, "source_unit": "https://hosted.weblate.org/api/units/15386705/?format=api", "priority": 100, "id": 15387521, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=2fe5d6c8512f48a5", "url": "https://hosted.weblate.org/api/units/15387521/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:44.568249+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": [ "`\"/path/to/samples/foo.wav\"` - a string representing a valid path to a sample" ], "previous_source": "", "target": [ "" ], "id_hash": -1200840680975044339, "content_hash": -1200840680975044339, "location": "03.7-Sample-Packs.md:143", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 425, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 11, "source_unit": "https://hosted.weblate.org/api/units/15386707/?format=api", "priority": 100, "id": 15387522, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=6f55c1c352a4f10d", "url": "https://hosted.weblate.org/api/units/15387522/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:44.575037+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": [ "define :my_sound do\n play 50\n sleep 1\nend\nin_thread(name: :looper) do\n loop do\n my_sound\n end\nend" ], "previous_source": "", "target": [ "" ], "id_hash": 7867354825815975342, "content_hash": 7867354825815975342, "location": "09.1-Live-Coding-Fundamentals.md:18", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 918, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 16, "source_unit": "https://hosted.weblate.org/api/units/15386709/?format=api", "priority": 100, "id": 15387523, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=ed2e7587f2b765ae", "url": "https://hosted.weblate.org/api/units/15387523/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:45.793261+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": [ "What we have here is a function definition which just plays note 50 and sleeps for a beat. We then define a named thread called `:looper` which just loops around calling `my_sound` repeatedly." ], "previous_source": "", "target": [ "" ], "id_hash": 913636961612486707, "content_hash": 913636961612486707, "location": "09.1-Live-Coding-Fundamentals.md:35", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 920, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 33, "source_unit": "https://hosted.weblate.org/api/units/15386711/?format=api", "priority": 100, "id": 15387524, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=8cade3f9d6945833", "url": "https://hosted.weblate.org/api/units/15387524/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:45.803278+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": [ "It didn't add a new layer because we're using named threads which only allow one thread for each name. Also, the sound changed because we *redefined* the function. We gave `:my_sound` a new definition. When the `:looper` thread looped around it simply called the new definition." ], "previous_source": "", "target": [ "" ], "id_hash": -1645398302055203860, "content_hash": -1645398302055203860, "location": "09.1-Live-Coding-Fundamentals.md:47", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 924, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 46, "source_unit": "https://hosted.weblate.org/api/units/15386713/?format=api", "priority": 100, "id": 15387525, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=692a5ef643f7fbec", "url": "https://hosted.weblate.org/api/units/15387525/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:45.816956+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": [ "define :my_sound do\n use_synth :tb303\n play 50, release: 0.3\n sleep 0.25\nend" ], "previous_source": "", "target": [ "" ], "id_hash": -7716537898738992865, "content_hash": -7716537898738992865, "location": "09.1-Live-Coding-Fundamentals.md:55", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 926, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 12, "source_unit": "https://hosted.weblate.org/api/units/15386715/?format=api", "priority": 100, "id": 15387526, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=14e959aa41d2b91f", "url": "https://hosted.weblate.org/api/units/15387526/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:45.826162+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": [ "define :my_sound do\n use_synth :tb303\n play chord(:e3, :minor), release: 0.3\n sleep 0.5\nend" ], "previous_source": "", "target": [ "" ], "id_hash": 9093788767169685852, "content_hash": 9093788767169685852, "location": "09.1-Live-Coding-Fundamentals.md:67", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 928, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 13, "source_unit": "https://hosted.weblate.org/api/units/15386717/?format=api", "priority": 100, "id": 15387527, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=fe33a0b3e996295c", "url": "https://hosted.weblate.org/api/units/15387527/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:45.835348+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": [ "define :my_sound do\n use_synth :tb303\n play choose(chord(:e3, :minor)), release: 0.3\n sleep 0.25\nend" ], "previous_source": "", "target": [ "" ], "id_hash": -4120649786577078177, "content_hash": -4120649786577078177, "location": "09.1-Live-Coding-Fundamentals.md:77", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 930, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 13, "source_unit": "https://hosted.weblate.org/api/units/15386719/?format=api", "priority": 100, "id": 15387528, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=46d082d9eb48b85f", "url": "https://hosted.weblate.org/api/units/15387528/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:45.844697+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": [ "define :my_sound do\n use_synth :tb303\n play choose(chord(:e3, :minor)), release: 0.2, cutoff: rrand(60, 130)\n sleep 0.25\nend" ], "previous_source": "", "target": [ "" ], "id_hash": 3023613322746822754, "content_hash": 3023613322746822754, "location": "09.1-Live-Coding-Fundamentals.md:87", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 932, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 16, "source_unit": "https://hosted.weblate.org/api/units/15386721/?format=api", "priority": 100, "id": 15387529, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=a9f6084c18768062", "url": "https://hosted.weblate.org/api/units/15387529/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:45.854068+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": [ "define :my_sound do\n use_synth :tb303\n sample :drum_bass_hard, rate: rrand(0.5, 2)\n play choose(chord(:e3, :minor)), release: 0.2, cutoff: rrand(60, 130)\n sleep 0.25\nend" ], "previous_source": "", "target": [ "" ], "id_hash": -3718922336559285084, "content_hash": -3718922336559285084, "location": "09.1-Live-Coding-Fundamentals.md:97", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 934, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 21, "source_unit": "https://hosted.weblate.org/api/units/15386723/?format=api", "priority": 100, "id": 15387530, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=4c63bbd6ae1e3ca4", "url": "https://hosted.weblate.org/api/units/15387530/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:45.863237+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 order to get information from an external MIDI device into Sonic Pi we first need to connect it to our computer. Typically this will be via a USB connection, although older equipment will have a 5-pin DIN connector for which you'll need hardware support for your computer (for example, some sound cards have MIDI DIN connectors). Once you've connected your device, launch Sonic Pi and take a look at the IO section of the Preferences panel. You should see your device listed there. If not, try hitting the 'Reset MIDI' button and see if it appears. If you're still not seeing anything, the next thing to try is to consult your operating system's MIDI config to see if it sees your device. Failing all that, feel free to ask questions in our friendly forums: https://in-thread.sonic-pi.net" ], "previous_source": "", "target": [ "" ], "id_hash": 6496491094221493155, "content_hash": 6496491094221493155, "location": "11.1-MIDI-In.md:13", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1108, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 136, "source_unit": "https://hosted.weblate.org/api/units/15386725/?format=api", "priority": 100, "id": 15387531, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=da282c3af58f93a3", "url": "https://hosted.weblate.org/api/units/15387531/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:46.300276+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": [ "with_fx :reverb, room: 1 do\n live_audio :moog\nend\nlive_loop :moog_trigger do\n midi (octs :e1, 3).tick, sustain: 0.1\n sleep 0.125\nend" ], "previous_source": "", "target": [ "" ], "id_hash": 9090423666810985772, "content_hash": 9090423666810985772, "location": "11.2-MIDI-Out.md:90", "context": "", "note": "", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1157, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 20, "source_unit": "https://hosted.weblate.org/api/units/15386727/?format=api", "priority": 100, "id": 15387532, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=fe27ac296e129d2c", "url": "https://hosted.weblate.org/api/units/15387532/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:46.427253+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": [ "If you have any questions that haven't been covered in the tutorial, then please jump onto the [Sonic Pi community forums](https://in-thread.sonic-pi.net/) and ask your question there. You'll find someone friendly and willing to lend a hand." ], "previous_source": "", "target": [ "" ], "id_hash": -541936576372176216, "content_hash": -541936576372176216, "location": "99-Conclusions.md:11", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1256, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 36, "source_unit": "https://hosted.weblate.org/api/units/15386729/?format=api", "priority": 100, "id": 15387533, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=787aa78e1a8b8aa8", "url": "https://hosted.weblate.org/api/units/15387533/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:46.685226+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": [ "[Sam Aaron](https://twitter.com/samaaron)" ], "previous_source": "", "target": [ "" ], "id_hash": -5616386783116679842, "content_hash": -5616386783116679842, "location": "99-Conclusions.md:26", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1260, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://hosted.weblate.org/api/units/15386731/?format=api", "priority": 100, "id": 15387534, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=320e95fa4721a55e", "url": "https://hosted.weblate.org/api/units/15387534/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:46.698369+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": [ "4. Live Code" ], "previous_source": "", "target": [ "" ], "id_hash": 4882780616480309696, "content_hash": 4882780616480309696, "location": "A.01-tips.md:110", "context": "", "note": "", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1290, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://hosted.weblate.org/api/units/15386733/?format=api", "priority": 100, "id": 15387535, "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=c3c31f19c178c1c0", "url": "https://hosted.weblate.org/api/units/15387535/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2020-01-23T22:19:46.768995+01:00", "last_updated": "2023-05-23T12:28:47.723593+02:00" } ] }{ "count": 2023, "next": "