Hello and thanks. I am not sure where to post.
I am an electrical and electronics engineer interested in sound.
I am trying to write or develop an audio program.
From a hardware perspective, I am wondering whether soundcards can be accessed by reading memory locations off the motherboard. Eg. Com ports.
For the soundcard on this pc, the interrupt is 17, and the Input/Output is from 1000 - 143F etc.
I am wondering does the sound data that is recorded by a microphone, into the sound card
get stored in a buffer on the soundcard? Or does it take the input directly from the soundcard and store it in the computer’s RAM. (DMA memory access)?
The next question is whether soundcard come with programming manuals.
I am also confused about the soundcard, whether or not soundcards have a clock on them that can be read programmatically.
Eg reading the soundcard input froma mic along with time infromation. Not just the mic input.
The second thing that is driving me nuts, is how mixing occurs. If the sound card only has one input.
does teh soundcard store one mic sample (eg guitar), write the guitar sound into buffer and read a second microphone input (eg vocals) into a buffer and then mix the two signals.
Or rather, you record the microphone input one at a time into a file, then mix the files.
Does teh soundcard do mixing on the soundcard board or between different files in RAM?
In theory as a programmar depending windows and whether it gives you access the memory,
you should be able to read the soundacards memeory location. At the same time read from
memory to the soundcard’s output.
Eg the soundcard has a DATA register, CONTROL registers and teh other one which I cant remember…
By programming the registers you should be able to write sound sequences to/from memory.
When it comes to mixing, I have consulted a few books for information on these subjects but none of the books say how to mix two signals (or sequences).
Is this done
by logically ORing two mic samples (mic seq 1) OR (mic seq 2)
or do you logically AND them (mic seq 1) AND (mic seq 2)
or XOR (exclusive OR) between the two sequences.
And do you use OR, AND, or XOR to accomplish panning or channel seperation?
I am trying to skip linux API such as ALSA and microsoft API’s.
I want raw access to the soundcard.
I have seen electronic mixing circuits but if the sound card only has one input, they are redundant.
I would think or believe you record a sequence, dump it into file, then read a second sequence dump it to
a file, then down-mix or mix togheter teh two files or sequences into a third file.
Thankyou kindly for your assistance.
Regards
Greg Evans