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.

APR9600 voice recorder problem

Status
Not open for further replies.
Hi,
I got the output of APR stage, and I missed to connect the VCCA pin to Vcc. I troubleshooted the error in the morning, and now everything working so well. Any way thanks for the help and support :)
 

Hello,
One more issue in the APR recording, I am not able to clearly hear the sound, I can only hear some noise signals through the speaker. I have tried these things,
1. Has taken output directly from SP+ and SP- pins, then using audio transformer I have done impedance matching and then connected to speaker, not worked :p
(LT 700- i/p impedance 1.2K and output impedance is 3.2ohm, speaker - 8ohm)
2.The Line out pin from PC is gone through a voltage divider network of 10K and 2K respectively, and the output across 2K is connected to Mic In and Mic ref is left open. (From datasheet, Mic i/p voltage 30Vpp and Ana IN voltage 140Vpp , and this ratio [approx:5] is taken for deciding the value of resistances ), and checked the output across speaker, ie across impedance matched one and in the output according to CK Shivarams circuit, not worked

I have checked the .wav files that i am using and found frequency components in the order of 8K--10K range, Can I use a LPF to make it in my bandwidth range, maximum possible in APR is 4KHz. ie LPF before the ANA In stage so that the there will not be any higher frequency components. or Is there any another solution?

With Regards,
Akhil
 

you dont need to connect voltage divider at computer's output.(line in configuration as in data sheet)
you can connect it directly through 1k ohm resistor.

and remove all component network connected to mic in and mic ref pin.

when you want to record, you just play that audio in computer.
 

I have already tried that thing, but the sound am hearing is not clear, When I checked the frequency spectrum I noticed Signal contents in the range of 8-10 KHz. But the maximum sampling frequency of the IC is 8KHz so the signals should be of frequencies less than 4kHz range. Then I have gone through the block diagram again and noticed a connection between ANA out and AGC and also i assumed that the anti aliasing filter that they have tried can be of same one (Please check the datasheet). And I have tried some modifications and nothing gives me a clear sound :p
 

You dont get clear sound unless you have a very clear recording background, like no fan , fridge, traffic, etc... But the limitation of the APR circuit is , you cannot get clear voice output or audio output... there is no usel of any filter or amplifier,,, they dont work for this....

you have to be content with what you can filter or get the output... just try to minimise the background noise....
 
for clear sound , use ap89341 . it is otp ic.
You dont get clear sound unless you have a very clear recording background, like no fan , fridge, traffic, etc... But the limitation of the APR circuit is , you cannot get clear voice output or audio output... there is no usel of any filter or amplifier,,, they dont work for this....

you have to be content with what you can filter or get the output... just try to minimise the background noise....
 

sir,
AP89341-
its programmable ic. it can only be programmed. we can't record data through mic or line in input.
its like micro controller with ROM.
we can feed audio data file to this chip through programmer.
for clear sound , use ap89341 . it is otp ic.
 

Thanks for the information, anyway i want to try the possible ways with APR, becoz its really getting late, I think there will be some way it can be done in APR and searching for that :)
 

@CK Shivram, sir I am recording the audio file from PC using Line out from PC to ANA In, here how is it possible to happen surrounding noises like fan, means a file from PC is directly writing to the memory with out taking in to the consideration of back ground things. So this should work, the only ,limitation is the frequency contents of the file should be within your band limits, am I right?
 

it purely depends on the noise ( electrical noise ) and also depends on the MIC used for recording. Further useage of filters and input and output improve the performance. but APR does not give clear output...
please give me some time, i will come with an update.
 

Sorry am not able to understand the last post regarding noise, from the PC a recorded file is writing to the memory of APR, and how noises influences?

I don't know how can I thank for these guidance and support, Anyway Thanks a lot :)
 
Last edited:

i am a beginner in programming microcontrollers...my part of final year project is similar to the above mentioned project...
our project is blind aided traffic control system....we want to play the recorded voice to let the blind people when to cross and when not to cross the road by using APR9600 ...if it is possible can u send me the code in C in my email id edioicony@hotmail.com
hoping for a positive response...
thank you
 

@jerkymotion, The audio playback output from APR9600 is not that much clear and am still debugging that thing. Is it necessary like you guys need an voice feedback, I suggest you to use sounds like beep, and its interval will vary depending on the presence of obstacle. You can use ultrasonic transceiver (Tx and Rx) of 40kHZ for sensing the obstacle and depending on the presence of obstacle you can increase the frequency of beep sound so that the blind understands that there is an obstacle in front of him. The beep sound can be produced in an easier manner by using any uc, i suggest to use 89S51 0r 52 if you are a beginner, because its programming and commands are much like normal C coding.

Also develop the device such that it will also give information about the pits and similar kinds of stuff on the path. For this you can attach the sensor module with a conventional walking stick and observe the difference.

The remaining stuff like which sensor, its range and the program for obstacle detection is to be done by yourself as this is your main project and it will be a good experience for you and the team to learn new things rather than copying from somewhere :)

Be the change that you want to see in others :)
Akhil
 
Last edited:

try this akhil

