People who code: we want your input. Take the Survey

Hot answers tagged

11

Let's get some basics out of the way first. An audio format is basically defined by three different things: sample rate, bit depth and compression type. The compression type can be either lossless (WAV, PCM, FLAC, ALAC) or "lossy" (AAC, MP3, OGG, MQA, etc). Lossy compression works by shaping the quantization noise so it's masked by the remaining ...


9

Actually, it's kind of the other way around. If you reuse the same JPEG encoder at the same quality level (without any smoothing steps as built-in prepcosessing) and a decoder which faithfully decompresses the images, I expect the image quality not to degrade from generation to generation. This is because quantization (the lossy part) is done the same way ...


8

I don't think that repeated jpg compression reduces to a single flat color. I tried compressing-decompressing an image 3 times. (Using GIMP 2.8.2, at quality level "10%" with progressive, exif, thumbnail and xmp all turned off, 4:2:2 vertical subsampling and integer DCT.) All three images are identical (Linux cmp turns up no differences at all between the ...


8

@Hilmar's answer has this pretty much sewn up. The only addition I will make is a visualisation of what an up-sampled spectrum would look like. Here is a bassoon that was recorded at 96kHz. The recording was reasonably dirty so you can see a fair amount of frequency content above 22kHz (~44.1kHz Nyquist). Bassoon at 96kHz The 96 kHz file was then ...


6

This is has nothing to do with the noise removal process but with your encoding. In order to do any type of processing with an encoded audio file you need to Decode the input file to PCM Process PCM data Encode the PCM into the desired output format Please note that steps and 1 and 3 are completely independent. The decode is determined by the input file ...


4

A file that where the signal path has been kept 96kHz from microphone to loudspeaker has the potential for signal components up to 48kHz. Most physical sound sources, rooms and microphones will roll off towards those frequencies, but slowly and gently. If the spectrum of a 96kHz file has signs of brick-wall filtering at 22 or 24kHz, this could be a sign that ...


3

MP3 is a lossy compression which exploits -psychoacoustic masking. Basically, the human ear has a perception limitations in identifying sounds due to active processing as well as due to non-linear frequency response. Also note, that sound pressure level - the scale that corresponds to perceived loudness is actually logarithmic not linear. OK - so this ...


3

