Discussion in "New Ideas regarding projects" started by    Ajay    Sep 7, 2007.
Tue Apr 01 2008, 08:20 pm
#11
15625Hz = 64usec not 32.
For 64us,TH0 =0xFF,TL0 = 0xC0.
Also put your main routine beyond 13H or the ISR space will be overwritten by your main.
Tue Apr 01 2008, 10:54 pm
#12
Hi Sashi,

thankx for the early reply !

1) this is how i calculated delay time : T= 1/15625 = 64u Sec , 64/2 (half of it) = 32uSec high portion and 32usec Low portion of the pulse. i may be wrong

2) iam using Timer0 in mode 2- Auto reload ,8bit timer mode ,so that the uC doesn't have to reload T values every time (saves time) :-)

3) about the ISR for Timer0 , there is only one Line instruction i,e JMP Addr at the Interrupt Vector space , so no question of Overwriting

4) i am using 99h as check for End of Character (EOC), this value may be present in the data table causing premature exit of the program. what other Value or character can i use to know the end of Data table


Good News, i have changed the interrupt delay from 32 uSec to 64uSec and i could hear 8051 talk for the first time

sound Quality is bit rough but speech is understandable! Cheers to ROMAN BLACK !dance

Arun
Tue Apr 01 2008, 11:02 pm
#13
This is what i have found after using his algo..

no need to use 1.5 bit algo, use 1 bit algo instead.

in my first post i used 1.5 bit algo and there is lot of beeping sound in the o/p. this sound can be significantly removed if we are using 1bit algo. simply replacing series of 1's with 0's.. i mean look for FF in data and replace it with 00.

Only thing we need to work on is.. sound quality..or any external thing we can do to improve the quality.
Wed Apr 02 2008, 12:02 am
#14
You could try adding a 2-pole active LP filter at the o/p.Would remove most of the HF artifacts.
Wed Apr 02 2008, 12:10 am
#15
hmm... i am bad at filter designing
Wed Apr 02 2008, 03:15 pm
#16
Hi Ajay, contact Mr. Viral @ 0 9825858509
:bye
 ajay_bhargav like this.
Wed Apr 02 2008, 03:21 pm
#17
I mean, contact him if you want those audio chips delivered to you, i mentioned earlier. :bye
Wed Apr 02 2008, 07:37 pm
#18
thanks chiru
Thu Apr 03 2008, 06:59 am
#19

HI,

to remove the Hi-freq, i have used 2 stage LPF with and inductor, for my particular Playback Rate i have used something like this:

--------4.7K--------- * ---------1.5k--------* ---------1.5uH(indcutor)------>To Amplifier
' '
' '
' '
= ( 220nf) = (100nf)
' '
' '
' '
Gnd Gnd

with this circuit iam able to remove most of the squeal, in the Amplifier i completely turndown the Tone control and Set Bass to mid way.


Hey guys , my problem of finding End of Character (EOC) at the end of table still remains unanswered ! what value can i use to Check the End of table so that i can Loop the Message
Thu Apr 03 2008, 03:27 pm
#20
Any value you use could possibly be a 'sound byte'.So to minimize errors you could use 2,3 or 4 signature bytes and check for all of them in sequence before terminating.
Or if you know he total no. of sound bytes you could use a counter set to that value, decrementing it with each byte played.

Get Social

Information

Powered by e107 Forum System

Downloads

Comments

Richardgar
Sat Apr 20 2024, 11:05 am
AntoniaRoons
Fri Apr 19 2024, 09:59 pm
carpinteyrowrl
Fri Apr 19 2024, 02:51 pm
DonaldJAX
Fri Apr 19 2024, 01:08 pm
Lewisuhakeply
Thu Apr 18 2024, 06:00 pm
Darrellciz
Thu Apr 18 2024, 11:07 am
Charlessber
Thu Apr 18 2024, 09:29 am
BartonSem
Thu Apr 18 2024, 04:56 am