<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>The '413 can do TDM according to the reference manual. <br>
</p>
<p>--tr<br>
</p>
<br>
<div class="moz-cite-prefix">On 11/13/2017 9:20 AM, Mikko Helin
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAJ5nAj4Wov+_psb2wVk=wDE43quOS4RmR4UhExQOrKi5CXFRBQ@mail.gmail.com">
<div dir="ltr">
<div class="gmail_default" style="font-family:"trebuchet
ms",sans-serif"><span
style="font-family:arial,sans-serif;font-size:12.8px">For
PCM1681 and it's 8-channel TDM interface you will need some
STM32F42x part at least. (427)</span><br>
</div>
<div class="gmail_default" style="font-family:"trebuchet
ms",sans-serif"><span
style="font-family:arial,sans-serif;font-size:12.8px"><br>
</span></div>
<div class="gmail_default" style="font-family:"trebuchet
ms",sans-serif"><span
style="font-family:arial,sans-serif;font-size:12.8px">--Mikko</span></div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Nov 13, 2017 at 5:32 PM, <span
dir="ltr"><<a href="mailto:paula@synth.net"
target="_blank" moz-do-not-send="true">paula@synth.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex"><cough><br>
<br>
256 Kbyte of SRAM<br>
<br>
<a
href="http://www.st.com/en/microcontrollers/stm32f412ve.html"
rel="noreferrer" target="_blank" moz-do-not-send="true">http://www.st.com/en/microcont<wbr>rollers/stm32f412ve.html</a><br>
<br>
<br>
Still, that's quite a chunk of RAM.<br>
<br>
Paula
<div class="HOEnZb">
<div class="h5"><br>
<br>
<br>
On 2017-11-13 15:08, Tom Wiltshire wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
100MHz?! 256mB RAM?! Easy life!! That’s no limitations
at all. <insert<br>
Monty Python's Yorkshireman paraphrasing here><br>
<br>
Yes, you could certainly make linear interp work well
in such a situation.<br>
<br>
You’ve got multiply instructions and probably
multiply-accumulate too,<br>
so linear interp is only a couple of instructions and
you don’t have<br>
to worry about whether it’s powers of 2 or not
(although that does<br>
always seem to make life easier…)<br>
<br>
Tom<br>
<br>
==================<br>
Electric Druid<br>
Synth & Stompbox DIY<br>
==================<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
On 12 Nov 2017, at 22:50, Tim Ressel <<a
href="mailto:timr@circuitabbey.com"
target="_blank" moz-do-not-send="true">timr@circuitabbey.com</a>>
wrote:<br>
<br>
I meant clean code-wise :-)<br>
<br>
Target sample rate is 192KHz. TI makes a super cool
8 channel audio dac PCM1681. Target proc is the
STM32F412VET6, cortex M4, 256 mB ram, 100MHz.<br>
<br>
So you think I can get away with linear? That would
make the interop code simple. Since I am filling in
256 points in between samples the math is all powers
of 2.<br>
<br>
-t-i-m-b-o-<br>
<br>
On 11/12/2017 11:28 AM, Richie Burnett wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
Linear interpolation isn't particularly clean (it
isn't band-limited) but can work adequately if you
oversample the data in the wave tables first,
and/or use a sufficiently high playback
sample-rate like 96kHz. In the case of the
former, if the data in the wavetables is already
oversampled considerably, then linear
interpolation between the points isn't such a bad
approximation. And the latter gives space for the
images from the imperfect interpolation to go,
before they alias back into the audio band where
you will hear them...<br>
<br>
If you run your playback at 48kHz, then the
demands on the interpolator are very stringent.
It should be flat out to 20kHz or thereabouts, and
then be something like 80dB or more down by 28kHz
if you aren't to hear aliasing back into the audio
band below 20kHz. That's only 8kHz of transition
band for the interpolating filter to work it's
magic. However, doubling the playback sample rate
to 96kHz, means that you've got all the space
between 20kHz and 76 kHz for the interpolating
filter's transition band. That's 7 times as wide,
for a mere x2 oversampling during playback, so the
demands on the interpolating filter are greatly
reduced!<br>
<br>
-Richie,<br>
<br>
-----Original Message----- From: Tim Ressel<br>
Sent: Sunday, November 12, 2017 6:56 PM<br>
To: SYNTH DIY<br>
Subject: [sdiy] Wave table interpolation<br>
<br>
Hi,<br>
<br>
Another fun one. I've been looking at the WaveEdit
software. It looks<br>
like it produces waves that are 256 samples by 16
bits. Obviously you'll<br>
want to interpolate between the samples. Linear
interpolation works and<br>
is cheap but is brute force and causes lots of
distortion. I've looked<br>
at cubic interpolation. Is that a viable approach?
My app needs 4 tables<br>
live at a time so I can interpolate (linearly)
between them, so this all<br>
has to happen on the fly. Cubic looks a bit math
intensive.<br>
<br>
Thanks!<br>
<br>
</blockquote>
<br>
--<br>
--Tim Ressel<br>
Circuit Abbey<br>
<a href="mailto:timr@circuitabbey.com"
target="_blank" moz-do-not-send="true">timr@circuitabbey.com</a><br>
<br>
______________________________<wbr>_________________<br>
Synth-diy mailing list<br>
<a href="mailto:Synth-diy@synth-diy.org"
target="_blank" moz-do-not-send="true">Synth-diy@synth-diy.org</a><br>
<a
href="http://synth-diy.org/mailman/listinfo/synth-diy"
rel="noreferrer" target="_blank"
moz-do-not-send="true">http://synth-diy.org/mailman/l<wbr>istinfo/synth-diy</a><br>
</blockquote>
<br>
<br>
______________________________<wbr>_________________<br>
Synth-diy mailing list<br>
<a href="mailto:Synth-diy@synth-diy.org"
target="_blank" moz-do-not-send="true">Synth-diy@synth-diy.org</a><br>
<a
href="http://synth-diy.org/mailman/listinfo/synth-diy"
rel="noreferrer" target="_blank"
moz-do-not-send="true">http://synth-diy.org/mailman/l<wbr>istinfo/synth-diy</a><br>
</blockquote>
______________________________<wbr>_________________<br>
Synth-diy mailing list<br>
<a href="mailto:Synth-diy@synth-diy.org" target="_blank"
moz-do-not-send="true">Synth-diy@synth-diy.org</a><br>
<a
href="http://synth-diy.org/mailman/listinfo/synth-diy"
rel="noreferrer" target="_blank"
moz-do-not-send="true">http://synth-diy.org/mailman/l<wbr>istinfo/synth-diy</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Synth-diy mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Synth-diy@synth-diy.org">Synth-diy@synth-diy.org</a>
<a class="moz-txt-link-freetext" href="http://synth-diy.org/mailman/listinfo/synth-diy">http://synth-diy.org/mailman/listinfo/synth-diy</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
--Tim Ressel
Circuit Abbey
<a class="moz-txt-link-abbreviated" href="mailto:timr@circuitabbey.com">timr@circuitabbey.com</a></pre>
</body>
</html>