{"id":924,"date":"2017-01-16T16:00:50","date_gmt":"2017-01-16T07:00:50","guid":{"rendered":"http:\/\/blog.criware.com\/?p=924"},"modified":"2017-01-16T16:08:18","modified_gmt":"2017-01-16T07:08:18","slug":"atomcrafts-randomization-features","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2017\/01\/16\/atomcrafts-randomization-features\/","title":{"rendered":"AtomCraft&#8217;s Randomization Features"},"content":{"rendered":"<p><em>This post explains how to avoid the repetitive nature of game audio using AtomCraft\u2019s randomization features<\/em><em>.<\/em><\/p>\n<p>Unlike the real world, games offer a limited number of interactions, which results in repetitiveness. As the audio follows visual cues and gameplay, sounds are played again and again, becoming annoying for the listener and breaking the sense of immersion. Therefore, avoiding audio repetitiveness is a significant part of the sound designer\u2019s job.<\/p>\n<p>Sound designers and audio integrators on a project must maximize the audio experience while dealing with a limited amount of memory. This is why the extensive randomization options of AtomCraft are critical to a successful game audio implementation. Thanks to these options, ADX2 can generate an almost infinite number of variations out of a single audio file and this post will show you how to use AtomCraft\u2019s randomization features in your game.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>The audio randomization in AtomCraft<\/strong><\/p>\n<p>AtomCraft allows for considerable audio randomization. From volume to pitch, EQ to panning and even AISAC real-time control, all parameters can be randomized. Moreover, this can be done at any level in the Cue\u2019s hierarchy. For instance, it is possible to define different randomization settings for each sound of a track and have Track and Cue randomization applied at the same time, as depicted below.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-926\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture02_Randomization-in-AtomCraft_Structure.png\" alt=\"Blog Picture02_Randomization in AtomCraft_Structure\" width=\"800\" height=\"445\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture02_Randomization-in-AtomCraft_Structure.png 800w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture02_Randomization-in-AtomCraft_Structure-300x167.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture02_Randomization-in-AtomCraft_Structure-768x427.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><br \/>\nThanks to all those randomization parameters, the audio engine can produce countless variations while using a very small pool of sound effects. AtomCraft also allows for nesting of Cues, which opens the door to even more randomization possibilities. Let\u2019s take a closer look!<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Five types of Randomization available in AtomCraft<\/strong><\/p>\n<p><span style=\"text-decoration: underline;\">1 &#8211; Pitch<\/span><\/p>\n<p>AtomCraft allows for simultaneous pitch randomization to each audio clip, Track and Cue of the project.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-927\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture03_Randomization-Pitch_param-1024x603.png\" alt=\"Blog Picture03_Randomization - Pitch_param\" width=\"800\" height=\"471\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture03_Randomization-Pitch_param-1024x603.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture03_Randomization-Pitch_param-300x177.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture03_Randomization-Pitch_param-768x452.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture03_Randomization-Pitch_param.png 1229w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>In the example above we have selected the first audio clip and applied a random range to the pitch parameter. We could also have applied different randomization settings on the second audio clip (called \u201cglass.wav\u201d).<\/p>\n<p>Setting the pitch random range is very easy and intuitive: click on the slider and move the mouse up and down. That\u2019s all! The random range will be displayed as a green region on the slider.<\/p>\n<p><span style=\"text-decoration: underline;\">2 &#8211; Volume<\/span><\/p>\n<p>Just like pitch randomization, we can add volume randomization to each element of a Cue.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-928\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture04_Randomization-Vol_param-1024x537.png\" alt=\"Blog Picture04_Randomization - Vol_param\" width=\"800\" height=\"420\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture04_Randomization-Vol_param-1024x537.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture04_Randomization-Vol_param-300x157.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture04_Randomization-Vol_param-768x403.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture04_Randomization-Vol_param-390x205.png 390w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture04_Randomization-Vol_param.png 1364w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p><span style=\"text-decoration: underline;\">3 &#8211;\u00a0EQ<\/span><\/p>\n<p>It\u2019s also possible to apply a random EQ variation each time a track or a sound clip is played by the engine.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-929\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture05_Randomization-EQ_param.png\" alt=\"Blog Picture05_Randomization - EQ_param\" width=\"197\" height=\"175\" \/><\/p>\n<p>In the example above we have applied a random range to the frequency cutoff and the Q factor of a Track. This means that each time an audio clip from this Track plays, the EQ will be slightly different. This is a very effective way to add a lot of variety to your game audio implementation.<\/p>\n<p>The EQ randomization can be applied to the Track itself or directly to each audio clip. To add a random EQ to an audio clip: go to the FX2 tab, uncheck the \u201cRefer to Track Settings\u201d box, select the type of filter you need and finally adjust the settings.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-930\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture06_Randomization-EQ_param_2.png\" alt=\"Blog Picture06_Randomization - EQ_param_2\" width=\"402\" height=\"196\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture06_Randomization-EQ_param_2.png 402w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture06_Randomization-EQ_param_2-300x146.png 300w\" sizes=\"auto, (max-width: 402px) 100vw, 402px\" \/><\/p>\n<p><span style=\"text-decoration: underline;\">4 &#8211; Panning<\/span><\/p>\n<p>For a 2D sound, it is also possible to add a random surround panning to each audio clip, Track and Cue.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-931\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture07_Randomization-Pan_param.png\" alt=\"Blog Picture07_Randomization - Pan_param\" width=\"510\" height=\"220\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture07_Randomization-Pan_param.png 510w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture07_Randomization-Pan_param-300x129.png 300w\" sizes=\"auto, (max-width: 510px) 100vw, 510px\" \/><\/p>\n<p>In the example above we have added a random surround panning to an audio clip. It will now play at a different position in the surround field each time a playback request occurs.<\/p>\n<p><span style=\"text-decoration: underline;\">5 &#8211; AISAC with random &amp; auto modulation control types<\/span><\/p>\n<p>Finally, we can use the two different AISAC auto-control types to add another layer of randomization on each element of a Cue.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-932\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture08_Randomization-Automod_param-1024x622.png\" alt=\"Blog Picture08_Randomization - Automod_param\" width=\"800\" height=\"486\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture08_Randomization-Automod_param-1024x622.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture08_Randomization-Automod_param-300x182.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture08_Randomization-Automod_param-768x467.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture08_Randomization-Automod_param.png 1150w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>In the example above we have added an AISAC of the \u201cRandom\u201d control type to a Track. As you can see, an AISAC can be used to assign a new random value, from the mapping curve, each time the sound is played. For instance, it can be very useful if you want to create random variations that are still constrained by specific values.<\/p>\n<p>To use this function: select a Track, add an AISAC, specify \u201cRandom\u201d for the AISAC control type and edit the curve.<\/p>\n<p>The second available control type is \u201c<strong>Auto Modulation<\/strong>\u201d. When you select this control type, the value of the AISAC is automatically changed following the curve and over the specified time.<\/p>\n<p>To use this function: select a Track and an AISAC, indicate if the curve should loop or if it is a one- shot, then draw your curve and tell the engine over what time period (in ms) you want the parameter change to occur.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-933\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture09_Randomization-Automod_param_2-1024x316.png\" alt=\"Blog Picture09_Randomization - Automod_param_2\" width=\"800\" height=\"247\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture09_Randomization-Automod_param_2-1024x316.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture09_Randomization-Automod_param_2-300x93.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture09_Randomization-Automod_param_2-768x237.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture09_Randomization-Automod_param_2.png 1146w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong>AtomCraft\u2019s nesting features<\/strong><\/p>\n<p>The nesting of Cues and Subsequences in AtomCraft allows for advanced randomization logic. In addition, since Cues can reference other Cues, when these Cues are of type \u201cRandom\u201d or \u201cRandom no Repeat\u201d, a lot of variations become possible.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-934\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture10_Randomization-in-AtomCraft_Nested-cues_01.png\" alt=\"Blog Picture10_Randomization in AtomCraft_Nested cues_01\" width=\"800\" height=\"445\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture10_Randomization-in-AtomCraft_Nested-cues_01.png 800w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture10_Randomization-in-AtomCraft_Nested-cues_01-300x167.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture10_Randomization-in-AtomCraft_Nested-cues_01-768x427.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>A Subsequence offers the same features than a Cue. It is essentially a whole Cue within a Track, so Tracks and Waveforms can be added, edited and heavily randomized directly in the Subsequence. Like Cues, Subsequences can also be nested. Each Subsequence can contain the sound effects we want to randomize and we can also randomize between Subsequences as shown below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-935\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture11_Randomization-in-AtomCraft_Nested-cues_02.png\" alt=\"Blog Picture11_Randomization in AtomCraft_Nested cues_02\" width=\"800\" height=\"445\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture11_Randomization-in-AtomCraft_Nested-cues_02.png 800w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture11_Randomization-in-AtomCraft_Nested-cues_02-300x167.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture11_Randomization-in-AtomCraft_Nested-cues_02-768x427.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p><strong>The example project<\/strong><\/p>\n<p>If you want hear some examples of how the randomization can be used <em>to avoid audio repetition in your game project<\/em><em>, <\/em>we have created a small project that you can download below<em>:<\/em><\/p>\n<p><a href=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Randomization.zip\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-882 size-full\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture12_Randomization-zip-file.png\" alt=\"Blog-Picture12_Randomization-zip-file.png\" width=\"149\" height=\"167\" \/><\/a><\/p>\n[Note: this project requires the version 2.24 of AtomCraft or higher.]\n<p>In this project we provide examples for the five types of randomization available in AtomCraft. We also demonstrate how the nesting of Cues and Subsequence can help to minimize the audio repetitiveness.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-937\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture13_Randomization-Project_WorkUnit.png\" alt=\"Blog Picture13_Randomization - Project_WorkUnit\" width=\"445\" height=\"366\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture13_Randomization-Project_WorkUnit.png 445w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture13_Randomization-Project_WorkUnit-300x247.png 300w\" sizes=\"auto, (max-width: 445px) 100vw, 445px\" \/><\/p>\n<p>The project is divided in 3 CueFolders. The first folder &#8211; called \u201cRandomization_Functions\u201d &#8211; is used to demonstrate some of the parameter randomization features available. The 2 other folders are used to show the nesting features.<\/p>\n<p><span style=\"text-decoration: underline;\">Randomization Functions<\/span><\/p>\n<p>The first 4 Cues show the basic randomization methods we have explained earlier, which are: Volume, Pitch, EQ and Panning.<\/p>\n<p>The \u201cAuto-AISAC\u201d Cue demonstrates how to use the \u201cRandom\u201d AISAC Control Type to create random variations constrained to specific values. In that case, we force the random values onto a musical scale.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-938\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture14_Randomization-Project_AISAC-1024x523.png\" alt=\"Blog Picture14_Randomization - Project_AISAC\" width=\"800\" height=\"409\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture14_Randomization-Project_AISAC-1024x523.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture14_Randomization-Project_AISAC-300x153.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture14_Randomization-Project_AISAC-768x392.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture14_Randomization-Project_AISAC.png 1334w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p><span style=\"text-decoration: underline;\">Cue Nesting<\/span><\/p>\n<p>In this example we show how to use the Cue nesting function to randomize a simple shotgun Sequential Cue. [If you want to learn more about the Cue types in AtomCraft, we recommend that you watch this <a href=\"https:\/\/www.youtube.com\/watch?v=E8cwwLrT9JM\">tutorial video<\/a>].<\/p>\n<p>\u201cMain_Cue\u201d is the only Cue that will actually be used by the programmer. It defines the gunshot sequence: Fire, Pump and Shell Drop.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-939\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture15_Randomization-Project_Cue_Nesting_1.png\" alt=\"Blog Picture15_Randomization - Project_Cue_Nesting_1\" width=\"347\" height=\"91\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture15_Randomization-Project_Cue_Nesting_1.png 347w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture15_Randomization-Project_Cue_Nesting_1-300x79.png 300w\" sizes=\"auto, (max-width: 347px) 100vw, 347px\" \/><\/p>\n<p>Each referenced Cue is inserted on a different Track on the timeline. The sample used, as well as the pitch, volume and EQ have all been randomized.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-940\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture16_Randomization-Project_Cue_Nesting_2.png\" alt=\"Blog Picture16_Randomization - Project_Cue_Nesting_2\" width=\"408\" height=\"313\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture16_Randomization-Project_Cue_Nesting_2.png 408w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture16_Randomization-Project_Cue_Nesting_2-300x230.png 300w\" sizes=\"auto, (max-width: 408px) 100vw, 408px\" \/><\/p>\n<p><span style=\"text-decoration: underline;\">Subsequences Nesting<\/span><\/p>\n<p>In this example we show how to use the Subsequence nesting function to randomize the previous shotgun sequence. In this case, we only need to create a single Cue.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-941\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture17_Randomization-Project_Sub_Nesting_1.png\" alt=\"Blog Picture17_Randomization - Project_Sub_Nesting_1\" width=\"352\" height=\"46\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture17_Randomization-Project_Sub_Nesting_1.png 352w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture17_Randomization-Project_Sub_Nesting_1-300x39.png 300w\" sizes=\"auto, (max-width: 352px) 100vw, 352px\" \/><\/p>\n<p>Each referenced Subsequence is inserted on a different Track on the timeline. The sample used, as well as the pitch, volume and EQ have all been randomized.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-942\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture18_Randomization-Project_Sub_Nesting_2.png\" alt=\"Blog Picture18_Randomization - Project_Sub_Nesting_2\" width=\"409\" height=\"310\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture18_Randomization-Project_Sub_Nesting_2.png 409w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/01\/Blog-Picture18_Randomization-Project_Sub_Nesting_2-300x227.png 300w\" sizes=\"auto, (max-width: 409px) 100vw, 409px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><em>This concludes our post about AtomCraft\u2019s powerful randomization features. <\/em><\/p>\n<p><em>Many thanks to Watson Wu (<a href=\"http:\/\/www.watsonwu.com\" target=\"_blank\">http:\/\/www.watsonwu.com<\/a>) for generously providing the audio assets used in the demo project!<\/em><\/p>\n<p><em>As always, <a href=\"mailto:global-sales@criware.com&amp;subject=About%20the%20CRIWARE%20blog\">let us know<\/a> if you want to learn more about a specific ADX2 function!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post explains how to avoid the repetitive nature of game audio using AtomCraft\u2019s randomization features. Unlike the real world,<\/p>\n","protected":false},"author":2,"featured_media":925,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[5,7],"tags":[],"class_list":["post-924","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adx","category-tutorials"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/comments?post=924"}],"version-history":[{"count":22,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/924\/revisions"}],"predecessor-version":[{"id":965,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/924\/revisions\/965"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/925"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}