Hot answers tagged

24

A first note: Most modern text-to-speech systems, like the one from AT&T you have linked to, use concatenative speech synthesis. This technique uses a large database of recordings of one person's voice uttering a long collection of sentences - selected so that the largest number of phoneme combinations are present. Synthesizing a sentence can be done ...


17

I fear that all answers here are irrelevant to the question. What is called a vocoder in the music production world has little to do with the phase vocoder used in signal processing. To make matters worse the Songify app referenced by the original post is not an example of vocoder. Let us sort this out! 1. Phase vocoder The phase vocoder referenced by the ...


14

First, to say linear predictive coding (LPC) is "more tolerant of transmission or encoding errors" isn't entirely true. The form in which the coefficients is transmitted makes a big difference. For example, if the linear prediction coefficients are solved for, they can be very sensitive to quantization, much like high order IIR filter coefficients (this is ...


13

LPC voice coders (starting with the old LPC10 standard, which seems to be the one you refer to here) are based on the source-filter model of speech production. Speech can be characterized by the following properties: The raw sound emitted by the larynx (through vibration of the vocal folds, or just air flowing through it, the vocal folds being opened). The ...


13

This is a well-studied problem, dating back from the mid 90s (DARPA/NIST broadcast transcription challenges). Search for "speech/music segmentation" or "audio segmentation" and you'll find thousands of research papers. There are two broad approaches to solve this problem: Supervised classification Train a speech/music classifier, using a standard machine ...


12

The task of taking a long contiguous audio recording and splitting it up in chunks in which only one speaker is speaking - without any prior knowledge about the voice characteristics of each speaker - is called "Speaker diarization". You can find links to research code on the wikipedia page. If you have prior recordings of each voice, and would rather do ...


11

So essentially, @porten pointed out what chunks of sound are. Let's look at your code: CHUNK = 1024 # What is CHUNKS here ? The chunk is like a buffer, so therefore each buffer will contain 1024 samples, which you can then either keep or throw away. We use CHUNKS of data, instead of a continuous amount of audio because of processing power. (Let's assume ...


10

Background According to papers below, snoring is characterized by a peak at about 130Hz, and is wholly concentrated below 12kHz: Non-invasive Sensors based Human State in Nightlong Sleep Analysis for Home-Care An efficient fast method of snore detection for sleep disorder investigation An efficient method for snore/nonsnore classification of sleep sounds ...


10

This is only an approximation! While the sound of whistling has a very prominent first harmonic, the other harmonics are still present too; there's a non-harmonic noise component; and the first harmonic is more a narrow bump than a sharp line. A better description of the sound of whistling would be white noise filtered through a band-pass filter with a very ...


9

Just throwing this in here to cover all the possibilities, you might be able to use entropy, I don't known what the entropy level of snoring vs speech is but if it is different enough that may work. http://www.ee.columbia.edu/~dpwe/papers/ShenHL98-endpoint.pdf


8

The sound wave is a pressure wave in the air, a mechanical vibration. If you have two rooms separated by a wall or door, there is little or no air passage through which the sound can propagate. Instead, the wall itself have to absorb and re-emit the mechanical vibration on the other side. Since doors and walls are massive objects, they are resonating on ...


7

Yes, it's possible to analyse sound the way ears do. For example, you could compute the DFT of a signal continuously using several Goertzel filters. $$ y_k[n] = e^{j2\pi k/N} y_k[n-1] + x[n] $$ where $k= 0,1,\ldots, N-1$, so that $y_0$ is the DC or zero frequency term. Of course, this is an unstable filter, so some resetting or forgetting factor is ...


6

If the signal is recorded using just one microphone, you can use methods such as spectral subtraction. This method is more suitable for "constant" noise, like the noise from a fan or an idle engine. Other methods rely on statistics and perceptual models of speech. If the signal is recorded with several microphones, you can use blind source separation for ...


6

"Ok Google" is described in many publications by Google Automatic Gain Control and Multi-style Training for Robust Small-Footprint Keyword Spotting with Deep Neural Networks Convolutional Neural Networks for Small-Footprint Keyword Spotting It is based on DNN specifically trained for keyphrase and runs really fast. It does not consume a lot of power even ...


5

That's a basic property of room acoustics. In essence the wall is a mass (ignoring resonant structures for now). Transmission through walls works as follows: sound energy hits the wall -> wall starts to vibrate -> wall radiates sound into the adjacent room. The wall simply follows Newton's second law of motion: F = m*a, force = mass times acceleration. For a ...


