<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Info &#8211; Moeller Studios</title>
	<atom:link href="https://www.moellerstudios.org/category/info/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.moellerstudios.org</link>
	<description></description>
	<lastBuildDate>Fri, 11 Sep 2020 18:46:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.moellerstudios.org/wp-content/uploads/cropped-MStudiosFavicon-32x32.png</url>
	<title>Info &#8211; Moeller Studios</title>
	<link>https://www.moellerstudios.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Pitch Shifting via Sample-Rate Conversion</title>
		<link>https://www.moellerstudios.org/pitch-shifting-via-sample-rate-conversion/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pitch-shifting-via-sample-rate-conversion</link>
					<comments>https://www.moellerstudios.org/pitch-shifting-via-sample-rate-conversion/#comments</comments>
		
		<dc:creator><![CDATA[John]]></dc:creator>
		<pubDate>Wed, 10 May 2017 22:16:22 +0000</pubDate>
				<category><![CDATA[Info]]></category>
		<guid isPermaLink="false">http://www.moellerstudios.org/?p=729</guid>

					<description><![CDATA[Pitch shifting via sample-rate conversion is an effective way to change the pitch of a digital audio sample. This method is often used in samplers, including software samplers (such as the EXS24 in Logic Pro). It works by resampling the &#8230; <a href="https://www.moellerstudios.org/pitch-shifting-via-sample-rate-conversion/">Read More</a>]]></description>
										<content:encoded><![CDATA[<p>Pitch shifting via sample-rate conversion is an effective way to change the pitch of a digital audio sample.  This method is often used in samplers, including software samplers (such as the EXS24 in Logic Pro).  It works by resampling the signal in the digital domain.  The audio playback speed is adjusted, changing the pitch and tempo together.  The output sampling rate remains constant.</p>
<p>Aliasing can occur when shifting up or down in non-octave intervals due to the resampling process.  Using a high-quality interpolation scheme will help alleviate this.  For example, the diskin2 opcode in Csound allows for ≥8-point sinc interpolation with anti-aliasing.  However, it increases the processing time.</p>
<div id="attachment_730" style="width: 950px" class="wp-caption aligncenter"><a href="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-1-Step.png"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-730" src="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-1-Step-1024x584.png" alt="" width="940" height="536" class="size-large wp-image-730" srcset="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-1-Step-1024x584.png 1024w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-1-Step-300x171.png 300w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-1-Step-768x438.png 768w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-1-Step.png 1550w" sizes="(max-width: 940px) 100vw, 940px" /></a><p id="caption-attachment-730" class="wp-caption-text">A 10-second linear sine-wave sweep from 200Hz to 12kHz, sampled at 96kHz.  A) Original (200Hz-12kHz), B) transposed up a semi-tone with no interpolation, C) linear interpolation, D) cubic interpolation, E) 8-point sinc interpolation with anti-aliasing, F) 32-point sinc interpolation with anti-aliasing, G) 64-point sinc interpolation with anti-aliasing.</p></div>
<div id="attachment_731" style="width: 950px" class="wp-caption aligncenter"><a href="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-1-Step.png"><img decoding="async" aria-describedby="caption-attachment-731" src="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-1-Step-1024x584.png" alt="" width="940" height="536" class="size-large wp-image-731" srcset="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-1-Step-1024x584.png 1024w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-1-Step-300x171.png 300w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-1-Step-768x438.png 768w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-1-Step.png 1550w" sizes="(max-width: 940px) 100vw, 940px" /></a><p id="caption-attachment-731" class="wp-caption-text">Same as the previous but down a semi-tone.</p></div>
<p>When shifting up by octave intervals, aliasing is not as problematic.  The only thing to watch out for is shifting the signal so it doesn&#8217;t go above the Nyquist frequency.  In such cases, aliasing will occur, and an interpolation scheme that provides anti-aliasing may only be partially successful in eliminating the unwanted signal that folds back into the spectrum.</p>
<div id="attachment_732" style="width: 950px" class="wp-caption aligncenter"><a href="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-Octaves-Various-Interpolations.png"><img decoding="async" aria-describedby="caption-attachment-732" src="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-Octaves-Various-Interpolations-1024x713.png" alt="" width="940" height="655" class="size-large wp-image-732" srcset="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-Octaves-Various-Interpolations-1024x713.png 1024w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-Octaves-Various-Interpolations-300x209.png 300w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-Octaves-Various-Interpolations-768x535.png 768w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Up-Octaves-Various-Interpolations.png 1270w" sizes="(max-width: 940px) 100vw, 940px" /></a><p id="caption-attachment-732" class="wp-caption-text">A 10-second linear sine-wave sweep from 200Hz to 12kHz, sampled at 96kHz.  A) Original (200Hz-12kHz), B) transposed up an octave (400Hz-24kHz) with no interpolation, C) transposed up 3 octaves with no interpolation or anti-aliasing (note that it would be 1600Hz-96kHz, but once it hits the Nyquist frequency at 48kHz, it folds back into the frequency spectrum due to aliasing), D) the same as the previous, but with 64-point sinc interpolation with anti-aliasing (note that the unwanted signal is only partially removed).</p></div>
<p>Shifting down by octave intervals will cause aliasing.  The solution is as described above.</p>
<div id="attachment_733" style="width: 950px" class="wp-caption aligncenter"><a href="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-Octaves-Various-Interpolations.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-733" src="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-Octaves-Various-Interpolations-1024x579.png" alt="" width="940" height="532" class="size-large wp-image-733" srcset="https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-Octaves-Various-Interpolations-1024x579.png 1024w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-Octaves-Various-Interpolations-300x170.png 300w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-Octaves-Various-Interpolations-768x434.png 768w, https://www.moellerstudios.org/wp-content/uploads/Diskin2-Dwn-Octaves-Various-Interpolations.png 1564w" sizes="auto, (max-width: 940px) 100vw, 940px" /></a><p id="caption-attachment-733" class="wp-caption-text">A 2-second linear sine-wave sweep from 200Hz to 12kHz, sampled at 96kHz.  A) Original (200Hz-12kHz), B) transposed down an octave with no interpolation, C) linear interpolation, D) cubic interpolation, E) 8-point sinc interpolation with anti-aliasing, F) 32-point sinc interpolation with anti-aliasing, G) 64-point sinc interpolation with anti-aliasing.  Then repeat B) through G) for two octaves down and again for three octaves down.</p></div>
<p>Note:  This form of pitch shifting can also essentially be accomplished by transferring data from a sound file into a function table and reading it via a table-lookup opcode in Csound.  In terms of quality, loscilx has all the interpolation schemes available in diskin2, and the results appear to be exactly the same (all the previously-mentioned pitch shifts were also rendered using the loscilx opcode, in addition to the diskin2 opcode, and all the resulting spectrograms are exactly like those pictured above).</p>
<p>Note:  You can change the interpolation quality in the EXS24 software sampler in Logic Pro.  On the EXS24 interface, click the button marked &#8220;edit.&#8221;  In the dialog box that pops up, got to Edit&#8211;>Preferences&#8230;&#8211;>Sample Rate Conversion:  Best or Normal.  According to the documentation, this deals with the sample-rate conversion algorithm, but my tests have not shown any difference between the two settings.</p>
<div id="attachment_734" style="width: 950px" class="wp-caption aligncenter"><a href="https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Normal-Mode.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-734" src="https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Normal-Mode-1024x611.png" alt="" width="940" height="561" class="size-large wp-image-734" srcset="https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Normal-Mode-1024x611.png 1024w, https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Normal-Mode-300x179.png 300w, https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Normal-Mode-768x458.png 768w, https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Normal-Mode.png 1481w" sizes="auto, (max-width: 940px) 100vw, 940px" /></a><p id="caption-attachment-734" class="wp-caption-text">10-second linear sine-wave sweep from 200Hz to 12kHz, sampled at 96kHz. A) Original, B) up a semi-tone, C) down a semi-tone.  Logic Pro&#8217;s sample rate conversion was in &#8220;Normal&#8221; mode.</p></div>
<div id="attachment_735" style="width: 950px" class="wp-caption aligncenter"><a href="https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Best-Mode.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-735" src="https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Best-Mode-1024x615.png" alt="" width="940" height="565" class="size-large wp-image-735" srcset="https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Best-Mode-1024x615.png 1024w, https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Best-Mode-300x180.png 300w, https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Best-Mode-768x461.png 768w, https://www.moellerstudios.org/wp-content/uploads/Logic-Pro-Best-Mode.png 1472w" sizes="auto, (max-width: 940px) 100vw, 940px" /></a><p id="caption-attachment-735" class="wp-caption-text">Same as the previous.  Logic Pro&#8217;s sample rate conversion was in &#8220;Best&#8221; mode.</p></div>
<p>Note:  The speed effect in conjunction with the rate effect in SoX allows pitch shifting via sample-rate conversion.  The level of quality is programmable.  <a href="https://www.moellerstudios.org/how-to-install-and-use-sound-exchange/">See this post</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.moellerstudios.org/pitch-shifting-via-sample-rate-conversion/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>AC Toolbox</title>
		<link>https://www.moellerstudios.org/ac-toolbox/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ac-toolbox</link>
					<comments>https://www.moellerstudios.org/ac-toolbox/#respond</comments>
		
		<dc:creator><![CDATA[John]]></dc:creator>
		<pubDate>Mon, 12 Dec 2016 20:59:45 +0000</pubDate>
				<category><![CDATA[Info]]></category>
		<guid isPermaLink="false">http://www.moellerstudios.org/?p=575</guid>

					<description><![CDATA[AC Toolbox is a stand-alone software package for algorithmic composition developed by Paul Berg. It was implemented in the Lisp programming language. It has numerous generators, transformers, and tools, and can be extended by the user. It is well-documented and &#8230; <a href="https://www.moellerstudios.org/ac-toolbox/">Read More</a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.actoolbox.net/" target="_blank" rel="noopener noreferrer">AC Toolbox</a> is a stand-alone software package for algorithmic composition developed by Paul Berg. It was implemented in the Lisp programming language. It has numerous generators, transformers, and tools, and can be extended by the user. It is well-documented and has plenty of examples.</p>
<p>AC Toolbox can generate fractional MIDI values playable by the QuickTime synthesizer and via a Capybara or Pacarana (i.e., the hardware units of the <a href="https://kyma.symbolicsound.com/" target="_blank" rel="noopener noreferrer">Kyma</a> sound design system). It is possible to send MIDI data to an external device via CoreMIDI, and to export MIDI data to a file; however, in both cases it rounds off the MIDI values to whole numbers.</p>
<p>I find the AC Toolbox useful for quickly prototyping algorithmic processes. I also find it useful for generating Csound scores. For example:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-576" src="https://www.moellerstudios.org/wp-content/uploads/AC_Toolbox_Csound_Example.png" alt="" width="639" height="654" srcset="https://www.moellerstudios.org/wp-content/uploads/AC_Toolbox_Csound_Example.png 639w, https://www.moellerstudios.org/wp-content/uploads/AC_Toolbox_Csound_Example-293x300.png 293w, https://www.moellerstudios.org/wp-content/uploads/AC_Toolbox_Csound_Example-60x60.png 60w" sizes="auto, (max-width: 639px) 100vw, 639px" /></p>
<p>Will yield a score that is something like this:</p>
<p>i1 0.1916 2.7399 38 1<br />
i1 3.0699 2.0392 49 2<br />
i1 3.6051 2.9973 45 1<br />
i1 6.2635 1.8834 39 0.5000<br />
i1 10.1440 1.9321 42 0.5000<br />
i1 16.2516 2.5831 46 1<br />
i1 18.0588 1.1249 58 0.5000<br />
i1 29.5553 2.7742 34 0.5000<br />
i1 36.8098 1.6393 60 1<br />
i1 38.0213 2.6638 61 2<br />
i1 38.1205 1.6750 48 0.5000<br />
i1 42.5817 1.2653 39 1<br />
i1 43.8424 1.9782 55 1<br />
i1 45.2315 1.7599 45 1<br />
i1 45.8118 1.7012 57 1<br />
i1 47.4830 1.6004 51 2<br />
i1 48.4143 2.9806 54 2<br />
i1 50.6039 1.1635 49 0.5000<br />
i1 54.1167 1.6529 41 2<br />
i1 58.9923 1.8283 50 2</p>
<p>See the AC Toolbox <a href="https://www.actoolbox.net/documentation/" target="_blank" rel="noopener noreferrer">documentation</a> for additional functionality and other compatible software packages.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.moellerstudios.org/ac-toolbox/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Object Caching 27/59 objects using APC
Page Caching using Disk: Enhanced 
Lazy Loading (feed)

Served from: www.moellerstudios.org @ 2026-03-21 23:23:31 by W3 Total Cache
-->