Chuck Needham

Chuck Needham
MICROSOFT RESEARCH SUPPORT ENGINEER
.

Projects

Kinect for Windows SDK beta

Coming later this spring, the Kinect for Windows SDK is a programming toolkit that will enable researchers and enthusiasts easy access to the capabilities offered by the Microsoft Kinect device connected to computers running Microsoft Windows 7.

 

 

Microsoft Tag

 Microsoft Tag connects real life with the digital world. Microsoft Tags are small, colorful codes that can be printed, stuck, or displayed just about anywhere. When you snap a Tag with the camera on your internet-enabled phone, additional information or experiences are automatically opened on your phone. There is no fumbling with URLs or texting short codes. Microsoft Tags can make product packages, posters, print-based ads, magazine articles, exhibit signage, billboards, storefronts, business card, or just about anything else, interactive.

Songsmith

Songsmith

Songsmith generates musical accompaniment to match a singer’s voice. Just choose a musical style, sing into your PC’s microphone, and Songsmith will create backing music for you. Then share your songs with your friends and family, post your songs online, or create your own music videos.

 

WorldWide Telescope

WorldWide Telescope

The WorldWide Telescope (WWT) is a rich visualization environment that functions as a virtual telescope, bringing together imagery from the best ground- and space-based telescopes in the world to enable seamless, guided explorations of the universe. 

 

 

 

People
Angel, Tambie
Angel, Tambie

Carbary, Tony
Carbary, Tony

Chandrasekaran, Nirupama
Chandrasekaran, Nirupama

Choudhury, Piali
Choudhury, Piali

Edelman Pelton, Alicia
Edelman Pelton, Alicia

Eversole, Adam
Eversole, Adam

Hart, Ted
Hart, Ted

Hughes, Richard
Hughes, Richard

Johnston, David
Johnston, David

Marriott, Ian
Marriott, Ian

Moeur, Robin
Moeur, Robin

Olynyk, Kirk
Olynyk, Kirk

Paradiso, Ann
Paradiso, Ann

Personal Web Site

Contact Info

Research News
Downloads
  • The R2 Probabilistic Programming Tool
    The R2 Probabilistic Programming Tool is a research project within the Programming Languages and Tools group at Microsoft Research on probabilistic programming. Our goal is to build a user friendly and scalable probabilistic programming system by employing powerful techniques from language design, program analysis and verification.
  • Analog Keyboard for Android Wear
    Prototype of a custom keyboard for the Android Wear platform that lets users enter text by drawing handwritten letters on the watch face. Note: the current version (0.1) only supports square screens with 320x320 screen resolution and the Motorola Moto 360. Installation instructions are included in the zip file under HowToInstall.txt. Please visit our project page for more information - http://research.microsoft.com/en-us/um/redmond/projects/analogkeyboard/index.htm.
  • Pitch Change Toolbox
    This Matlab toolbox implements the pitch-change algorithm described by Slaney, Shriberg and Huang in their Interspeech 2013 paper “Pitch-gesture modeling using subband autocorrelation change detection.” Calculating speaker pitch (or f0) is typically the first computational step in modeling tone and intonation for spoken language understanding. Usually pitch is treated as a fixed, single-valued quantity. The inherent ambiguity of judging the octave of pitch, as well as spurious values, leads to errors in modeling pitch gestures that propagate in a computational pipeline. This toolbox implements an alternative that instead measures changes in the harmonic structure using a subband autocorrelation change detector (SACD). This approach builds upon new machine-learning ideas for how to integrate autocorrelation information across subbands. Importantly however, for modeling gestures, we preserve multiple hypotheses and integrate information from all harmonics over time.
  • U-Prove JavaScript SDK
    The U-Prove JavaScript SDK implements the client-side of the U-Prove Cryptographic Specification [1], and is a companion to the U-Prove C# SDK [2]. It can be used to write web clients interacting with U-Prove services. For more information about the U-Prove technology, please visit http://www.microsoft.com/uprove. [1] http://research.microsoft.com/apps/pubs/default.aspx?id=166969 [2] https://uprovecsharp.codeplex.com/
  • Spectrogram Inversion Toolbox
    The Spectrogram Inversion Toolbox allows one to create spectrograms from audio, and, more importantly, estimate the audio that generates any given spectrogram. This is useful because often one wants to think about, and modify sounds in the spectrogram domain. This toolbox is provided as Matlab source code. It does not depend on any Mathworks toolboxes. There are two big problems with spectrogram inversion: most importantly, one (generally) drops the phase when computing a spectrogram, and two not every (spectrogram) image corresponds to a valid waveform. This code finds the waveform that has a magnitude spectrogram most like the input spectrogram. The easy solution is to just do the inversion assuming some phase (like 0). Back in the time domain you get an answer, but there is a lot of destructive interference because the segments of adjacent frames do not have consistent phase. Some people advocate starting with a random phase. A better solution to this problem is to use an iterative algorithm proposed by Griffin and Lim many decades ago. It does converge, but slowly. An even better solution is to do the inversion, explicitly looking for a good set of phases. This toolbox does that, after the inverse Fourier transform of each slice, by finding the best time delay so the new frame and the summed frames to now are consistent. This is equivalent to starting with some arbitrary linear phase. The effect of this is to reduce the reconstruction error by an order of magnitude.