5

First order, some DSP analysis might be able to detect central pitch, pitch variation (vibrato), timbre (overtone richness), and note onset, and say whether these are grossly out-of-tune, thin, or off-time, by how much and how often. However, second-order, good musicians play with subtile variations in pitch (equal vs. just intonation, barbershop quartet ...


5

Main difference is the frequency of the fundamental, which is about an octave higher for women with the split point around 160 Hz or so. A fundamental lower than 160 Hz is most likely a male and a fundamental higher is most likely a female. A good overview over a number of studies on the topic can be found at http://www2.ling.su.se/staff/hartmut/f0_m%26f.pdf


5

Depending on the actual recordings, the algorithm complexity could range from dead easy to really complex... I'll take the studio recording case first, so I can assume : - (Almost) no noise coming from outside (cars, trucks, bus...) - Nobody slamming the door in the middle of the recording - Voice samples are recorded at optimal level independently of who ...


4

When you whistle, your mouth acts as a Helmholtz resonator: the movement of the air past your lips is causing pressure disturbances that cause the mass of the air inside your mouth to oscillate on its own compliance (like a spring-bob oscillator). The frequency produced is determined by the volume of air and its density, as well as its bulk modulus (mass and ...


4

What is intended to do with the loop for is to record a determined number of seconds. This number is specified by RECORD_SECONDS. In order to do it, it is necessary know how many samples we have to take. In your example RECORD_SECONDS = 5 , so we want to record 5 seconds. Also, the variable RATE says how many samples are taken per second. Its unit is Hz = ...


4

I am afraid there's not much you can do. The voice part seems to have gone through the equivalent of a low pass filter with a cut off of around 1000 Hz. Basically, all of the speech components above 1000Hz are gone. The filtering action may not have been an intentional filter, but may have been due to the improper biasing of the tape during recording. If ...


3

I don't think filtering is the way to go. The spectra of the different signals (the desired voice, the screamy children and the cars) are probably overlapping, so there is no real way to get rid of all that noise without spoiling your signal. Actually, the approach would depend in how loud the noise is in comparison to the signal. If the speaker is near the ...


3

Time domain statistics perhaps? Snoring seem to have relatively long periods of steady state whereas speech energy changes quite a bit over short time periods. This could be combined with spectral analysis as well. Vowels have more low frequency content and consonants more high frequencies. During speech the spectrum may quickly bounce back and forth between ...


3

This is a difficult question to answer in a scientifically rigorous fashion given that music (an art form) is generally a subjective issue and people will differ greatly on opinion. The problem is that, quantitatively, a singer could be "perfect" in pitch but have an objectionable tonal quality (timbre in musical terms). This can be due to accent, ...


3

I just came across one article related to the compand command that might be useful (just in case someone looking for help sees this article). From the article: To test this, and my understanding of compand, I added a very simple filter to remove the quiet section of the audio by decreasing their volume dramatically: ffmpeg -i in.mp3 -filter_complex \ ...


3

The noise sounds very stationary, so I guess spectral subtraction should work well. Note however that most implementations usually have quite a few parameters to tweak, and spectral subtraction can sound either very good or completely useless depending on whether the parameters are chosen well for the given problem. If you search for Matlab implementations ...


2

I think it is possible to make a DSP application (Android, iPhone, or whatever) that records a singing voice and rate the performance of the singer (maybe even provide feedback to the singer). One of the things that the DSP program could do is to examine if the notes in the recording are at the correct frequencies or if they are off. If the program knows ...


2

The following article describes a short-time Fourier transform (STFT) based phase vocoder, as well as a pitch synchronous overlap-add (PSOLA) technique to tackle time and pitch modifications of audio signals: Moulines, E. & Laroche, J. "Non-parametric techniques for pitch-scale and time-scale modification of speech", Speech Communication, 1995. (some ...


2

Dan Ellis has some very good Matlab example on this page: http://www.ee.columbia.edu/~dpwe/resources/matlab/pvoc/


2

Here's one link to pseudo-code at Mathworks. Here's a link a description of the algoritm at DSP Dimensions. An FFT bin has a center frequency. Any sinusoid at that exact bin frequency will have the same phase with reference to 2 reference points offset exactly 1 FFT frame apart, or have a delta phase that can be calculated for 2 reference points or 2 FFT ...


Only top voted, non community-wiki answers of a minimum length are eligible