Input from Audio Port

How is it possible to input audio information (from a microphone or something) and use it in a pascal program.  I would also like to be able to alter this information (i.e., echo, distortion, volume adjustment, etc.).  How do I do any of this?
Krueger092397Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

kellyjjCommented:
I believe you can do it the same way you would want to read the mouse/com port etc....    Access the part of memory/ the interrupt  that would be connected to your port.  You should also be able to write to that memory.  In pascal you the "mem[seg:off]"  that can be used to write directly to mem.

I know this isn't the best answer, but I hope it helps
0
Krueger092397Author Commented:
But how do I write to procedures that access the mouse, com, and audio ports?  What are the commands that I have to type?  Additionally, how can I play the sounds on a Pascal program once I have made contact with a port?
0
potsyCommented:
if it is of any help I have the source to pogram the soundblaster pro card.
0
Become a Certified Penetration Testing Engineer

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

kellyjjCommented:
krueger,  How well do you know pascal?  If you don't know it real well, then you might want to  reject this answer and get potsy's source.
0
Krueger092397Author Commented:
I don't know Pascal all that well.  I just started programming late this August, so my programs consists mainly of text and some mathematical calculations.  I'd like to do more (such as something involving input from other ports) but I have no idea how to do this.
0
Krueger092397Author Commented:
Potsy, how can I get the source code from you?  Are you going to upload it onto this message board or do you want me e-mail address to upload it personally?  

0
potsyCommented:
well the source I have I got off the net and haven't had the time to test it yet so I'll give you the url and if it has what you need I'll submit this as an answer.

http://www.lakenet.com/~potter/audio.pas
0
Krueger092397Author Commented:
I can't really use the code until I know how I can related it to input coming from other ports.  It should help once I know how to access the ports, though.  Until then...
0
potsyCommented:
so what would you like to do?
0
mesCommented:
Hi Krueger,

Try this piece of code:

procedure testAudio;
const soundblasterAddress = $220;
      phone               = 0;

begin
  repeat
    writeLn(port[soundblasterAddress+phone]:3);
  until keyPressed;
end;

I don't know what value you have to use for phone, but you can try all values from 0 to 15 there. When you talk into your phone and the values on the screen changes, you have the right value.

If you would save all that data to a file at a regular time interval, you can add echo, etc. to it.

Greetings from the Netherlands,
MES.

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Pascal

From novice to tech pro — start learning today.