Click here to Skip to main content
15,891,607 members
Articles / Multimedia / DirectX

Sound Experiments in Managed DirectX

Rate me:
Please Sign up or sign in to vote.
4.85/5 (46 votes)
16 Feb 200726 min read 269.1K   4K   118  
Using static and streaming sound buffers in Managed DirectX.
using System;
using System.Diagnostics;

namespace StreamComputers.Riff
{
	// There are several useful formats for WAVE data -- here are two I use often
	public enum WaveFormatTag
	{
		None = 0,
		Pcm = 1,
		Float = 3
	}

	// Two channels of 16-bit linearly quantized data, as on standard audio CDs 
	public struct Pcm16Frame
	{
		public short Lch, Rch;

		public override string ToString()
		{
			return String.Format("Lch: {0, 6}  Rch: {1, 6}", Lch, Rch);
		}
	}

	public class RiffParserException : ApplicationException
	{
		public RiffParserException()
		{
		}
		
		public RiffParserException(string message): base(message)
		{
		}
		
		public RiffParserException(string message, Exception inner): base(message, inner)
		{
		}
	}

}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.


Written By
Software Developer (Senior)
United States United States
My life and career have been a bit unusual (mostly in good ways). So, I'm grateful every day for the opportunities God's given me to do different things and see different aspects of life.

Education: B.S. Physics '73 (atmospheric physics, sounding rockets), M.S. Computer Science '76 (radio astronomy, fuzzy controllers, music pattern recognition and visualization) New Mexico Tech; Ph.D. Engineering '83 (parallel computer architecture, digital signal processing, economics) U.C. Berkeley.

I'm married to Susan, a wonderful woman whom I met in a Computer Architecture class at U.C. Berkeley.

Professional activities: Digital systems engineer, digital audio pioneer, founder or key in several tech startups, consulting engineer, expert witness. I'm currently developing a multithreading framework in C# .NET, that makes it almost easy to write correct programs for multicore processors. I'm also implementing a new transform for recognizing, editing, and processing signals, especially sound.

I'm an occasional essayist, public speaker, and podcaster, and free-market space advocate. I enjoy good wine, good music, good friends, and cats.

If you think your project could use a different point of view, I'm available for consulting work in the San Francisco Bay area, or (preferrably) via the net.

Comments and Discussions