<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>sumtozero.net, a blog by Miguel Pinheiro Marques</title>
    <description>A blog about audio, mastering, studio design &amp; acoustics</description>
    <link>https://sumtozero.net/en/</link>
    <atom:link href="https://sumtozero.net/en/feed.xml" rel="self" type="application/rss+xml" />
    <language>en</language>
    
    
    
    <item>
      <title>Handling metadata when using Reaper for mastering</title> 
      <link>https://sumtozero.net/en/posts/handling-metadata-when-using-reaper-for-mastering/</link>
      <pubDate>Sat, 03 Jan 2026 08:45:00 +0000</pubDate>
      <guid>https://sumtozero.net/en/posts/handling-metadata-when-using-reaper-for-mastering/</guid>

      
      <description>A complete guide to handling mastering metadata in Reaper. Includes region templates, wildcard tips, and a custom script for automated DDP and CD-TEXT creation.</description>

      
      <content:encoded>
        &lt;p&gt;Metadata handling matters more than it sounds in mastering. A well-organized, searchable archive is essential for any professional studio. Clients often request files years after the process is complete, and proper metadata ensures those files can actually be found.&lt;/p&gt;
&lt;p&gt;Missing or incorrect metadata also creates real problems for digital distribution. And despite the streaming numbers, CDs are still a meaningful part of the industry. Musicians care about CD-TEXT, which makes accurate DDP metadata a standard part of the job.&lt;/p&gt;
&lt;p&gt;One reason I keep coming back to Reaper for mastering is that it handles everything in a single project: processing, sequencing, and exporting. That means I can store a release&#39;s metadata directly in the timeline and automate the exports.&lt;/p&gt;
&lt;p&gt;The way I manage this is by attaching metadata directly to Regions.&lt;/p&gt;
&lt;h2&gt;Why Regions?&lt;/h2&gt;
&lt;p&gt;Working with regions in Reaper is a natural fit for mastering, especially for time-bounded material like a single track, an album, or movements in a classical piece.&lt;/p&gt;
&lt;p&gt;Even for a gapless record, regions help visualize where specific parts begin and end. They let you jump between sections instantly and make cuts to process sections separately if needed, even if you ultimately export everything as a single continuous file.&lt;/p&gt;
&lt;h3&gt;The Metadata Template&lt;/h3&gt;
&lt;p&gt;I took a cue from Reaper&#39;s built-in system designed for DDP export and developed a standard region naming template.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#TITLE=Title|PERFORMER=Artist|COMPOSER=Composer|LYRICIST=Lyricist|ISRC=PTKNU2600001|VERSION=1|VINYL=A1
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;My region title template&lt;/h4&gt;
&lt;p&gt;For each region, I paste this template and edit the fields for that specific track. This allows me to input granular data that can be retrieved later using wildcards during the render process.&lt;/p&gt;
&lt;h3&gt;Breakdown of Fields&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Standard Fields: TITLE, PERFORMER, COMPOSER, LYRICIST, and ISRC are self-explanatory standard tags.&lt;/li&gt;
&lt;li&gt;VERSION: Used internally. If a track undergoes revisions, I can trace the version number in the filename.&lt;/li&gt;
&lt;li&gt;VINYL: Since I frequently master for vinyl, this field lets me designate sides (e.g., A1, A2, B1, C4). For streaming, the region ID determines track ordering (1, 2, 3...) but for vinyl releases I extract the wildcard from this field to determine sequencing on the physical medium.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This way, separate sequencing for digital and vinyl is always saved in the project.&lt;/p&gt;
&lt;h3&gt;Global Release Metadata&lt;/h3&gt;
&lt;p&gt;Region metadata handles track-level details, but I also need fields for the entire release (e.g., Album Artist, Album Title).&lt;/p&gt;
&lt;p&gt;I store this in the Project Settings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Go to File &amp;gt; Project Settings.&lt;/li&gt;
&lt;li&gt;Click the Notes tab.&lt;/li&gt;
&lt;li&gt;Fill in the &amp;quot;Title&amp;quot; (Album Name) and &amp;quot;Author&amp;quot; (Album Artist) fields.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Exporting Digital Files&lt;/h2&gt;
&lt;p&gt;Once the regions are named, the next step is instructing Reaper to use that text as metadata.&lt;/p&gt;
&lt;p&gt;In the Render to File window:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Toggle on the Metadata... option.&lt;/li&gt;
&lt;li&gt;Use wildcards to map your region data to ID3/WAV tags.&lt;/li&gt;
&lt;li&gt;For example, to map the Track Title, you would use: $region(#TITLE)[|]&lt;br /&gt;&lt;em&gt;Note on Syntax: The [|] at the end of the wildcard tells Reaper to stop reading at the pipe character | used in our region template.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://sumtozero.net/img/b_Rp1dMy98-450.webp 450w, https://sumtozero.net/img/b_Rp1dMy98-900.webp 900w, https://sumtozero.net/img/b_Rp1dMy98-1200.webp 1200w, https://sumtozero.net/img/b_Rp1dMy98-1800.webp 1800w&quot; sizes=&quot;100vw&quot; /&gt;&lt;img src=&quot;https://sumtozero.net/img/b_Rp1dMy98-450.jpeg&quot; class=&quot;article-image&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; alt=&quot;Reaper Render Metadata with wildcards&quot; width=&quot;1800&quot; height=&quot;1280&quot; srcset=&quot;https://sumtozero.net/img/b_Rp1dMy98-450.jpeg 450w, https://sumtozero.net/img/b_Rp1dMy98-900.jpeg 900w, https://sumtozero.net/img/b_Rp1dMy98-1200.jpeg 1200w, https://sumtozero.net/img/b_Rp1dMy98-1800.jpeg 1800w&quot; sizes=&quot;100vw&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h4&gt;Image 1. Reaper Render Metadata window with the wildcards template we currently use at Knurl Mastering.&lt;/h4&gt;
&lt;h2&gt;File Naming Pattern&lt;/h2&gt;
&lt;p&gt;I also use these wildcards for the actual filenames. Our studio&#39;s standard naming pattern looks like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$region(PERFORMER)[|] - $regionnumber $region(#TITLE)[|] v$region(VERSION)[|]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This automatically generates filenames like: &lt;em&gt;Artist Name - 01 Song Title v1.wav&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Handling DDPs and CD-TEXT&lt;/h2&gt;
&lt;p&gt;The system above works well for digital files, but Audio CDs (DDP images) require a different approach. DDPs rely on specific markers to identify track start points, indices, and CD-TEXT.&lt;/p&gt;
&lt;p&gt;Reaper has native DDP support, but manually placing markers and typing out metadata for them is tedious and prone to error. Fortunately, Reaper allows for scripting.&lt;/p&gt;
&lt;p&gt;I wrote a Lua script that automates this entire process. It reads your Region names (which you&#39;ve already formatted), cleans up special characters, and converts them into the specific markers required for a valid DDP.&lt;/p&gt;
&lt;p&gt;This script does two main things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Converts Regions to Markers: It maps your region starts to track markers (#) and handles the special start (!) and end (@) markers required by the DDP standard.&lt;/li&gt;
&lt;li&gt;Sanitizes Text: CD-TEXT is very strict about character sets (ASCII). The script automatically transliterates characters like &amp;quot;ç&amp;quot; to &amp;quot;c&amp;quot; or &amp;quot;ñ&amp;quot; to &amp;quot;n&amp;quot;. While not linguistically perfect, it prevents CD players from displaying garbage characters or rejecting the text entirely.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;--[[
* ReaScript Name: Convert Regions to DDP Markers
* Description: Creates DDP markers (!, Tracks, @) with full metadata integration and text sanitization.
* Author: Knurl Mastering
--]]

local is_new_value, filename, section_ID, command_ID, mode, resolution, val = reaper.get_action_context()

-----------------------------------------------------------
-- 1. TOOLBAR FLASH LOGIC
-----------------------------------------------------------
local flash_duration = 0.1 
local start_time = 0

function MonitorFlash()
	local now = reaper.time_precise()
	if now - start_time &amp;lt; flash_duration then
		reaper.defer(MonitorFlash) 
	else
		reaper.SetToggleCommandState(section_ID, command_ID, 0)
		reaper.RefreshToolbar2(section_ID, command_ID)
	end
end

function TriggerFlash()
	reaper.SetToggleCommandState(section_ID, command_ID, 1)
	reaper.RefreshToolbar2(section_ID, command_ID)
	start_time = reaper.time_precise()
	MonitorFlash()
end

-----------------------------------------------------------
-- 2. TEXT SANITIZATION
-----------------------------------------------------------
local replacements = {
	[&amp;quot;á&amp;quot;]=&amp;quot;a&amp;quot;, [&amp;quot;à&amp;quot;]=&amp;quot;a&amp;quot;, [&amp;quot;ã&amp;quot;]=&amp;quot;a&amp;quot;, [&amp;quot;â&amp;quot;]=&amp;quot;a&amp;quot;, [&amp;quot;ä&amp;quot;]=&amp;quot;a&amp;quot;, [&amp;quot;å&amp;quot;]=&amp;quot;a&amp;quot;,
	[&amp;quot;é&amp;quot;]=&amp;quot;e&amp;quot;, [&amp;quot;è&amp;quot;]=&amp;quot;e&amp;quot;, [&amp;quot;ê&amp;quot;]=&amp;quot;e&amp;quot;, [&amp;quot;ë&amp;quot;]=&amp;quot;e&amp;quot;,
	[&amp;quot;í&amp;quot;]=&amp;quot;i&amp;quot;, [&amp;quot;ì&amp;quot;]=&amp;quot;i&amp;quot;, [&amp;quot;î&amp;quot;]=&amp;quot;i&amp;quot;, [&amp;quot;ï&amp;quot;]=&amp;quot;i&amp;quot;,
	[&amp;quot;ó&amp;quot;]=&amp;quot;o&amp;quot;, [&amp;quot;ò&amp;quot;]=&amp;quot;o&amp;quot;, [&amp;quot;õ&amp;quot;]=&amp;quot;o&amp;quot;, [&amp;quot;ô&amp;quot;]=&amp;quot;o&amp;quot;, [&amp;quot;ö&amp;quot;]=&amp;quot;o&amp;quot;,
	[&amp;quot;ú&amp;quot;]=&amp;quot;u&amp;quot;, [&amp;quot;ù&amp;quot;]=&amp;quot;u&amp;quot;, [&amp;quot;û&amp;quot;]=&amp;quot;u&amp;quot;, [&amp;quot;ü&amp;quot;]=&amp;quot;u&amp;quot;,
	[&amp;quot;ç&amp;quot;]=&amp;quot;c&amp;quot;, [&amp;quot;ñ&amp;quot;]=&amp;quot;n&amp;quot;, [&amp;quot;ý&amp;quot;]=&amp;quot;y&amp;quot;,
	[&amp;quot;Á&amp;quot;]=&amp;quot;A&amp;quot;, [&amp;quot;À&amp;quot;]=&amp;quot;A&amp;quot;, [&amp;quot;Ã&amp;quot;]=&amp;quot;A&amp;quot;, [&amp;quot;Â&amp;quot;]=&amp;quot;A&amp;quot;, [&amp;quot;Ä&amp;quot;]=&amp;quot;A&amp;quot;, [&amp;quot;Å&amp;quot;]=&amp;quot;A&amp;quot;,
	[&amp;quot;É&amp;quot;]=&amp;quot;E&amp;quot;, [&amp;quot;È&amp;quot;]=&amp;quot;E&amp;quot;, [&amp;quot;Ê&amp;quot;]=&amp;quot;E&amp;quot;, [&amp;quot;Ë&amp;quot;]=&amp;quot;E&amp;quot;,
	[&amp;quot;Í&amp;quot;]=&amp;quot;I&amp;quot;, [&amp;quot;Ì&amp;quot;]=&amp;quot;I&amp;quot;, [&amp;quot;Î&amp;quot;]=&amp;quot;I&amp;quot;, [&amp;quot;Ï&amp;quot;]=&amp;quot;I&amp;quot;,
	[&amp;quot;Ó&amp;quot;]=&amp;quot;O&amp;quot;, [&amp;quot;Ò&amp;quot;]=&amp;quot;O&amp;quot;, [&amp;quot;Õ&amp;quot;]=&amp;quot;O&amp;quot;, [&amp;quot;Ô&amp;quot;]=&amp;quot;O&amp;quot;, [&amp;quot;Ö&amp;quot;]=&amp;quot;O&amp;quot;,
	[&amp;quot;Ú&amp;quot;]=&amp;quot;U&amp;quot;, [&amp;quot;Ù&amp;quot;]=&amp;quot;U&amp;quot;, [&amp;quot;Û&amp;quot;]=&amp;quot;U&amp;quot;, [&amp;quot;Ü&amp;quot;]=&amp;quot;U&amp;quot;,
	[&amp;quot;Ç&amp;quot;]=&amp;quot;C&amp;quot;, [&amp;quot;Ñ&amp;quot;]=&amp;quot;N&amp;quot;, [&amp;quot;Ý&amp;quot;]=&amp;quot;Y&amp;quot;
}

function sanitize_text(str)
	if not str then return &amp;quot;&amp;quot; end
	-- Step A: Replace accented chars
	for k, v in pairs(replacements) do
		str = string.gsub(str, k, v)
	end
	-- Step B: Allow # = | and standard punctuation
	str = string.gsub(str, &amp;quot;[^%w%s%-%_%.%,%!%?%&#39;%&#92;&amp;quot;%(%)%#%=%|]&amp;quot;, &amp;quot;&amp;quot;)
	return str
end

-----------------------------------------------------------
-- 3. METADATA HELPERS
-----------------------------------------------------------
function get_project_title()
	local retval, title = reaper.GetSetProjectInfo_String(0, &amp;quot;PROJECT_TITLE&amp;quot;, &amp;quot;&amp;quot;, false)
	if retval and title ~= &amp;quot;&amp;quot; then
		return sanitize_text(title)
	else
		return &amp;quot;Unknown Album&amp;quot;
	end
end

function get_project_author()
	local retval, author = reaper.GetSetProjectInfo_String(0, &amp;quot;PROJECT_AUTHOR&amp;quot;, &amp;quot;&amp;quot;, false)
	if retval and author ~= &amp;quot;&amp;quot; then
		return sanitize_text(author)
	else
		return &amp;quot;Unknown Artist&amp;quot;
	end
end

function create_colored_marker(pos, name, id)
	-- Dark Grey (64, 64, 64)
	local r, g, b = 64, 64, 64
	local color = reaper.ColorToNative(r, g, b) | 0x1000000
	
	reaper.AddProjectMarker2(0, false, pos, 0, name, id, color)
end

-----------------------------------------------------------
-- 4. MAIN LOGIC
-----------------------------------------------------------
function main()
	-- CHECK: Do regions exist?
	local ret, num_markers, num_regions = reaper.CountProjectMarkers(0)
	if num_regions == 0 then return end 
	
	TriggerFlash()
	reaper.Undo_BeginBlock()

	local i = 0
	local regions_to_process = {}
	local last_region_end = 0

	-- LOOP: Gather all Regions
	while true do
		local retval, isrgn, pos, rgnend, name, markrgnindexnumber = reaper.EnumProjectMarkers(i)
		if retval == 0 then break end
		
		if isrgn then
			table.insert(regions_to_process, {
				pos = pos,
				name = name,
				id = markrgnindexnumber
			})
			
			-- Find the absolute end of the album
			if rgnend &amp;gt; last_region_end then
				last_region_end = rgnend
			end
		end
		i = i + 1
	end

	-- A. CREATE START MARKER (ID 99)
	create_colored_marker(0, &amp;quot;!&amp;quot;, 99)

	-- B. CREATE TRACK MARKERS
	for _, rgn in ipairs(regions_to_process) do
		local clean_name = sanitize_text(rgn.name)
		create_colored_marker(rgn.pos, clean_name, rgn.id)
	end

	-- C. CREATE END MARKER
	-- Format: @ALBUM|PERFORMER=Artist
	local album_title = get_project_title()
	local album_artist = get_project_author()
	local end_marker_name = &amp;quot;@&amp;quot; .. album_title .. &amp;quot;|PERFORMER=&amp;quot; .. album_artist
	
	-- ID: Number of Regions + 1
	local end_marker_id = num_regions + 1
	
	create_colored_marker(last_region_end, end_marker_name, end_marker_id)

	reaper.Undo_EndBlock(&amp;quot;Create DDP Markers&amp;quot;, -1)
end

main()
&lt;/code&gt;&lt;/pre&gt;

      </content:encoded>

      
      
    </item>
    
    <item>
      <title>Decoupling loudspeakers the right way</title> 
      <link>https://sumtozero.net/en/posts/decoupling-loudspeakers/</link>
      <pubDate>Sat, 14 Feb 2026 08:45:00 +0000</pubDate>
      <guid>https://sumtozero.net/en/posts/decoupling-loudspeakers/</guid>

      
      <description>Decoupling loudspeakers in control rooms is a key step that significantly improves their response within the listening environment. While proper room acoustics are the foundation to critical listening, ensuring your loudspeakers are effectively decoupled from their stands or walls can provide major improvements in the system&#39;s overall performance.</description>

      
      <content:encoded>
        &lt;p&gt;Decoupling loudspeakers in control rooms noticeably improves how they perform in a listening environment. Room acoustics are the foundation of critical listening, but getting your speakers properly isolated from their stands or walls can clean up the system considerably.&lt;/p&gt;
&lt;h2&gt;What are the benefits of decoupling speakers&lt;/h2&gt;
&lt;p&gt;When a loudspeaker sits directly on a stand or desk, the cabinet&#39;s mechanical energy transfers into the supporting structure, which then vibrates sympathetically. This turns your desk, stands, or floor into a secondary, uncontrolled radiator that blurs the sound. Decoupling breaks that mechanical bridge, keeping the driver energy focused on moving air rather than shaking the structure. The result is tighter low end and a cleaner stereo image.&lt;/p&gt;
&lt;p&gt;Decoupling also helps transient response. When a cabinet vibrates against a rigid surface, micro-movements smear transients, particularly in the lower mids. Isolation stabilizes the speaker, letting the drivers stop and start more precisely. You end up with better stereo definition, more depth of field, and a monitoring environment where what you hear is the source material, not your furniture resonating.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://sumtozero.net/img/EJFY33hJq4-450.webp 450w, https://sumtozero.net/img/EJFY33hJq4-900.webp 900w, https://sumtozero.net/img/EJFY33hJq4-1200.webp 1200w, https://sumtozero.net/img/EJFY33hJq4-1800.webp 1800w, https://sumtozero.net/img/EJFY33hJq4-2400.webp 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;img src=&quot;https://sumtozero.net/img/EJFY33hJq4-450.jpeg&quot; class=&quot;article-image&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; alt=&quot;The original mastering room at Arda Recorders during loudspeaker installation in 2020.&quot; width=&quot;2400&quot; height=&quot;1800&quot; srcset=&quot;https://sumtozero.net/img/EJFY33hJq4-450.jpeg 450w, https://sumtozero.net/img/EJFY33hJq4-900.jpeg 900w, https://sumtozero.net/img/EJFY33hJq4-1200.jpeg 1200w, https://sumtozero.net/img/EJFY33hJq4-1800.jpeg 1800w, https://sumtozero.net/img/EJFY33hJq4-2400.jpeg 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h4&gt;Image 1. The original mastering room at Arda Recorders during loudspeaker installation in 2020, showing the ATC SCM110ASL Pro speakers fully decoupled inside an unsealed enclosure to allow for measurements and pad adjustment.&lt;/h4&gt;
&lt;h2&gt;Is bottom-only decoupling enough?&lt;/h2&gt;
&lt;p&gt;A reasonable concern here: if a speaker is only floating, won&#39;t the woofer&#39;s forward motion push the cabinet backward? Newton&#39;s third law says that energy has to go somewhere, and without a rigid connection, the cabinet is subject to micro-movements that can theoretically smear transients. In almost all listening scenarios, though, the audible distortion from a resonant floor, desk, or stand singing along with your bass is far more destructive than cabinet recoil. Breaking that mechanical bridge is the better trade-off.&lt;/p&gt;
&lt;p&gt;To get the best of both worlds (decoupling and stability), you can introduce mass to the equation. One good approach is to place a heavy slab of stone or granite, or even a solid concrete block, directly under the speaker, with the isolation pads or springs underneath that heavy footing. This increases the system&#39;s total inertia. The heavy mass resists cabinet recoil and lets the drivers fire from a stable position, while the isolation material underneath still prevents energy from leaking into the building structure.&lt;/p&gt;
&lt;p&gt;For in-wall configurations, the loudspeaker should ideally be decoupled omnidirectionally: floating from the top, bottom, and sides. The best approach is to house the speaker within a heavy, dampened box, press-fitting it against isolation pads or springs under compression. This entire module is then installed into the wall. While this increases the complexity of the load calculations (you now need to account not only for the speaker&#39;s weight distribution but also for the additional downward force from the compressed top pads/springs), it maximizes isolation and lets the system (box + loudspeaker) be removed as a unit for maintenance.&lt;/p&gt;
&lt;h2&gt;What works for decoupling (and what doesn&#39;t)&lt;/h2&gt;
&lt;p&gt;A common DIY misconception is that anything soft will isolate a speaker. This leads people to use tennis balls cut in half, rubber pads, standard packing foam, acoustic foam, or even slabs of high-density rock wool. These are generally ineffective as they lack true spring-like properties, even though some can be considered dampers. Quick rule of thumb for ready-made solutions: if a product is defined primarily by a shore hardness rating, it&#39;s a damper, not a true spring-like isolator.&lt;/p&gt;
&lt;p&gt;True decoupling requires a material that acts as a tuned mechanical low-pass filter. For heavy loudspeakers, metal springs are often the most practical option because they offer a very low natural frequency, though they can introduce resonance if not properly damped. A more versatile alternative is micro-cellular polyurethane elastomers, such as Sylomer or Regufoam. These materials are &amp;quot;spring-like&amp;quot; foams engineered with specific densities to handle precise weight ranges. Unlike generic rubber, they behave like a spring combined with a shock absorber, isolating vibrations without the ringing associated with undamped metal coils.&lt;/p&gt;
&lt;p&gt;The critical factor in choosing these materials is static deflection: essentially, how much the material compresses under the speaker&#39;s weight. Decoupling is physics and for a pad to work it must be loaded correctly. If you place a light speaker on a stiff pad, the pad won&#39;t compress enough to act as a spring, and the vibrations will pass right through. The opposite is also true: if the speaker is too heavy for the pad, the material will bottom out and become a solid bridge.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://sumtozero.net/img/1bpKe4fdEF-450.webp 450w, https://sumtozero.net/img/1bpKe4fdEF-900.webp 900w, https://sumtozero.net/img/1bpKe4fdEF-1200.webp 1200w, https://sumtozero.net/img/1bpKe4fdEF-1800.webp 1800w, https://sumtozero.net/img/1bpKe4fdEF-2400.webp 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;img src=&quot;https://sumtozero.net/img/1bpKe4fdEF-450.jpeg&quot; class=&quot;article-image&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; alt=&quot;Three examples of different Sylomer pads and spring mounts from AMC Mecanocaucho.&quot; width=&quot;2400&quot; height=&quot;829&quot; srcset=&quot;https://sumtozero.net/img/1bpKe4fdEF-450.jpeg 450w, https://sumtozero.net/img/1bpKe4fdEF-900.jpeg 900w, https://sumtozero.net/img/1bpKe4fdEF-1200.jpeg 1200w, https://sumtozero.net/img/1bpKe4fdEF-1800.jpeg 1800w, https://sumtozero.net/img/1bpKe4fdEF-2400.jpeg 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h4&gt;Image 2. Three examples of different Sylomer pads and spring mounts from &lt;a href=&quot;https://www.mecanocaucho.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;AMC Mecanocaucho&lt;/a&gt;.&lt;/h4&gt;
&lt;h2&gt;Calculating the load: it&#39;s all about the maths&lt;/h2&gt;
&lt;p&gt;Choosing the right decouplers is a matter of simple but critical arithmetic. You cannot guess what to use and you must calculate. The first step is to consult the manufacturer&#39;s specification sheet for the exact weight of your loudspeaker, but that single number is rarely enough. Most loudspeakers, particularly passive models with heavy magnets on the drivers, are front-heavy. This shifts the center of gravity forward, meaning the front pads or springs will bear significantly more load than the rear ones. If you use four identical pads in a square, the front two might be overloaded (bottoming out) while the rear two are underloaded (too stiff to isolate), compromising the entire system.&lt;/p&gt;
&lt;p&gt;To solve this, you need to calculate the load per mounting point. If you are using a material like Sylomer, the manufacturer provides data sheets specifying the optimal static load range for each color-coded density. For example, a yellow Sylomer pad measuring 100x100x25mm might work best between 9-10kg, while an orange one with the same dimensions requires 14-16kg to function as intended (&lt;strong&gt;note, different manufacturers may have different color codes&lt;/strong&gt;). You may need to use different densities for the front and rear, or adjust the spacing of the pads to balance the weight distribution. Load capacity is usually stated as N/mm&lt;sup&gt;2&lt;/sup&gt; per color, so getting the right pad requires both the right dimension and the right color.&lt;/p&gt;
&lt;p&gt;The last step is verification. Once the speakers are placed on the mounts, you must measure the deflection: the actual amount the spring or pad has compressed. For springs, measuring height is enough; for elastomers like Sylomer, you&#39;re looking for a specific percentage of compression (often around 10-20% depending on the type), to ensure the material is in its linear elastic region. If a pad isn&#39;t deflecting enough, it&#39;s acting as a solid block; squashed flat, it&#39;s bridging. Adjusting the number of pads or their position until you achieve uniform, specified deflection across all points is the only way to guarantee the system is truly decoupled.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://sumtozero.net/img/T5dX-fm-rN-450.webp 450w, https://sumtozero.net/img/T5dX-fm-rN-900.webp 900w, https://sumtozero.net/img/T5dX-fm-rN-1200.webp 1200w, https://sumtozero.net/img/T5dX-fm-rN-1800.webp 1800w, https://sumtozero.net/img/T5dX-fm-rN-2400.webp 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;img src=&quot;https://sumtozero.net/img/T5dX-fm-rN-450.jpeg&quot; class=&quot;article-image&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; alt=&quot;Measuring deflection on individual Sylomer pads to ensure correct loading.&quot; width=&quot;2400&quot; height=&quot;3200&quot; srcset=&quot;https://sumtozero.net/img/T5dX-fm-rN-450.jpeg 450w, https://sumtozero.net/img/T5dX-fm-rN-900.jpeg 900w, https://sumtozero.net/img/T5dX-fm-rN-1200.jpeg 1200w, https://sumtozero.net/img/T5dX-fm-rN-1800.jpeg 1800w, https://sumtozero.net/img/T5dX-fm-rN-2400.jpeg 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h4&gt;Image 3. Measuring deflection on individual Sylomer pads with the one and only &lt;a href=&quot;https://www.youtube.com/@arduinoversusevil2025&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;@AvE&lt;/a&gt; ruler to ensure correct loading.&lt;/h4&gt;
&lt;h2&gt;Ready-made solutions: when you just want to plug and play&lt;/h2&gt;
&lt;p&gt;If the math seems daunting or you&#39;d rather buy something verified and finished, there are solid off-the-shelf options that apply these exact engineering principles. Unlike generic foam wedges or isolation rubber pucks, companies like &lt;a href=&quot;https://www.mesanovicmicrophones.com/iso-platform&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Mesanovic&lt;/a&gt; and &lt;a href=&quot;https://spacelab.systems/products/lift-mk2-speaker-stand&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Space Lab Systems&lt;/a&gt; engineer their stands and platforms using calibrated Sylomer or spring-based isolation. These products take the guesswork out of the equation, providing a pre-tuned mass-spring system. By selecting the model that matches your speaker&#39;s weight range, you get a guaranteed low natural frequency and correct deflection right out of the box, without needing to cut foam or measure compression yourself.&lt;/p&gt;

      </content:encoded>

      
      
    </item>
    
    <item>
      <title>Prepping audio cables</title> 
      <link>https://sumtozero.net/en/posts/prepping-audio-cables/</link>
      <pubDate>Sun, 10 May 2026 08:45:00 +0000</pubDate>
      <guid>https://sumtozero.net/en/posts/prepping-audio-cables/</guid>

      
      <description>When it comes to building custom audio cables, soldering gets all the glory. But a reliable, lifetime-guaranteed cable is born before the iron is even turned on. Proper cable prepping—specifically stripping and sleeving—is the unsung hero that dictates mechanical strength and longevity.</description>

      
      <content:encoded>
        &lt;p&gt;Soldering gets all the glory in cable building. Everyone obsesses over solder alloys, iron temperatures, and shiny joints. But a cable that lasts a lifetime is built before the iron even gets turned on. No amount of soldering skill fixes sloppy prep work.&lt;/p&gt;
&lt;p&gt;How you strip the conductors and sleeve the assemblies is what actually determines whether a cable holds up for years or fails in six months. Here&#39;s how I prep my cables, why certain materials matter, and why I use mechanical sleeving instead of heat shrink.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://sumtozero.net/img/8W592LJW70-450.webp 450w, https://sumtozero.net/img/8W592LJW70-900.webp 900w, https://sumtozero.net/img/8W592LJW70-1200.webp 1200w, https://sumtozero.net/img/8W592LJW70-1800.webp 1800w, https://sumtozero.net/img/8W592LJW70-2400.webp 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;img src=&quot;https://sumtozero.net/img/8W592LJW70-450.jpeg&quot; class=&quot;article-image&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; alt=&quot;A stripped audio cable, before &amp;amp; after being prepped.&quot; width=&quot;2400&quot; height=&quot;1599&quot; srcset=&quot;https://sumtozero.net/img/8W592LJW70-450.jpeg 450w, https://sumtozero.net/img/8W592LJW70-900.jpeg 900w, https://sumtozero.net/img/8W592LJW70-1200.jpeg 1200w, https://sumtozero.net/img/8W592LJW70-1800.jpeg 1800w, https://sumtozero.net/img/8W592LJW70-2400.jpeg 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h4&gt;Image 1. A stripped audio cable, before &amp;amp; after being prepped.&lt;/h4&gt;
&lt;hr /&gt;
&lt;h2&gt;1. Selecting the right raw materials&lt;/h2&gt;
&lt;p&gt;A good cable starts well before you touch a wire. It starts with sourcing decent components and understanding what you&#39;re actually buying.&lt;/p&gt;
&lt;h3&gt;Regional brands and sourcing&lt;/h3&gt;
&lt;p&gt;I source locally or regionally whenever I can. Shipping costs and import fees add up fast. In Europe, two brands do the job well:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sommer Cable:&lt;/strong&gt; Made in Germany. My go-to choices are the &lt;strong&gt;SC-Isopod SO-F22&lt;/strong&gt; and the &lt;strong&gt;SC-Mistral MCF&lt;/strong&gt; multipair.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Van Damme:&lt;/strong&gt; A UK brand, though several models are manufactured in the EU. The &lt;strong&gt;Blue Series Studio Grade&lt;/strong&gt; range is solid for general wiring, and the &lt;strong&gt;Van Damme White Line AES/EBU 1 pair LSZH Ecoflex&lt;/strong&gt; works great for interconnects. Post-Brexit logistics make them a bit harder to get in the EU, but they&#39;re still worth tracking down.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Conductor choice: purity and diameter&lt;/h3&gt;
&lt;p&gt;Before you look at the jacket, look at the copper.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Purity (OFC):&lt;/strong&gt; Go for &lt;strong&gt;OFC (Oxygen-Free Copper)&lt;/strong&gt;. The sonic argument for OFC is debated endlessly in hi-fi circles. The mechanical argument isn&#39;t. OFC oxidises much more slowly, so your cable won&#39;t go green and brittle inside the jacket five years from now.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Diameter/Cross-Section:&lt;/strong&gt; For line-level studio interconnects, you want conductors around &lt;strong&gt;0.22mm² to 0.25mm² (24 AWG to 23 AWG)&lt;/strong&gt;. Thick enough to keep resistance low and hold up mechanically. Thin enough to actually fit into standard connector solder cups.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stranded vs. Solid Core:&lt;/strong&gt; Always stranded for studio work. Solid core is fine for permanent in-wall runs. But anything that gets flexed, coiled, or handled needs stranded copper. No exceptions.&lt;/p&gt;
&lt;h3&gt;Capacitance&lt;/h3&gt;
&lt;p&gt;When reading spec sheets, &lt;strong&gt;capacitance&lt;/strong&gt; (pF/m) is the number to pay attention to. A cable behaves like a capacitor. Combined with the output impedance of your gear, it creates an RC low-pass filter. Longer runs and higher capacitance mean more high-frequency rolloff. If a manufacturer doesn&#39;t publish capacitance specs, move on.&lt;/p&gt;
&lt;h3&gt;Jacketing materials and LSZH&lt;/h3&gt;
&lt;p&gt;The jacket affects flexibility, durability, and safety.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PVC:&lt;/strong&gt; The standard. Flexible, affordable, easy to strip. Works fine for most studio applications.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PUR (Polyurethane):&lt;/strong&gt; Tough, abrasion-resistant, and cut-proof. Overkill for permanent studio installs, but great on stage where cables get stepped on constantly.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;LSZH is worth understanding because it gets misused a lot. It&#39;s not a material. It&#39;s a classification. PVC contains chlorine, which is a halogen. LSZH jackets use alternative compounds, usually flame-retardant polyolefins, with no halogens. In a fire, they won&#39;t put out toxic gases or thick black smoke.&lt;/p&gt;
&lt;h3&gt;The &amp;quot;unshielded&amp;quot; approach&lt;/h3&gt;
&lt;p&gt;Heavy braided shields are durable, but they add bulk, stiffness, and a lot of capacitance.&lt;/p&gt;
&lt;p&gt;For short studio runs with balanced connections, I use what people call the &amp;quot;unshielded&amp;quot; approach. To be clear, truly unshielded bulk audio wire barely exists. When studio techs say unshielded for interconnects, they mean &lt;strong&gt;foil shield with a drain wire&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The foil gives you full RFI coverage. But structurally the cable acts like it has no shield at all. Prep is fast. You just tear off the foil, isolate the drain wire, and solder. Capacitance drops significantly, the cable stays flexible, and it&#39;s perfect for racks and permanent installs.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;2. Precision stripping&lt;/h2&gt;
&lt;p&gt;Consistency matters more than speed here. Nick the inner copper strands while stripping and you&#39;ve created a weak point that will fail eventually. It always does.&lt;/p&gt;
&lt;h3&gt;The tools&lt;/h3&gt;
&lt;p&gt;No affiliate links here. The tools I use are from &lt;strong&gt;Knipex&lt;/strong&gt;, and the reason is simple: they&#39;re consistent. They make a tool for every part of the job. Cutting, stripping fine inner conductors, stripping thicker individual cables, stripping heavy outer jackets. Whatever diameter you&#39;re working with, there&#39;s a Knipex tool for it. The photo below gives you a good idea of the range I keep on the bench.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://sumtozero.net/img/_XrP2yclZb-450.webp 450w, https://sumtozero.net/img/_XrP2yclZb-900.webp 900w, https://sumtozero.net/img/_XrP2yclZb-1200.webp 1200w, https://sumtozero.net/img/_XrP2yclZb-1800.webp 1800w, https://sumtozero.net/img/_XrP2yclZb-2400.webp 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;img src=&quot;https://sumtozero.net/img/_XrP2yclZb-450.jpeg&quot; class=&quot;article-image&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; alt=&quot;Several stripping tools from Knipex.&quot; width=&quot;2400&quot; height=&quot;2400&quot; srcset=&quot;https://sumtozero.net/img/_XrP2yclZb-450.jpeg 450w, https://sumtozero.net/img/_XrP2yclZb-900.jpeg 900w, https://sumtozero.net/img/_XrP2yclZb-1200.jpeg 1200w, https://sumtozero.net/img/_XrP2yclZb-1800.jpeg 1800w, https://sumtozero.net/img/_XrP2yclZb-2400.jpeg 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h4&gt;Image 2. A bunch of my stripping tools, all from Knipex, for inner jacketing and outer jacketing, for different diameter cables (from thin single cables to multicore looms).&lt;/h4&gt;
&lt;h3&gt;Stripping lengths&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Outer jacket:&lt;/strong&gt; Strip back &lt;strong&gt;15mm to 20mm&lt;/strong&gt;. The connector&#39;s internal clamp needs to grip the thick outer jacket, not the thin inner wires.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inner conductors:&lt;/strong&gt; Strip back &lt;strong&gt;3mm to 4mm&lt;/strong&gt;. Just enough bare copper to fill the solder cup.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;3. Professional sleeving: the Hellermann system&lt;/h2&gt;
&lt;p&gt;I&#39;ve never been a fan of heat shrink. It needs heat that can soften the conductor insulation, and it covers up the solder joint completely. If something goes wrong later, you can&#39;t see it. Using heat shrink on a joint is like painting over a crack in the wall. You&#39;re not fixing anything, just hiding it.&lt;/p&gt;
&lt;p&gt;Instead I use the &lt;strong&gt;Hellermann mechanical sleeving system&lt;/strong&gt;. The sleeve goes over the transition where the outer jacket ends. It gives the cable proper mechanical support right where it needs it.&lt;/p&gt;
&lt;h3&gt;Tools, sleeves, and lubrication&lt;/h3&gt;
&lt;p&gt;You need the &lt;a href=&quot;https://www.hellermanntyton.com/products/application-tools-for-sleeves/ss/621-80008&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Hellermann SS tool&lt;/a&gt; to apply them. It&#39;s a three-pronged expansion tool that stretches the sleeve open so you can slide it over the cable end.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://sumtozero.net/img/oMZ3QstvHi-450.webp 450w, https://sumtozero.net/img/oMZ3QstvHi-900.webp 900w, https://sumtozero.net/img/oMZ3QstvHi-1200.webp 1200w, https://sumtozero.net/img/oMZ3QstvHi-1800.webp 1800w, https://sumtozero.net/img/oMZ3QstvHi-2400.webp 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;img src=&quot;https://sumtozero.net/img/oMZ3QstvHi-450.jpeg&quot; class=&quot;article-image&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; alt=&quot;Hellerman SS tool inserting a sleeve on an audio cable.&quot; width=&quot;2400&quot; height=&quot;1599&quot; srcset=&quot;https://sumtozero.net/img/oMZ3QstvHi-450.jpeg 450w, https://sumtozero.net/img/oMZ3QstvHi-900.jpeg 900w, https://sumtozero.net/img/oMZ3QstvHi-1200.jpeg 1200w, https://sumtozero.net/img/oMZ3QstvHi-1800.jpeg 1800w, https://sumtozero.net/img/oMZ3QstvHi-2400.jpeg 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h4&gt;Image 3. Hellerman SS tool inserting a sleeve on an audio cable.&lt;/h4&gt;
&lt;p&gt;I use &lt;strong&gt;H20&lt;/strong&gt; sleeves (model PRSH20X20BK) for most applications. They&#39;re not pre-lubricated, so you need a drop of &lt;a href=&quot;https://www.hellermanntyton.com/products/chemicals/hellerine-m-284-ml/625-00001&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Hellerine M oil&lt;/a&gt; to get them on cleanly. The &lt;strong&gt;A1&lt;/strong&gt; sleeves are slightly larger and come pre-lubricated. No oil needed. They fit most multipairs up to 4 channels, sometimes 8, and they come in a range of colours which is handy for labelling runs in a complex loom.&lt;/p&gt;
&lt;h3&gt;Ground isolation&lt;/h3&gt;
&lt;p&gt;In a lot of low-capacitance cables, the drain wire has no insulation jacket. Leave it bare and it can touch the connector chassis and cause a short. I slip a short &lt;a href=&quot;https://pt.rs-online.com/web/p/fundas-para-cables/0399401?gb=a&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;1mm silicone sleeve&lt;/a&gt; over it to keep it isolated all the way to the solder pin. The H20 sleeve holds it in place.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Prep hard, solder easy&lt;/h2&gt;
&lt;p&gt;Building your own cables is satisfying work. But the ones that last aren&#39;t built around expensive solder. They&#39;re built around good prep.&lt;/p&gt;
&lt;p&gt;Get the materials right, understand what you&#39;re working with, and use proper mechanical sleeving. Do that and the soldering becomes the easy part.&lt;/p&gt;
&lt;p&gt;Take your time, measure twice, strip cleanly, and sleeve properly.&lt;/p&gt;

      </content:encoded>

      
      
    </item>
    
    <item>
      <title>Fixate:Midrange is Out</title> 
      <link>https://sumtozero.net/en/posts/fixate-midrange-is-out/</link>
      <pubDate>Tue, 12 May 2026 08:45:00 +0000</pubDate>
      <guid>https://sumtozero.net/en/posts/fixate-midrange-is-out/</guid>

      
      <description>Really happy to finally talk about this one. I helped Dan at Newfangled Audio build Fixate:Midrange, and it&#39;s out today! It was really fun to be part of this from the initial idea all the way to a finished product. Go try it out!</description>

      
      <content:encoded>
        &lt;p&gt;Really happy to finally talk about this one. I helped Dan at Newfangled Audio build &lt;a href=&quot;https://www.newfangledaudio.com/fixatemidrange&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Fixate:Midrange&lt;/a&gt;, and it&#39;s out today!&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://sumtozero.net/img/bIbbs_bdpG-450.webp 450w, https://sumtozero.net/img/bIbbs_bdpG-900.webp 900w, https://sumtozero.net/img/bIbbs_bdpG-1200.webp 1200w, https://sumtozero.net/img/bIbbs_bdpG-1800.webp 1800w, https://sumtozero.net/img/bIbbs_bdpG-2400.webp 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;img src=&quot;https://sumtozero.net/img/bIbbs_bdpG-450.jpeg&quot; class=&quot;article-image&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; alt=&quot;Fixate:Midrange plugin at Knurl Mastering&quot; width=&quot;2400&quot; height=&quot;1602&quot; srcset=&quot;https://sumtozero.net/img/bIbbs_bdpG-450.jpeg 450w, https://sumtozero.net/img/bIbbs_bdpG-900.jpeg 900w, https://sumtozero.net/img/bIbbs_bdpG-1200.jpeg 1200w, https://sumtozero.net/img/bIbbs_bdpG-1800.jpeg 1800w, https://sumtozero.net/img/bIbbs_bdpG-2400.jpeg 2400w&quot; sizes=&quot;100vw&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;It all started over Thai food in LA, talking shop about mastering, audio and plugins. At some point I mentioned I kept going back to the same faders on EQuivocate, and Dan just said that could be a great plugin idea: an application based EQuivocate. From there we went through proof of concepts, worked out the structure, fine-tuned the algorithm, and what started as a simple five knob idea grew into a really powerful and capable tool. Really glad it exists, and even happier that it&#39;s finally out there for everyone to try and grab.&lt;/p&gt;
&lt;div class=&quot;videoWrapper&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube-nocookie.com/embed/6vde2XDBBls?si=g7ZenkEv5DEkLr3Y&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;p&gt;It was really fun to be part of this from the initial idea all the way to a finished product. Go try it out!&lt;/p&gt;

      </content:encoded>

      
      
    </item>
  </channel>
</rss>