Home | About | Forums | Download | Project Page


Bug Database

SourceForge.net Logo

About Liar Liar

Latest Version: 0.5.2


People have alway sought out ways to detect lies. In the middle of the 20th century the mechnanical lie-detector was born. It was designed to measure various physiological changes in the body as one spoke. The theory being that certain changes take place when one is burdened with the stress of a lie. Voice stress analysis tools work on this same principle. The most common being "micro-tremors". In theory, voice-stress analysis works by measuring slight inaudible fluctuations in the human voice known as "micro-tremors." Voice-stress analysis systems, which generally include a microphone, tape recorder and related computer analysis equipment, are designed to recognize micro-tremor patterns that indicate when a speaker delivers words under stress, and specifically when those moments of stress are generated by an attempt to lie or deceive. In short, a microtremor is a slight non-audible deviation in a persons voice that occurs when they are under stress. This stress can be from various sources, one of them could possibly be the stress due to lying. Using frequency analysis techniques, we are able to detect and quantify these microtremors in a persons voice and graphically display the result.

How do we know that the responses are lies? They could all be true. Normally, it is hard to spot a lie, because they are exactly that, deceptions. Being that they are deceptions, we cannot infer the truthfulness from the lie itself. We have to rely on auxillary information to gauge a lie. Unless a person is a patent liar or a professional liar who can say, in so many words, ?I did not do my intern?, to the American public, then we must look for various cues that are generally manifest when a person tells a lie. How do we know about these verbal and non-verbal cues? Ironically, we are all guilty, to some extent, of telling lies, and the best teacher is that of self-taught experience. We look to ourselves for hints as to when others are lying their pants off. When a person tells a lie, unless he being a politician suffers no remorse or backlash, he will likely realize the penalties for getting caught. Knowing these penalties could cause him to feel anxiety or stress. This stress can manifest itself in many ways. An untrained liar can easily be spotted by nervous mannerisms such as visible shaking and a broken voice, shaken with anxiety. When the culprit is more learned, he can conceal these obvious signs, but a likewise learned observer can still spot his lie. As long as the liar is aware of his deception and is aware of the consequences of getting caught, there will be some physical indication that will betray the liar. Perhaps we judge lies by certain degrees of severity. The two responses given above, if they in fact are lies, are mild infringements, more obnoxious than viscious, if even. So the person who spoke them probably did not have the slightest compulsion to feel guilty. ?What is the harm in that?? they wonder. Indeed, what is the harm in that? So perhaps little white lies that cause little damage may go undetected as they slip under our radar, but what about the big lies? Big lies are likely to cause the speaker to feel uncomfortable when they tell the lies. His own body betrays the liar as his feeling of uneasiness is exposed physically. Only the liar knows what goes inside his head, but should the contents of his mind pour out to his body through conscious and unconscious reactions, then we, the receiver of the lie, can spot it. As far as we know, lie detection has been a subjective process. When we talk of lie detection, we mean the process of determining if someone has just told us a fib based only on our perception of auxillary information such as a twitching eye or an evil smirk. This does not include information gained from the content of the lie itself. For example, "I like brocolli" is obviously false because no one likes brocolli, and there is no need to try any lie detection techniques. So when we talk of lie detection, we exclude any detective work such as logic and cross checking of information. This leaves us with a process that is subjective and mostly inconsistent. This is a problem. Would it not be wonderful to feed audio into a computer and have it decide if the person is lying, even without understanding what is being said? Perhaps that is just wishful thinking, but we can build something close to that. It has been found that when a person is stressed, certain characteristics of his voice are transformed. This is due to events such as increased blood flow or involuntary muscle contractions. If a person, who is afraid of being caught, tells a stressful lie, then a device that detects stress can detect the lie. That is the premise for our project. We aim to build a software lie detector that analyzes the stress in a person's voice for signs of possible deception. The astute reader might object at this point. He will argue that liars can be stressed out, but not all stressed out people are liars. Indeed. Therefore we must advise the reader to use such a lie detection device with that in mind. The results given by the lie detector must be taken in context. If you ask someone out on a date, and she says yes with a huge amount of stress, you might want to check and see if she is blushing before you brand her a liar! So what do we have here? We have built a piece of lie detection software that scans audio for traces of stress as an indication of deception. The software works with audio files or live input from the microphone. It has a plugin system that allows it to use different methods for lie detection, including ones that are not based on stress analysis. We call it Liar Liar.


Audio decoding and playback:

The audio decoding and playback is handled mostly by Gstreamer. Gstreamer is an audio API that can handle arbitrary audio and video formats. The streaming pipeline architecture allows for ease of coding and hides the format details from the applications programmer. Liar Liar can also process live data from a microphone. The following Linux sound systems are supported: OSS, ESD, and ARTS.

Plugin Architecture:

Liar Liar has an easy-to-use plugin architecture that allows it to be extensible through plugins. The architecture will be described in more detail in the plugin writing guide.

Simple Plugin/Voice Stress Analysis:

The application comes with a plugin called Simple Plugin. This plugin performs a simple voice stress analysis on the audio stream. According to theory, the human voice produces microtremors that fall in the 8 HZ to 9 HZ range. When the speaker is stressed, physical changes such as increased bloodflow cause the audio in this range to shift to the 11 HZ to 12 HZ range. The Simple Plugin performs a Fast Fourier Transform on a fragment of the audio and determines if the power in the stressful frequency range is more powerful than that of the normal range. It then outputs a message indicating if it thinks a lie was said, and it also displays a percentage bar that indicates the level of confidence in the result.