{"id":579,"date":"2021-11-24T19:45:39","date_gmt":"2021-11-24T08:45:39","guid":{"rendered":"https:\/\/www.icemoonprison.com\/blog\/?p=579"},"modified":"2021-11-24T19:45:39","modified_gmt":"2021-11-24T08:45:39","slug":"korg-opsix-2-0-effect-in-focus-comb-filter","status":"publish","type":"post","link":"https:\/\/www.icemoonprison.com\/blog\/archives\/579","title":{"rendered":"Korg opsix 2.0 effect in focus: Comb filter"},"content":{"rendered":"\n<p>The third of the <a href=\"https:\/\/www.korg.com\/au\/products\/synthesizers\/opsix\/v2.php\">Korg opsix firmware 2.0<\/a> effect operators that I&#8217;m covering in this series is the <strong>Comb filter<\/strong> effect operator. Related to the <strong>Short delay<\/strong> operator, the <strong>Comb filter<\/strong> is well suited to physical modelling of sounds.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Block diagram<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/opsix-comb-filter.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/opsix-comb-filter-1024x370.png\" alt=\"\" class=\"wp-image-527\" width=\"655\" height=\"236\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/opsix-comb-filter-1024x370.png 1024w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/opsix-comb-filter-300x108.png 300w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/opsix-comb-filter-768x277.png 768w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/opsix-comb-filter-624x225.png 624w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/opsix-comb-filter.png 1387w\" sizes=\"auto, (max-width: 655px) 100vw, 655px\" \/><\/a><figcaption>The <strong>Comb filter<\/strong> effect operator is a feedback-form comb filter, with the delayed signal added back to the signal. The amount of feedback can be set to between \u2212100% and +100%. <\/figcaption><\/figure>\n\n\n\n<p>Names are complicated! Didn&#8217;t I say that the <a href=\"https:\/\/www.icemoonprison.com\/blog\/?p=528\" data-type=\"post\" data-id=\"528\"><strong>Short delay<\/strong><\/a> effect operator is a comb filter? (It is.) So what&#8217;s the <strong>Comb filter<\/strong> operator for, then?<\/p>\n\n\n\n<p>Well, there are <a href=\"https:\/\/en.wikipedia.org\/wiki\/Comb_filter\">two kinds of comb filter<\/a>: a feedforward form and a feedback form. The <strong>Short delay<\/strong> operator is a feedforward comb filter, where the delayed signal is simply added to the output, and the <strong>Comb filter<\/strong> operator is a feedback comb filter, where the delayed signal is added back to the input and thence re-enters the delay.<\/p>\n\n\n\n<p>The two types of comb filter share the characteristic repeated pattern in their frequency responses that give them their name, but the shapes are different: feedforward comb filters (including flangers) have <a href=\"https:\/\/ccrma.stanford.edu\/~jos\/pasp\/Feedforward_Comb_Filter_Amplitude.html\">notches in their frequency response<\/a>; feedback comb filters like the <strong>Comb filter<\/strong> operator have <a href=\"https:\/\/ccrma.stanford.edu\/~jos\/pasp\/Feedback_Comb_Filter_Amplitude.html\">spikes in their frequency response<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Physical modelling<\/h2>\n\n\n\n<p>Modification knob F controls <strong>Feedback<\/strong>, that is, how much of the delayed signal is added back to the input. When set to 0%, the <strong>Comb filter<\/strong> operator is indistinguishable from a simple bypass (self-evident from the block diagram above). For values up to 100%, feedback emphasizes the frequencies <em>f<\/em>, <em>2f<\/em>, <em>3f<\/em>, etc., (i.e., every harmonic) more and more. Near 100% feedback, the sound is self-sustaining, even if the input signal is no longer present. (I don&#8217;t think &#8220;100% feedback&#8221; is really 100%, because if it was, the spikes would be infinitely high, infinitely narrow, and the sound would never decay.) It is in this near-unity feedback region that the <strong>Comb filter<\/strong> operator is most useful.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/Karplus-Strong-block-diagram.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/Karplus-Strong-block-diagram-1024x323.png\" alt=\"\" class=\"wp-image-551\" width=\"360\" height=\"113\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/Karplus-Strong-block-diagram-1024x323.png 1024w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/Karplus-Strong-block-diagram-300x95.png 300w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/Karplus-Strong-block-diagram-768x242.png 768w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/Karplus-Strong-block-diagram-624x197.png 624w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/Karplus-Strong-block-diagram.png 1399w\" sizes=\"auto, (max-width: 360px) 100vw, 360px\" \/><\/a><figcaption>The Karplus-Strong model of a plucked string can be thought of as a feedback comb filter, except for that darn filter.<\/figcaption><\/figure><\/div>\n\n\n\n<p>In the <strong>Comb filter<\/strong> operator, the length of the delay tracks frequency of the played note, similar to what happens in the <strong>Phaser<\/strong> and <strong>Filter<\/strong> and other operators. This is in contrast to the <strong>Short delay<\/strong> operator, in which you dial up the delay in milliseconds. I lamented the inability of the <strong>Short delay<\/strong> operator to track the keyboard, as it prevented the implementation of a <a href=\"https:\/\/ccrma.stanford.edu\/~jos\/pasp\/Karplus_Strong_Algorithm.html\">Karplus-Strong model plucked string<\/a>. Can you do a Karplus-Strong string with the <strong>Comb filter<\/strong> effect operator? Almost.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9626.jpeg\"><img decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9626.jpeg\" alt=\"\" class=\"wp-image-581\" width=\"240\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9626.jpeg 400w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9626-300x149.jpeg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><figcaption>Operator 1 is a bass-enhanced pink noise waveform.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image clear float-to-right\"><figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9627.jpeg\"><img decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9627.jpeg\" alt=\"\" class=\"wp-image-582\" width=\"240\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9627.jpeg 400w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9627-300x154.jpeg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><figcaption>Operator 1 is a very short pluck.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image clear float-to-right\"><figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9628.jpeg\"><img decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9628.jpeg\" alt=\"\" class=\"wp-image-583\" width=\"240\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9628.jpeg 400w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9628-300x147.jpeg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><figcaption>Operator 2 is a comb filter, with feedback close to 100%.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image clear float-to-right\"><figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9629.jpeg\"><img decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9629.jpeg\" alt=\"\" class=\"wp-image-584\" width=\"240\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9629.jpeg 400w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9629-300x154.jpeg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><figcaption>Operator 3 is a low-pass filter with a high cutoff.<\/figcaption><\/figure><\/div>\n\n\n\n<p>The Karplus-Strong model is strictly a <a href=\"https:\/\/ccrma.stanford.edu\/~jos\/pasp\/Filtered_Feedback_Comb_Filters.html\">filtered-feedback comb filter<\/a>, with a light filtering stage inside the feedback loop that the opsix&#8217;s <strong>Comb filter<\/strong> operator lacks. This filter corresponds to losses in the reflection at the end of the string; without it, the timbre of the plucked string stays uncharacteristically bright.<\/p>\n\n\n\n<p>What to do? Cheat. Put a filter after the feedback loop instead of inside, with an envelope that sweeps the cutoff frequency from high to low. This is not strictly physical modelling any more, rather, it&#8217;s just old-school subtractive synthesis, but it&#8217;s really hard to hear the difference.<\/p>\n\n\n\n<p>The following sample simulates a string instrument. Operator 1 is a very short (20 ms) burst of noise. The new <strong>Pink noise<\/strong> waveform is a good choice, enhanced a bit in the bass with the <strong>Shelving Equalizer<\/strong> effect operator. Operator 2 is the <strong>Comb filter<\/strong>. Its waveform is immaterial because the oscillator mix is set to zero. A feedback of close to 100% provides a nice stringlike decay. Operator 3 is a simple lowpass filter with a fairly high cutoff. <\/p>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/Karplus-Strongish-string.m4a\"><\/audio><figcaption>Modelling a plucked string with a feedback comb filter, subsequently sent through a traditional subtractive filter to compensate for the lack of filtering inside the feedback loop.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Playing with feedback<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9630.jpeg\"><img decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9630.jpeg\" alt=\"\" class=\"wp-image-585\" width=\"240\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9630.jpeg 400w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9630-300x155.jpeg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><figcaption>Altering the comb filter: feedback near \u2212100% alters the timbre; increasing the pitch by an octave to compensate for the negative feedback; mixing in some blue noise from the oscillator to add an ethereal quality. <\/figcaption><\/figure><\/div>\n\n\n\n<p>The <strong>Feedback<\/strong> modification knob (F) can also be turned below 0%, down to \u2212100%. At negative feedback values, the signal is inverted before being added back to the input. Interestingly, this does not change the shape of the spikes in the frequency response; it just shifts them by \u2212<em>f\/2<\/em>: with negative feedback, the frequencies emphasized are <em>f\/2<\/em>, <em>3f\/2<\/em>, <em>5f\/2<\/em>, etc., which to the ear sounds like a note one octave lower along with only the odd harmonics.<\/p>\n\n\n\n<p>Odd-only harmonics correspond to instruments made with a vibrating cantilever fixed at one end, such as the tines of a music box comb (pun unintended). The following sample also includes a little mixed-in blue noise, which is also comb filtered, adding a bow-like element.<\/p>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/Cosmic-Comb-music-box.m4a\"><\/audio><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Putting it all together<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9631.jpeg\"><img decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9631.jpeg\" alt=\"\" class=\"wp-image-586\" width=\"240\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9631.jpeg 400w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9631-300x152.jpeg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><figcaption>Operator 1 is the same short pluck. Some of this operator is fed directly to the comb filter in operator 3.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image clear float-to-right\"><figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9632.jpeg\"><img decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9632.jpeg\" alt=\"\" class=\"wp-image-587\" width=\"240\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9632.jpeg 400w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9632-300x150.jpeg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><figcaption>Operator 2 is a delay to model the adjacent paired strings.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image clear float-to-right\"><figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9633.jpeg\"><img decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9633.jpeg\" alt=\"\" class=\"wp-image-588\" width=\"240\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9633.jpeg 400w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9633-300x148.jpeg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><figcaption>The comb filter in operator 3 models the string.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image clear float-to-right\"><figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9634.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9634.jpeg\" alt=\"\" class=\"wp-image-589\" width=\"240\" height=\"118\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9634.jpeg 400w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9634-300x148.jpeg 300w\" sizes=\"auto, (max-width: 240px) 100vw, 240px\" \/><\/a><figcaption>Operator 4 is a low-pass filter. This operator is routed to the output as well as to the phaser in operator 5.<\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image clear float-to-right\"><figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9635.jpeg\"><img decoding=\"async\" src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9635.jpeg\" alt=\"\" class=\"wp-image-590\" width=\"240\" srcset=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9635.jpeg 400w, https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/IMG_9635-300x153.jpeg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><figcaption>Operators 5 and 6 are fixed-frequency phasers to model an acoustic guitar body.<\/figcaption><\/figure><\/div>\n\n\n\n<p>In these three posts, I have explored how three of the opsix 2.0 firmware&#8217;s effect operators can be used to model physical instruments. These effects can be combined into a single patch with great results.<\/p>\n\n\n\n<p>The following sample is a physical model of a 12-string acoustic guitar. It strings (pun intended) together a pluck in operator 1 and a <strong>Short delay<\/strong> in operator 2 (acting as a plain short delay, duplicating the pluck as would happen in a 12-string guitar). A mix of operator 1 (the first pluck) and operator 2 (both plucks at equal volume) is made, creating a resulting pair of plucks where the first is louder than the second. These plucks are then fed into a <strong>Comb filter<\/strong> in operator 3 to model the string, and a filter in operator 4 to model the loss of brightness over time. Finally, two <strong>Phaser<\/strong> operators in operators 5 and 6, at fixed frequencies, to introduce some variation to the frequency response as would happen in an acoustic guitar body. The output is mixed from the filter output and the phaser output, producing a result with subtle notches in the frequency response. Finally, the sound is passed into a traditional chain of effects (chorus, equalizer and reverb).<\/p>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"https:\/\/www.icemoonprison.com\/blog\/wp-content\/uploads\/2021\/11\/Physical-model-12-string.m4a\"><\/audio><figcaption>A physical-modelled guitar using nothing but Korg opsix 2.0 operators and waveforms.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>I do wish that rather than one operator type with ten variants, Korg had added the new operators as first-class citizens, as <strong>Filter<\/strong> and <strong>Wave folder<\/strong> already are. That would have freed modification knob B to be another per-effect control.<\/p>\n\n\n\n<p>It&#8217;s been educational exploring these new effect operators. Their block diagrams, which I had to reverse-engineer, are all quite simple on paper, but the resulting sounds that they produce show a lot of emergent complexity. Of the ten effect operators, I&#8217;ve barely touched the <strong>Shelving Equalizer<\/strong> and <strong>Distortion<\/strong> operators, and haven&#8217;t mentioned <strong>Peaking Equalizer<\/strong>, <strong>Drive<\/strong>, <strong>Waveshaper<\/strong>, <strong>Decimator<\/strong>, or <strong>Punch<\/strong> operators at all. With the 2.0 firmware, the opsix now lives up to the hype of being an &#8220;altered&#8221; FM synthesizer: it&#8217;s possible to make many new exciting sounds without stepping anywhere near FM synthesis.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.icemoonprison.com\/blog\/?p=503\" data-type=\"post\" data-id=\"503\">Part 1: Phaser<\/a> | <a href=\"https:\/\/www.icemoonprison.com\/blog\/?p=528\" data-type=\"post\" data-id=\"528\">Part 2: Short delay<\/a> | Part 3: Comb filter<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The third of the Korg opsix firmware 2.0 effect operators that I&#8217;m covering in this series is the Comb filter effect operator. Related to the Short delay operator, the Comb filter is well suited to physical modelling of sounds.<\/p>\n","protected":false},"author":1,"featured_media":527,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[76],"tags":[71,74,72],"class_list":["post-579","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-synthesizers","tag-korg","tag-music","tag-opsix"],"_links":{"self":[{"href":"https:\/\/www.icemoonprison.com\/blog\/wp-json\/wp\/v2\/posts\/579","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.icemoonprison.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.icemoonprison.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.icemoonprison.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.icemoonprison.com\/blog\/wp-json\/wp\/v2\/comments?post=579"}],"version-history":[{"count":4,"href":"https:\/\/www.icemoonprison.com\/blog\/wp-json\/wp\/v2\/posts\/579\/revisions"}],"predecessor-version":[{"id":593,"href":"https:\/\/www.icemoonprison.com\/blog\/wp-json\/wp\/v2\/posts\/579\/revisions\/593"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.icemoonprison.com\/blog\/wp-json\/wp\/v2\/media\/527"}],"wp:attachment":[{"href":"https:\/\/www.icemoonprison.com\/blog\/wp-json\/wp\/v2\/media?parent=579"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.icemoonprison.com\/blog\/wp-json\/wp\/v2\/categories?post=579"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.icemoonprison.com\/blog\/wp-json\/wp\/v2\/tags?post=579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}