Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Internet Explorer 10 Platform Preview 2: A look at How Stuff Works in IE10
Jun 30, 2011 at 7:56 AMI'm just curios why disabling "Colors" in the "How Stuff Works" demo makes such a huge speed difference. On IE9, the demo runs 4 times faster when the "Colors" option is disabled. After all, gray is also a color.
XNA: Game Development – Creating Player Animation
Apr 27, 2011 at 12:33 PMA more general question related to these tutorials:
Are you going to have a tutorial on creating 3D games as well? All these are related only to 2D. I realize 3D game development is a huge topic but even something like an overview of which tools to use to create 3D content (levels and characters), 3D animations, pros and cons of creating your own game engine vs using an existing engine etc would be helpful.
XNA: Game Development – Creating Player Animation
Apr 26, 2011 at 12:09 PMThis is very interesting for 2D purposes but does anyone know where I can find info about techniques and tools that I can use to create and animate 3D models?
My 3D engine and collision detection is essentially completed now but I'm still not sure what the best tools are for actually creating content and animations for XNA games.
I've been out of the loop for some time but I'm interested in continuing my game project. Right now I'm importing levels from Unreal Editor (I specifically need level objects in CSG format, because I use this to dynamically create portals).
Mobile Photosynth Panorama App
Apr 21, 2011 at 8:12 AMWell supposedly the reason why they didn't make a WP7 version first is because right now you simply cannot do this on WP7 due to the fact that apps can't get direct access to the camera.
Great, accept they should put those resources they used to develop the iOS app on helping to fix WP7 instead. It really undermines confidence in WP7's when MS does stuff like this, and apparently they think a simple technical explanation is going to make it OK. To me it makes it worse, because now they are just highlighting the fact that WP7 has technical limitations.
Seriously, someone at MS should take control of this situation and not let stuff like this happen anymore. Maybe someone can explain to me how this is a "plus" for MS on any level, because I just can't see it.
Autotune.NET
Feb 14, 2011 at 11:25 PMOK, I finally had some time to isolate my pitch tracker class and create a CodePlex project. I would be interested to find out whether you can use my pitch tracker in your project, and what the results are.
From my tests my algorithm has an error of less that 0.02% over the frequency range of 55Hz to 1.5kHz. Accuracy is unaffected by amplitude, frequency or complexity of the waveform.
Please let me know if you end up trying it out.
Autotune.NET
Feb 11, 2011 at 11:27 AM@Christian Louboutin Bottes:
Wow is that spam or some weird C9 bug? I can't tell.
Autotune.NET
Feb 09, 2011 at 11:04 PMOK I had some time to clean up my code. I am working on creating a CodePlex project in order to publish it. I also first want to create some sort of sample app in order to demonstrate the code in use (even though you need just three lines of code to instantiate and get your first pitch results back). Hopefully I will be done with it by this weekend.
Autotune.NET
Feb 03, 2011 at 8:29 AM@mary:
Unfortunately right now my code isn't quite fit for public release. I think there are some dependencies on parts of other code that I don't want to post and which isn't really pitch-related. For instance I have a DSP class that the pitch-correction algorithm uses, but most of that code is unrelated to it.
If I have some time available I will clean it up and post it. Most likely before the end of the weekend.
Autotune.NET
Jan 30, 2011 at 11:10 AMI have also implemented a pitch detection algorithm which is used to display a realtime pitch graph in a VST plugin (although VST uses an unmanaged API, my plugin is written in C# and uses reverse P/Invoke). This plugin is used as a visual guide to train a singer to sing in key (or for vocal exercises), and can also display a "grade" based on previously entered notes (or via a MIDI clip) that has to be hit throughout the song. My algorithm is loosely based on auto-correlation, but it is heavily modified to solve the following two problems with it:
Since you need to do a compare of all samples with all of the shifted samples, and repeat that once for every single frequency you want to detect, this quickly becomes slow.
The way I solved this is by first down-sampling to reduce the overall number of samples to work with (with a filter to prevent anti-alias noise - also conveniently removes frequencies I don't care about), and then to have 3 passes, one each with low, medium, and high resolution.
In the first pass, I only test a total of 5 samples that are spaced out within the two sample windows. You can quickly tell if there just isn't going to be correlation if the 5 samples are all different from the shifted window's equally spaced out samples. In the second pass, there are more samples and I use the detected frequency as a starting point for the final pass, and in the last step I use more samples.
As you have clearly seen in your results, the higher the frequency, the less accurate it becomes. This is because a higher frequency waveform has fewer total samples per cycle, and you are stepping in whole sample values, so the frequency steps become courser the higher it is.
To solve this, for the 3rd pass in my algorithm (at which point the search is centered around the frequency that was detected in the second pass), I use interpolation in order to compare samples that are not limited to whole numbers. So sample 0 will be at position 0.0, sample 1 will be at position 0.674, or whatever. This allows me to space the sample steps so that it is exactly at the frequency I want to detect during that pass, as opposed to being quantized into ever-more courser frequency steps. I use a 4-point, 3rd-order Hermite interpolator.
Each high resolution pass is 1.005 times the previous frequency, so I don't use linear frequency steps. Also, once I found the two passes with the highest correlation, I interpolate between those two, so the final detected frequency is even higher resolution than the 3'rd pass' step size.
This results in a very fast and accurate pitch detection algorithm. From my tests, the accuracy is within 0.1% of the input frequency, which IIRC, is about 50 times higher than what humans can distinguish.
New Xbox 360 Transformer controller
Nov 10, 2010 at 9:16 PMOh, I have another question...
Are the ABXY buttons exactly the same physical size as the old controller's? I ask because I don't like the new colors and I would have no problem swapping the buttons around from an older controller (it's not too difficult to open these controllers if you know how).
See more comments…