Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Using Atmel 8051 for...........

Status
Not open for further replies.

Learner

Full Member level 2
Full Member level 2
Joined
Nov 1, 2004
Messages
133
Helped
4
Reputation
8
Reaction score
2
Trophy points
1,298
Location
Area 621.xxx
Activity points
1,402
hi guys,
I am looking to build a circuit that can pitch shift an audio signal, the circuit will consist of AD and DA on the uController bus and may be external ram as well.

I'll start the assembly code by enable read from the AD and move that to the register but this is where I am stuck, what can I do to manipulate the sampled data in the register to change the pitch?

I thought about using a VCO for manual tuning to varying the DA conveter clock rate but if I do that, I would definitely miss some data when the DA converter has been enabled from the uController.

Can anyone suggest any other methods? or is this too complex for a uController to do?

Thanks in advance!
 

If you sample the input with the ADC clocked at, say, 40 ksps you can quite
easily change the pitch of the output by feeding the samples to the DAC at a
lower or higher rate, e.g. 39 ksps to lower the pitch and 41 ksps to increase it.
(The numbers are just examples - you will need to work out the math to find
suitable rates.)

The actual sample rate to the DAC can be set using one of the timers in the 8051.
It would then be simple to change it by e.g. using buttons to step the pitch up
or down.

The only tricky part is to make sure that you don't over- or underflow the sample
buffer - you should find out the extremes of your pitching needs and select a
suitable RAM size based on that.

If you pitch the audio very low you might need to interpolate samples to avoid
running the DAC sample rate so low that it becomes audible.


Sounds like a fun little project and also a good one for learning to use the 8051! :)

/Rambo
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top