Researchers at the University of Missouri-Columbia are hoping computer programmers can help them with a solution to a decades-old "cocktail party" problem.
The researchers have found a mathematical solution that allows them to separate one sound from a recording of a noisy environment -- like a single voice from the din of conversation at a cocktail party. Mathematics professors Dan Casazza and Dan Edidin and Radu Balan, of Siemens Corporate Research, solved the problem and demonstrated that it is possible to isolate distinct voices and reconstruct spoken words.
"Our solution is called 'signal reconstruction without noisy phase,'" Edidin said. "In speech recognition technology, a 'signal' could be a recording of 25 people in a room talking at the same time. Our solution shows that we can pull out each voice individually, not just with the words, but with the voice characteristics of each individual. We showed that this 'cocktail party problem' is mathematically solvable."
The National Science Foundation and the National Security Agency funded part of the research, which could have crime fighting, homeland security and other intelligence applications.
In the past, researchers were able to separate voices but not reproduce the characteristics of the voice itself, according to a statement from the university. Casazza said existing programs that can separate and reconstruct voices are not completely reliable because they have difficulty separating voices with similar pitch characteristics. The researchers claim that a program using their solution would be more exact.
"Theoretically, our solution says you should be able to pick up voices on a squeaky old microphone and then separate them all out so that you can hear what each person is saying in his or her own voice," Casazza said. "This is a very old problem, and we have the first mathematical solution to it."
However, they were not able to create an algorithm that will produce consistent results.
"The computer we use is doing the work without an algorithmic program. It uses a system called a neural net, which is designed for the computer to teach itself. Basically, it works on trial and error," Casazza said. "This isn't consistent and cannot be duplicated easily. We need to find a way to design an implementable algorithm that could do this consistently and quickly."