Yes, I don't really know what I want out of this . I've done lots of programming, and written a software renderer from scratch to learn about graphics. The last two books I purchased about 3D engine programming didn't cover sound. It seemed strange, because I figured that the sound stuff would be important. The more I learn about this, however, the more it seems like the sound and graphics are very different areas.
DirectSound is essentially a driver that bridges the gap between third party libraries (such as OpenGL, FMOD, etc) and hardware. DSound does emulate some effects and provides access to hardware acceleration if possible, but at ground level it's precisely that and nothing more: a driver.
Now, I'm not too familiar with OpenAL overall, but it's likely just a library like FMOD, which builds on top of native drivers depending on what operating system you're compiling on and what is available. OpenAL and FMOD (and other libraries) also provide additional functionality, like time-to-frequency domain conversion (essentially raw FFT and IFFT calls), effects (reverb, delay, etc) and format support (easy loading of audio file formats).
In short, you're probably not thinking of writing a driver, in which case "writing DirectSound from scratch" doesn't really make much sense. You are probably thinking of implementing various library functionalities, such as effects and the like (just to be clear: if you do - for whatever reason - want to write a driver, then I can't help you).
So yes, I shouldn't say I was to write Direct Sound. I think I mean I would like to be able to do things in software like mixing, reverb, pan, High and low pass filters, and that kind of thing. I don't really know what I need to learn, because if I already knew that, I wouldn't need to ask.
I will check out the book. It looks like a good place to start.