<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Volume in Windows Vista, part 1: What is &amp;quot;volume&amp;quot;?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx</link><description>I've avoided writing about this because it's "complicated", but people are starting to ask questions that indicate that they're confused so here goes. It's going to take several posts to cover this, so please bear with me. So what IS volume, anyway? Simply</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2020313</link><pubDate>Tue, 03 Apr 2007 22:00:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2020313</guid><dc:creator>Casey</dc:creator><description>&lt;p&gt;Very interesting! Yes, more on audio please:)&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2020506</link><pubDate>Tue, 03 Apr 2007 22:39:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2020506</guid><dc:creator>Chris</dc:creator><description>&lt;p&gt;Yes, I would like to hear much more about this subject.&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2020897</link><pubDate>Tue, 03 Apr 2007 23:43:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2020897</guid><dc:creator>Erwin Alva</dc:creator><description>&lt;p&gt;Cool plots. &amp;nbsp;Not simplistic, not too complicated. &amp;nbsp;I'm betting it's not Excel. :-)&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2020915</link><pubDate>Tue, 03 Apr 2007 23:47:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2020915</guid><dc:creator>LarryOsterman</dc:creator><description>&lt;p&gt;The graphs were built by a contractor working for one of the DSP architects, they were done using Octave (&lt;a rel="nofollow" target="_new" href="http://www.gnu.org/software/octave/"&gt;http://www.gnu.org/software/octave/&lt;/a&gt;).&lt;/p&gt;
</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2021061</link><pubDate>Wed, 04 Apr 2007 00:11:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2021061</guid><dc:creator>Andrew</dc:creator><description>&lt;p&gt;Isn't -3dB equivalent to 50% volume reduction:-&lt;/p&gt;
&lt;p&gt;10 * log 0.5 = -3.01&lt;/p&gt;
&lt;p&gt;You use -6dB in your examples. Am I missing something?&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2021160</link><pubDate>Wed, 04 Apr 2007 00:31:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2021160</guid><dc:creator>LarryOsterman</dc:creator><description>&lt;p&gt;3dB is a 50% POWER reduction, not a 50% volume reduction. &amp;nbsp;6dB is a 50% volume reduction.&lt;/p&gt;
</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2021261</link><pubDate>Wed, 04 Apr 2007 00:45:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2021261</guid><dc:creator>foxyshadis</dc:creator><description>&lt;p&gt;Recorded level difference is 20 log x, total sound pressure is 10 log x. That's because total sound pressure is measured from the positive to the negative peak, whereas recording level is measured from the 0 to peak.&lt;/p&gt;
&lt;p&gt;Question, why choose float instead of 32-bit audio? Either would be as good as the other, so the slightly more common was chosen? Or is it 64-bit float?&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2021643</link><pubDate>Wed, 04 Apr 2007 02:00:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2021643</guid><dc:creator>TimLovell-Smith</dc:creator><description>&lt;p&gt;Interesting. :)&lt;/p&gt;
&lt;p&gt;Is that 0DB meaning +0DB amplification? i.e. it wouldn't correspond to muting the sound, which is what first jumped into my head?&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2021753</link><pubDate>Wed, 04 Apr 2007 02:22:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2021753</guid><dc:creator>LarryOsterman</dc:creator><description>&lt;p&gt;0db meand no attenuation and no amplification, or 100% volume.&lt;/p&gt;
&lt;p&gt;Practically, -96dB == silence.&lt;/p&gt;
</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2022684</link><pubDate>Wed, 04 Apr 2007 05:23:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2022684</guid><dc:creator>Sarath</dc:creator><description>&lt;p&gt;Really cool! I went back to my old days in polytechnic :)&lt;/p&gt;
&lt;p&gt;A pictures worth a thousand words. The graphs helped for better understanding. Keep the drift on with full tank &amp;quot;Audio Diesel&amp;quot;.&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2023715</link><pubDate>Wed, 04 Apr 2007 09:30:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2023715</guid><dc:creator>Phaeron</dc:creator><description>&lt;p&gt;To expand on foxyshadis' point, the problems attributed to fixed-point representations are not really problems with fixed point so much as simply insufficient range, precision, and care in rounding intermediate results. Use 22.10 fixed point with proper rounding, and your 16-bit audio will come through fine. On the other hand, introduce a temporary DC bias of 2^20 in your floating-point mixing, and you'll start running into precision problems again, because floating point trades off precision bits in the mantissa for range bits in the exponent, and that trade-off isn't always in your favor.&lt;/p&gt;
&lt;p&gt;Now, this isn't to say that using hardware floating point is a bad idea, because you get graceful degradation around range/precision problems as well as proper rounding for a lot faster than you could do otherwise in fixed point. On DSP hardware with extra-wide accumulators and free rounding, through, you'd find fixed point arithmetic very competitive.&lt;/p&gt;
&lt;p&gt;BTW, loss of fidelity doesn't happen when amplifying analog signals? What about noise?&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2024246</link><pubDate>Wed, 04 Apr 2007 10:51:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2024246</guid><dc:creator>Hulk</dc:creator><description>&lt;p&gt;&amp;gt;&amp;gt; why choose float instead of 32-bit audio&lt;/p&gt;
&lt;p&gt;It all depends on your standard. x-bit integers in audio and graphics are usually used as a fixed point standard ranging from 0 to 1 (or -1 to 1, depending on the context). You have a uniform distribution of values in the range. &lt;/p&gt;
&lt;p&gt;In floating point, instead, you have separated mantissa and exponent (and sign, but that is not exactly a factor). This allows for a uniform distribution (using some less bits of course) in the desired range (-1 to 1). But it also allows the numbers to increase unpredictably (and in exponential way) over the expected range and get back (and viceversa).&lt;/p&gt;
&lt;p&gt;If you want to &amp;quot;see&amp;quot; it in effect, take any last generation game and see the difference in colors when float point surfaces are enabled and when not. Even with both at 16bit (integer or floating point) the floating point result is much better because it handles with almost no loss all the lighting calculations (which are mostly muls and divs).&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2026205</link><pubDate>Wed, 04 Apr 2007 19:33:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2026205</guid><dc:creator>RyanBemrose</dc:creator><description>&lt;p&gt;@foxyshadis: Question, why choose float instead of 32-bit audio? Either would be as good as the other, so the slightly more common was chosen? Or is it 64-bit float?&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/audiofool/archive/2006/08/23/715608.aspx&amp;gt;32-bit"&gt;http://blogs.msdn.com/audiofool/archive/2006/08/23/715608.aspx&amp;gt;32-bit&lt;/a&gt; is just a bit overkill.&amp;lt;/a&amp;gt;&lt;/p&gt;
&lt;p&gt;For any reasonable audio system, you really don't need more than about 20 bits. &amp;nbsp;The IEEE float32 format offers 24 bit audio (23 mantissa bits + 1 sign bit) with an added 8-bit sliding gain (exponent) that is mainly unused.&lt;/p&gt;
</description></item><item><title>Volume in Windows Vista, part 2: Types of volume in Windows Vista</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2026435</link><pubDate>Wed, 04 Apr 2007 20:36:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2026435</guid><dc:creator>Larry Osterman's WebLog</dc:creator><description>&lt;p&gt;Yesterday , I talked about volume in general, today I want to drill into volume more detail. In Vista,&lt;/p&gt;
</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2033699</link><pubDate>Thu, 05 Apr 2007 19:57:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2033699</guid><dc:creator>Daniel Garlans</dc:creator><description>&lt;p&gt;What kind of ramifications does having a floating point audio path have when using a Pentium 4?&lt;/p&gt;
&lt;p&gt;I know from various DSP forums (link below) that the Pentium 4's, older ones at least, experience extremely significant slowdowns when it comes to denormalized floats, ie, really really small ones, to the point where the solution is generally to either cut to zero below a certain point, or add a constant noise or dc bias to the signal to prevent it reaching the denormalized levels.&lt;/p&gt;
&lt;p&gt;So, does Vista use SSE/SSE2 to avoid this? Do you add noise/bias/offset? Do you hope it never happens? Or is it classified :D&lt;/p&gt;
&lt;p&gt;Here's a relevant link, which references the popular MusicDSP group, Intel, and several others:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://phonophunk.com/articles/pentium4-denormalization.php?pg=3"&gt;http://phonophunk.com/articles/pentium4-denormalization.php?pg=3&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2046085</link><pubDate>Sat, 07 Apr 2007 19:37:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2046085</guid><dc:creator>Igor</dc:creator><description>&lt;p&gt;Larry, please check out this discussion and tell me what you think:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://svconline.com/mag/avinstall_dsp_debate/"&gt;http://svconline.com/mag/avinstall_dsp_debate/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;IMO, either double precision floating point or fixed point is required for internal audio paths if you want good quality sound. Single precision (32-bit) floating point just doesn't cut it although it is easiest to work with.&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2046726</link><pubDate>Sat, 07 Apr 2007 21:58:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2046726</guid><dc:creator>LarryOsterman</dc:creator><description>&lt;p&gt;Igor/Daniel, we're talking about this issue right now with the various FP and DSP experts in-house.&lt;/p&gt;
</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2047027</link><pubDate>Sat, 07 Apr 2007 23:13:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2047027</guid><dc:creator>Daniel Garlans</dc:creator><description>&lt;p&gt;Nice, I'm excited to hear what you guys come up with :)&lt;/p&gt;
&lt;p&gt;I was actually thinking about it more; the specific instances which might cause these kind of denormalized numbers are probably fairly rare in normal day-to-day audio life; it's only when you start dealing with IIR filters that they can start happening. BUT- that opens a possible DOS vulnerability too; an application could open lots of streams, throw an impulse through the IIR, and wait for the numbers to get really, really small...&lt;/p&gt;
&lt;p&gt;Then, not only would the attacker hit the slowdown in it's own math, the entire vista audio path would start having to process numbers that small too, at least until the first gain calculation that might increase/decrease the numbers enough to escape the problem. &lt;/p&gt;
&lt;p&gt;I'm sure there's some huge holes in that idea (like, the interface between the application and the audio system maybe using integers rather than floats, and all the conversion happening internally), but still... I can't be THAT far off, can I? :D &lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2056194</link><pubDate>Mon, 09 Apr 2007 02:15:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2056194</guid><dc:creator>Igor</dc:creator><description>&lt;p&gt;Just to clear something up:&lt;/p&gt;
&lt;p&gt;It is not denormals and over/underflows which are costly -- it is floating point exceptions.&lt;/p&gt;
&lt;p&gt;From my personal experience in code optimization, they are affecting Intel CPUs more than AMD ones. Normally, FP exceptions are disabled but even though they are disabled, they are a penalty and a considerable one.&lt;/p&gt;
&lt;p&gt;In some cases I have measured execution times on Pentium 4 that were more than double the time it takes on a comparable Athlon 64 to perform the same task and I first thought it was because of Athlon's faster FPU.&lt;/p&gt;
&lt;p&gt;Then I wrote FP exception handler and realized that I am having exceptions. Of course, Athlon 64 had them too but their impact was vastly smaller than on Pentium 4 CPU. After I fixed the code so that the calculations do not generate exceptions, time difference between the two dropped considerably.&lt;/p&gt;
&lt;p&gt;As for the audio, personally I would prefer 48-bit (or even 64-bit?) fixed point although it would be harder to implement.&lt;/p&gt;
&lt;p&gt;That is because CPUs of today (Core 2 Duo) and tomorrow (Penryn) are exceptionally good at working with SIMD integers and the cost of that implementation performance-wise would be pretty small. Naturally you will dislike it because you would need at least two code paths to develop and maintain, one for the older machines and one for the modern ones.&lt;/p&gt;
&lt;p&gt;Let me know if I could be of any help.&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2079956</link><pubDate>Wed, 11 Apr 2007 04:32:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2079956</guid><dc:creator>Igor</dc:creator><description>&lt;p&gt;I really hope my lengthy comment isn't lost.&lt;/p&gt;</description></item><item><title>re: Volume in Windows Vista, part 1: What is "volume"?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2120331</link><pubDate>Sat, 14 Apr 2007 00:17:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2120331</guid><dc:creator>Donnie Hale</dc:creator><description>&lt;p&gt;Larry,&lt;/p&gt;
&lt;p&gt;I appreciate the posts. Here's a question I've had for a long time about the digital representation of sound. I've looked at some textbook treatises but not gotten through them (too much of a thought / time commitment).&lt;/p&gt;
&lt;p&gt;I often see graphs like your first one - a digital waveform of amplitude plotted against time. My question is, what is this the amplitude of? In my mind, there might be sound at 20 different frequencies at any point in time (different notes on a piano, a drum cymbal, vocals, etc.). The information for each of those frequencies has to be captured at that point in time, and I would think several characteristics of each of those frequencies would have to be captured, including amplitude.&lt;/p&gt;
&lt;p&gt;If it's possible, how is this information represented in a digital sense? And how does that relate to the amplitude vs. time graph?&lt;/p&gt;
&lt;p&gt;Thanks for bearing with me,&lt;/p&gt;
&lt;p&gt;Donnie&lt;/p&gt;</description></item><item><title>Background on Audio Volume in Windows Vista</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#2177256</link><pubDate>Wed, 18 Apr 2007 19:33:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2177256</guid><dc:creator>All the Cool Developers use Speech APIs</dc:creator><description>&lt;p&gt;Our friend in the multimedia group and prolific blogger Larry Osterman is writing a series of articles&lt;/p&gt;
</description></item><item><title>Why doesn’t Windows support amplification of audio samples?</title><link>http://blogs.msdn.com/larryosterman/archive/2007/04/03/volume-in-windows-vista-part-1-what-is-volume.aspx#8848413</link><pubDate>Mon, 11 Aug 2008 19:36:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8848413</guid><dc:creator>Larry Osterman's WebLog</dc:creator><description>&lt;p&gt;Nils Arthur asked in another post: While we are talking volume controls. Could you explain why it's only&lt;/p&gt;
</description></item></channel></rss>