How we should go about from converting Google Text to Speech's m3 file to Justin Bieber's voice? Ask Mr. Bieber to repeat what your MP3 says. I think letting one speech synthesizer first speak something and then hoping to convert it is a bad approach (as you can see if you consider how complicated that would be – first, you need to recognize in some low-...


3

MP3 is a lossy compression format, so encoding an uncompressed lossless WAV file to MP3 will lose some quality in the encoding process. Decoding a MP3 file back to WAV file has at most the same quality as the MP3 file has, it is just as good or bad as the contents in the MP3 file was, it is not in any way different to decode it for saving into a file or ...


3

MP3 doesn't really go as high as 44.1 kHz anyway. The first step in compression filters out audio above 18 kHz, so a 36 kHz sample rate would have been sufficient. But that's not really the problem anyway. FM is analog and therefore doesn't even have a sample rate. A sample rate is the rate at which digital samples are taken. FM does have bandwitdh, as you ...


2

The usual approach to achieve your goal would indeed consist in decoding the MP3 file to a series of uncompressed time-domain samples and then filtering this PCM signal. As you are building a player, and as Jason R mentioned in his comment, you will have to decode the MP3 file for being able to play it back via the soundcard anyway. My answer to your three ...


2

A compression standard is a quite delicate thing, that took years to develop and tune. I suggest Analysis of the MPEG-1 Layer III (MP3) Algorithm Using MATLAB, 2012 by Jayaraman J. Thiagarajan and Andreas Spanias. After a general overview, it leads you step by step though the different blocks of the whole scheme, providing some Matlab code for each of them.


2

I have tested your code. There are problems with the decimation and upsample stages. When you run the analysis and synthesis filters at the undecimated rate, then you get the perfect reconstruction (plus a filter shift) First of all in case of applications which are sensitive to group delay, you should better use the conv / filter function and then ...


2

A program to convert an .mp3 audio file-format into , say, an .ra (real audio) audio file-format needs fully to decode the mp3 file into raw waveform audio and then re-encode it into its new format. This raw audio waveform data can be contained within 32/64-bit floating point or some integer formats though. But when it's sent to audio DAC, it should be in ...


1

You could try using spectrograms to do some forensics. I don’t think there’s a generalized solution, or any way to say for certain which formats can be detected as having been up sampled. Refer to the following for nifty photos: https://sound.stackexchange.com/questions/37730/which-spectrogram-shows-higher-quality-of-the-song MP3 works using a lossless ...


1

Depends on the details, but typically not. For the sake of discussion, we assume CD quality for lossless, i.e. 16 bit, 44.1 kHz. Reducing volume may or may not reduce information. It depends on what number format it's done in. If you convert 16-bit input to, to for example, 32 floating point, no information would be lost. It may still be lost later, ...


1

If the reconstructed audio signal is exactly same as original signal then MSE =0. And if Max pixel value is 255 (8-bit representation), then the value of PSNR = 20*log(255) = 48dB That statement is plain wrong. If the two signals are identical, then MSE = 0, then division by zero is undefinied and you don't get a PSNR at all, but "infinity". Since the ...


1

Is this a signal generate from a raw mp3 file or it is generated from a Matlab-decoded-mp3 file The latter. $audioread()$ reads the raw MP3 bit stream, decodes it, and returns the decoded audio data as PCM data. If you want the raw bit stream use $fread()$ instead.


1

No of course not... Indeed, every mp3 file must be converted to wav bit stream (pcm data) before being played back as audio; the process known as decoding the mp3 file;i.e. you cannot play back mp3 bit stream as a hearable (meaningful) audio... A wav file bit stream (pcm data) may contain much higher quality audio depending on its originating source before ...


1

From the power spectrums you have plotted, it seems like there are a lot more deviations with the data. Perhaps when the song was recorded or encoded, the sampling rate (number of samples in each second) was less than the original one.


1

The MP3 encoder works on batches of 576 time-domain samples and converts them to 576 frequency-domain samples. That means that you get a frequency resolution of $\frac{f_\text{sample}}{576}$, whatever your sampling rate is. Notice however how short that is at usual sampling rates, for example 44.1 kHz: that's a bare 13.something milliseconds. That makes a ...


1

The temporal masking effect is minimal. If your samples do not have extreme differences in loudness, one frame of silence should be enough. Depending on sampling rate one frame is >20ms, that should be plenty.


1

You can transcode by going from any encoded format to a PCM format (which is the raw waveform as it would be sent to a DAC) and then re-encode in the new format. PCM is always the input to an encoder and the output of a decoder. Most perceptual codecs like MP3, AAC, or Vorbis (which Spotify uses) are all sub-band codecs and in theory it would be possible to ...


1

One indeed does, if mostly for text and evaluation purposes. See, for example, http://www.audiocheck.net/audiotests_polaritycheck.php


1

Well, Audacity has an option to do that on digital files, so I assume that means it is done. From that page: Invert flips the audio samples upside-down, reversing their polarity. The positive samples (above the horizontal zero line in the Audacity Waveform) are moved below the zero line (so becoming negative), and negative samples are made positive. ...


1

Newer transform-based codecs do simply perform MDCT-based coding. MP3 carried over the filterbank structure from MP2 (MPEG I layer 2) as a historical artifact.


1

Use a "phase vocoder" which will use short term FFT properties to change the pitch without changing the duration. There is plenty of information and links to "phase vocoder" on Wikipedia and Google in general. It is a great educational exercise to go through its operation as you learn from it the critical importance of the phase information in the FFT for ...


1

The papers you found seem to me quite good references, I've read them briefly and will surely want to study them thoroughly, +1 for that. But your question does not seem to make a lot of sense, or at least it does not have a viable answer. The procedure is an extremely complex one (as you've realized by the reading the papers) and is built on multiple ...


1

The article All About Audio Equalization: Solutions and Frontiers was just published (May 2016), and should provide you with interesting insights. It comes with some code. One common and older solution is mp3gain (sourceforge), and others are discussed for instance in Ask the Readers: Best method of MP3 volume leveling?. From what I understand, a little ...


1

There might be much discrepency in the signal's characteristics of the interviewee that depends partialy on the phones they're using, their mobile operator, etc... It is much easier to extract the radio's speaker signal. Then, everything that does not come form the radio's host must be from one of the interviewees. What you need to do is to analyse the ...


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