try to vary your volume level of computer . and then try to recording.
if you set your computer's volume level high. and record audio file. you will not get the clear sound of apr9600.
set your computer's volume to near 10% and try recording.
if not work than set volume to 5% and than try..
and let me know this works or not..
cause i get somefine sound from apr..
i am sure you will get what you want.
 

Hello,

I got some what ok audio output from APR, not that much great :)
The things I have done,
1. I fed different sinusoidal frequencies from function generator like 0.5kHz,1kHz, 2kHz etc to find the cut off frequency and in my config it is around 3.5kHz. Then while playback I observed the signal in DSO. I tuned the circuit such that both waveforms looks almost similar (Change the pot in CK Shivrams ckt). When it is done I checked the quality of audio and it is a pure tone sinusoidal signal am getting, but the loudness is low (even though it is at the maximum gain point 200)
2. I have made the .wav files in such a manner that it does not contain much information above the cut off frequencies (can be done in Media Player Graphic Visualiser) and then on play back I can hear somewhat ok type ouput. But this is also working in some files only, but the noise level greatly reduced

@almighty tech I have done what you have told and does not observe that much difference, but there is a slight quality difference by your method

Any way this is something I can show to anyone, and they can make out what it comes from the audio line. If any one has some other idea please fell free to post here.

Thanks for the support and guidance esp CK shivram and almighty tech
Akhil
 

Hello guys,

One more issue in APR case, I recorded audio files and playback and everything works well. Now I want to control the APR using PIC. The problem that am facing is,
1. It is possible to access each memory location to play back, but suppose depending on a hihh or low on one pin I want to switch the audio files, ie I want to stop the current file that is playing and play the another file that I have recorded. This is not happening in my case

But the interesting part each section works individually like a high on say pin1, an audio file is play back. Switch off the supply and make a low on pin1, the recorded another file is also playing, now you try to do by programming like an 'if else' statement.
If high
do this
else
do another,
It is not working
I am attaching the code also, am doing in CCS C, Help me to find out the error

#include <16F877A.h> //device definition header file
#fuses XT,NOWDT,NOPROTECT,NOLVP,BROWNOUT,PUT // device configuration bit
#use delay(clock=4000000)// 4MHz

void main()
{

SET_TRIS_A(0x00); //Sets Port A as o/p port
output_a(0x00); // Initilize all pins with zero
SET_TRIS_B(0x00);
output_b(0x00);
SET_TRIS_C(0x60);
output_c(0x00);
SET_TRIS_D(0x00);
output_d(0x00);
SET_TRIS_E(0x00);
//output_e(0xFF);

// PWM generation

output_low(PIN_C2); // Set CCP1 output low
output_low(PIN_C1); // Set CCP2 output low

setup_ccp1(CCP_PWM); // Configure CCP1 as a PWM
setup_ccp2(CCP_PWM); // Configure CCP2 as a PWM

setup_timer_2(T2_DIV_BY_16,249, 1); // 250 Hz

set_pwm1_duty(25); // 10% duty cycle on pin C2
set_pwm2_duty(25); // 10% duty cycle on PIn C1
//while(1); //PWM end

while (1)
{
if (!input(pin_C5))
{
output_e(0xFF); // High on PortE
output_bit(pin_E1,0); // High to low transition to play sound
output_a(0x00); // LED OFF
output_b(0x00);
}
else
{
output_e(0xFF);
output_bit(pin_E0,0);
output_a(0xFF);
output_b(0xFF);
delay_ms(1000);
output_a(0x00);
output_b(0x00);
}
}

}

Thanks,
Akhil
 

See my sample code or 8051.. may help you with logic

Code:
#define station1_address 0x00
#define station2_address 0x10
#define station3_address 0x20
#define station4_address 0x30

#define ON 1
#define OFF 0

sbit RE=0x87;		//recordenable
sbit M7=0x86;
sbit M1=0x85;
sbit M2=0x84;
sbit M3=0x83;
sbit M4=0x82;
sbit M5=0x81;
sbit M6=0x80;

void playback(unsigned char message)
{
	if(message=='1')
	{		
		M1=ON;
		RE=ON;
		M1=OFF;
		sec_delay(3);
		M1=ON;
	}
	else if(message=='2')
	{  		
		M2=ON;
		RE=ON;
		M2=OFF;
		sec_delay(3);
		M2=ON;
	}
	else if(message=='3')
	{	 	
		M3=ON;
		RE=ON;
		M3=OFF;
		sec_delay(3);
		M3=ON;
	}
	else if(message=='4')
	{		
		M4=ON;
		RE=ON;
		M4=OFF;
		sec_delay(3);
		M4=ON;
	}
	else if(message=='5')
	{ 		
		M5=ON;
		RE=ON;
		M5=OFF;
		sec_delay(3);
		M5=ON;
	}
	else if(message=='6')
	{ 		
		M6=ON;
		RE=ON;
		M6=OFF;
		sec_delay(3);
		M6=ON;
	}
	else if(message=='7')
	{ 		
		M7=ON;
		RE=ON;
		M7=OFF;
		sec_delay(3);
		M7=ON;
	}
}
 

@CK why did you assign RE and message pins to specified values (how did you select that?), also why a 3 second delay ?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top