tag:github.com,2008:https://github.com/processing/processing-sound/releasesRelease notes from processing-sound2024-03-22T17:20:59Ztag:github.com,2008:Repository/144610033/v2.4.02024-03-22T17:46:44Zv2.4.0<h2>What's new in this version</h2>
<h3>Fixes</h3>
<ul>
<li>no more memory leaks/stutter/lag/crashes when repeatedly playing back audio samples (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="381979486" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/17" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/17/hovercard" href="https://github.com/processing/processing-sound/issues/17">#17</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1419889928" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/74" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/74/hovercard" href="https://github.com/processing/processing-sound/issues/74">#74</a>) and envelopes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="437255206" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/29" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/29/hovercard" href="https://github.com/processing/processing-sound/issues/29">#29</a>)</li>
<li>improved audio file decoding support for mp3 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="442991870" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/32" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/32/hovercard" href="https://github.com/processing/processing-sound/issues/32">#32</a>), ogg (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="577372600" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/53" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/53/hovercard" href="https://github.com/processing/processing-sound/issues/53">#53</a>), 8 bit wav files (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="379583128" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/15" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/15/hovercard" href="https://github.com/processing/processing-sound/issues/15">#15</a>) and more</li>
<li>added support for 24 bit audio interfaces on Windows (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1868168423" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/85" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/85/hovercard" href="https://github.com/processing/processing-sound/issues/85">#85</a>)</li>
<li>all-around much improved documentation, see the <a href="https://processing.org/reference/libraries/sound/index.html" rel="nofollow">Sound library web reference</a></li>
</ul>
<h3>New features</h3>
<p>Please refer to the <a href="https://processing.github.io/processing-sound/" rel="nofollow">Javadoc</a> reference for now, the Processing website reference will only be updated at the time of the official release</p>
<ul>
<li>a new <code>AllPass</code> filter, contributed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pixmusix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pixmusix">@pixmusix</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1533046919" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/78" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/78/hovercard" href="https://github.com/processing/processing-sound/issues/78">#78</a>)</li>
<li><code>FFT.analyzeSample()</code> method, contributed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/damaru-inc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/damaru-inc">@damaru-inc</a></li>
<li>flexibly route sounds to any output on multi-channel devices through the brand new <code>MultiChannel</code> class (with example sketch)</li>
<li>ability to choose PortAudio drivers on all platforms using the new <code>MultiChannel.usePortAudio()</code> method</li>
<li>a brand new <code>PitchDetector</code> class with example sketch</li>
<li>control the resonance/Q factor of filters through the new <code>res()</code> method (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="512355858" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/46" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/46/hovercard" href="https://github.com/processing/processing-sound/issues/46">#46</a>)</li>
</ul>
<p>With many thanks to all contributors and testers, in particular <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/trackme518/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/trackme518">@trackme518</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daniel-tran/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daniel-tran">@daniel-tran</a></p>
<p>See the <a href="https://github.com/processing/processing-sound/compare/d25ebb70cdf5ff36002c1f09496727b9ff71f361...v2.4.0">full changelog</a></p>
<h3>Experimental features</h3>
<ul>
<li>Frequency and amplitude modulation of oscillators by passing other oscillators to <code>freq()</code> and <code>amp()</code></li>
</ul>
<h3>Known issues</h3>
<ul>
<li>laggy sound when playing over AAC bluetooth devices on OSX</li>
<li>Android currently only supports decoding of 16 bit wav and aiff files (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1898255816" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/86" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/86/hovercard" href="https://github.com/processing/processing-sound/issues/86">#86</a>)</li>
</ul>github-actions[bot]tag:github.com,2008:Repository/144610033/latest2024-12-05T23:59:01ZLatest release of the Processing Sound library<p>This is the stable tag for downloading the latest version of the Processing Sound library through Processing's Contribution Manager menu.</p>kevinstadlertag:github.com,2008:Repository/144610033/v2.4.0-preview2023-12-14T00:15:49Zv2.4.0-preview<p>This is a preview build of the upcoming 2.4.0 version release of the Sound library, available for manual download/installation until it gets pushed to the contribution manager.</p>
<h2>How to test</h2>
<p>Download <a href="https://github.com/processing/processing-sound/releases/download/v2.4.0-preview/sound.zip">sound.zip</a> and extract the <code>sound</code> directory into your sketchbook's <code>libraries</code> folder (this is usually in <code>Documents/Processing/libraries/</code>). (On Windows, you will need to close Processing while doing this.)</p>
<p>We are particularly interested to know whether old sketches of yours that use the sound library still work as expected using the new library version. <strong>PLEASE REPORT ANY AND ALL BUGS, CRASHES OR EXCEPTIONS YOU GET WHILE USING THE CURRENT PREVIEW BUILD AT THE FOLLOWING LINK: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1919599434" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/89" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/89/hovercard" href="https://github.com/processing/processing-sound/issues/89">#89</a></strong></p>
<h2>What's new in this version</h2>
<h3>Fixes</h3>
<ul>
<li>no more memory leaks/stutter/lag/crashes when repeatedly playing back audio samples (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="381979486" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/17" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/17/hovercard" href="https://github.com/processing/processing-sound/issues/17">#17</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1419889928" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/74" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/74/hovercard" href="https://github.com/processing/processing-sound/issues/74">#74</a>) and envelopes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="437255206" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/29" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/29/hovercard" href="https://github.com/processing/processing-sound/issues/29">#29</a>)</li>
<li>improved audio file decoding support for mp3 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="442991870" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/32" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/32/hovercard" href="https://github.com/processing/processing-sound/issues/32">#32</a>), ogg (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="577372600" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/53" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/53/hovercard" href="https://github.com/processing/processing-sound/issues/53">#53</a>), 8 bit wav files (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="379583128" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/15" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/15/hovercard" href="https://github.com/processing/processing-sound/issues/15">#15</a>) and more</li>
<li>added support for 24 bit audio interfaces on Windows (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1868168423" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/85" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/85/hovercard" href="https://github.com/processing/processing-sound/issues/85">#85</a>)</li>
<li>all-around much improved documentation, see the <a href="https://processing.org/reference/libraries/sound/index.html" rel="nofollow">Sound library web reference</a></li>
</ul>
<h3>New features</h3>
<p>Please refer to the <a href="https://processing.github.io/processing-sound/" rel="nofollow">Javadoc</a> reference for now, the Processing website reference will only be updated at the time of the official release</p>
<ul>
<li>a new <code>AllPass</code> filter, contributed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pixmusix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pixmusix">@pixmusix</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1533046919" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/78" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/78/hovercard" href="https://github.com/processing/processing-sound/issues/78">#78</a>)</li>
<li><code>FFT.analyzeSample()</code> method, contributed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/damaru-inc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/damaru-inc">@damaru-inc</a></li>
<li>flexibly route sounds to any output on multi-channel devices through the brand new <code>MultiChannel</code> class (with example sketch)</li>
<li>ability to choose PortAudio drivers on all platforms using the new <code>MultiChannel.usePortAudio()</code> method</li>
<li>a brand new <code>PitchDetector</code> class with example sketch</li>
<li>control the resonance/Q factor of filters through the new <code>res()</code> method (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="512355858" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/46" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/46/hovercard" href="https://github.com/processing/processing-sound/issues/46">#46</a>)</li>
</ul>
<p>With many thanks to all contributors and testers, in particular <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/trackme518/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/trackme518">@trackme518</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daniel-tran/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daniel-tran">@daniel-tran</a></p>
<p>See the <a href="https://github.com/processing/processing-sound/compare/d25ebb70cdf5ff36002c1f09496727b9ff71f361...v2.4.0-preview">full changelog</a></p>
<h3>Experimental features</h3>
<ul>
<li>Frequency and amplitude modulation of oscillators by passing other oscillators to <code>freq()</code> and <code>amp()</code></li>
</ul>
<h3>Known issues</h3>
<ul>
<li>laggy sound when playing over AAC bluetooth devices on OSX</li>
<li>Android currently only supports decoding of 16 bit wav and aiff files (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1898255816" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/86" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/86/hovercard" href="https://github.com/processing/processing-sound/issues/86">#86</a>)</li>
</ul>github-actions[bot]tag:github.com,2008:Repository/144610033/v2.4.0-preview-android2023-09-25T20:01:07Zv2.4.0-preview-android<p>Don't probe output devices on Android</p>kevinstadlertag:github.com,2008:Repository/144610033/javasound-portaudio-preview2023-09-20T16:30:28Zjavasound-portaudio-preview dev build<p>Dev build of commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/processing/processing-sound/commit/2afba78591742a2514a4ce29556329f9dc3ec79c/hovercard" href="https://github.com/processing/processing-sound/commit/2afba78591742a2514a4ce29556329f9dc3ec79c"><tt>2afba78</tt></a> by kevinstadler from the <a href="https://github.com/processing/processing-sound/tree/main">main</a> branch</p>github-actions[bot]tag:github.com,2008:Repository/144610033/multichannel-test2023-09-15T11:14:25Zmultichannel-test: Implement mp3/ogg/.. SoundFile decoding using JavaSound<p>This will break Android support to some extent, but fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="442991870" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/32" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/32/hovercard" href="https://github.com/processing/processing-sound/issues/32">#32</a> by<br>
switching to the much more well-supported (and 4x faster!) mp3spi,<br>
closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="577372600" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/53" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/53/hovercard" href="https://github.com/processing/processing-sound/issues/53">#53</a> by adding support via vorbisspi, and also fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="379583128" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/15" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/15/hovercard" href="https://github.com/processing/processing-sound/issues/15">#15</a> since 8<br>
bit wav files are are now simply decoded through JavaSound.</p>kevinstadlertag:github.com,2008:Repository/144610033/windows2023-09-08T15:29:05Zwindows<p>Load PortAudio when LineUnsupportedException occurs (refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1868168423" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/85" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/85/hovercard" href="https://github.com/processing/processing-sound/issues/85">#85</a>)</p>kevinstadlertag:github.com,2008:Repository/144610033/v2.3.12021-03-18T13:15:28Zv2.3.1<h3>What's new in this version</h3>
<ul>
<li>removed unnecessary/incorrect redtext warning when calling <code>read(int)</code> on stereo samples (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="833026224" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/65" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/65/hovercard" href="https://github.com/processing/processing-sound/issues/65">#65</a>)</li>
<li>added <code>audiosample.read(int, int)</code> method</li>
<li>added <code>Soundfile > StereoSample</code> example to demonstrate/compare the two <code>read()</code> methods</li>
<li>truncated example audio file to reduce library download size (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="834599900" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/66" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/66/hovercard" href="https://github.com/processing/processing-sound/issues/66">#66</a>)</li>
</ul>kevinstadlertag:github.com,2008:Repository/144610033/v2.3.02021-03-03T12:21:27Zv2.3.0<h3>What's new in this version</h3>
<ul>
<li><a href="https://processing.github.io/processing-sound/processing/sound/BeatDetector.html" rel="nofollow"><code>BeatDetector</code></a> analyzer class contributed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexdmiller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexdmiller">@alexdmiller</a> (addresses <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="668397024" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/58" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/58/hovercard" href="https://github.com/processing/processing-sound/issues/58">#58</a>)</li>
<li>Implements <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="513906849" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/47" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/47/hovercard" href="https://github.com/processing/processing-sound/issues/47">#47</a>. Caching of decoded <code>SoundFile</code> data (which used to block audio samples from being garbage collected) can now be disabled in two ways:
<ul>
<li>set the (new) third constructor argument to <code>false</code>: <code>new SoundFile(this, filename, false)</code></li>
<li>method: <code>soundfile.removeFromCache()</code></li>
</ul>
</li>
</ul>kevinstadlertag:github.com,2008:Repository/144610033/v2.3.0-test2019-11-15T07:11:05Zv2.3.0 test build<p>Implements <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="513906849" data-permission-text="Title is private" data-url="https://github.com/processing/processing-sound/issues/47" data-hovercard-type="issue" data-hovercard-url="/processing/processing-sound/issues/47/hovercard" href="https://github.com/processing/processing-sound/issues/47">#47</a>. Caching of decoded <code>SoundFile</code> data (which used to block audio samples from being garbage collected) can now be disabled in two ways:</p>
<ul>
<li>set the (new) third constructor argument to <code>false</code>: <code>new SoundFile(this, filename, false)</code></li>
<li>method: <code>soundfile.removeFromCache()</code></li>
</ul>kevinstadler