- Joined
- May 27, 2008
- Messages
- 3,628 (0.62/day)
System Name | Ultra 64 |
---|---|
Processor | NEC VR4300 (MIPS R4300i) |
Motherboard | proprietary design |
Cooling | Fanless aircooled |
Memory | 4.5MB 250 MHz RDRAM |
Video Card(s) | 62.5 MHz Reality Coprocessor |
Storage | 32 - 512 Mbit ROM Cartridge |
Display(s) | 720x576 |
Case | Clear Blue Funtastic |
Audio Device(s) | 16-bit CD quality |
Power Supply | proprietary design |
Mouse | N64 mouse for use with N64DD |
Keyboard | N64 keyboard for use with N64DD |
Hi all
Im attempting to perform a very basic pitch shift by writing audio samples into a circular buffer then reading them at a faster or slower speed to effectively raise or lower the pitch, i understand all of the sound quality issues with this method. I have my circular buffer set up and im already using them playing with creating echo effects using the following commands
with x being my incomeing sample, y being my sample to output and z being a delay value, and echo is the name of the specific buffer im storing values to.
With these commands ive been able to setup quite a nice reverb/echo with multiple voices and reverberations or reflections with different decay times but i just cannot get my head around how i could output from my circular buffer at a faster or slower speed them im writing to it?
Im attempting to perform a very basic pitch shift by writing audio samples into a circular buffer then reading them at a faster or slower speed to effectively raise or lower the pitch, i understand all of the sound quality issues with this method. I have my circular buffer set up and im already using them playing with creating echo effects using the following commands
Code:
CIRC_WRITE(echo,0,x,dm);
CIRC_READ(echo,0,y,dm;
CIRC_MODIFY(echo,z);
with x being my incomeing sample, y being my sample to output and z being a delay value, and echo is the name of the specific buffer im storing values to.
With these commands ive been able to setup quite a nice reverb/echo with multiple voices and reverberations or reflections with different decay times but i just cannot get my head around how i could output from my circular buffer at a faster or slower speed them im writing to it?