Basically, I have a lot of audio files representing the same song. However, some of them are worse quality than the original, and some are edited to where they do not match the original song anymore. What I'd like to do is programmatically compare these audio files to the original and see which ones match up with that song, regardless of quality. A direct comparison would obviously not work because the quality of the files varies.  I believe this could be done by analyzing the structure of the songs and comparing to the original, but I know nothing about audio engineering so that doesn't help me much. All the songs are of the same format (MP3). Also, I'm using Python, so if there are bindings for it, that would be fantastic; if not, something for the JVM or even a native library would be fine as well, as long as it runs on Linux and I can figure out how to use it.
How could I detect (preferably with Python) duplicate MP3 files that can be encoded with different bitrates (but they are the same song) and ID3 tags that can be incorrect?  I know I can do an  checksum of the files content but that won't work for different bitrates. And I don't know if ID3 tags have influence in generating the MD5 checksum. Should I re-encode MP3 files that have a different bitrate and then I can do the checksum? What do you recommend?
How to add programs to the Unity Launcher or Ubuntu Dock? How can I add new programs to the launcher (or the dock in Ubuntu 17.10 and later) in Ubuntu? Updating to latest Blender version I currently have version 2.74. How do I update to version 2.76? I do not see any links in the UI to update my version of Blender Idempotents in a ring without unity (rng) and no zero divisors. Question: Given a ring without unity and with no zero-divisors, is it possible that there are idempotents other than zero?   Def: $a$ is idempotent if $a^2 = a$.   Originally the problem was to show that $1$ and $0$ are the only idempotents in a ring with unity and no zero-divisors, but I wonder what happens if we remove the unity condition.   I am trying to find a ring with idempotents not equal to $0$ or $1$. So far my biggest struggle has been coming up with examples of rings with the given properties.   Does anyone have any hints? How should I attack this problem? Slit screen and wave-particle duality Initialize parameter of method with default value Multiply cited reference in footnotes How to fix gaps between flooring planks in mid-1800s house? I live in a mid-1800s house, which I plan to sell this Spring. The original (I think) wood flooring has gaps between the planks, some pretty sizable (photos follow).  Is there any good fix for this? I've seen people use wood filler/epoxy, and it didn't seem to turn out well. Perhaps doing that and painting/dying it black might work better.  I've heard the "old" solution was to pack those spaces with rope, but I don't think that would look better than the status quo.  Any suggestions?  Photos, big gap:    Medium gap:    Small gap: Why does the Replace() string method not modify my string variable? Let us say we have the following Makefile  include config.mk  # Generate summary table. results.txt : $(ZIPF_SRC) isles.dat abyss.dat last.dat     $(ZIPF_EXE) *.dat &gt; $@  # Count words. .PHONY : dats dats : isles.dat abyss.dat last.dat  %.dat : books/%.txt $(COUNT_SRC)     $(COUNT_EXE) $&lt; $*.dat  .PHONY : clean clean :     rm -f *.dat     rm -f results.txt   where all the variables are defined in config.mk  LANGUAGE=python COUNT_SRC=countwords.py COUNT_EXE=$(LANGUAGE) $(COUNT_SRC) ZIPF_SRC=testzipf.py ZIPF_EXE=$(LANGUAGE) $(ZIPF_SRC)   Is there any tool available that can expand all the include lines within the makefile so as to produce a bigMakefile? If such a tool does not currently exist, can a python/perl/awk/bash script be cooked up to achieve this goal? existence of sequence of polynomial Is there a sequence of polynomials $P_n$ such that   $\displaystyle\lim_{n \to \infty} P_n(z) = \begin{cases} 1, &amp; \text{Im } z &gt; 0\\ 0, &amp; z \text{ is real,} \\ -1, &amp; \text{Im } z &lt; 0 \end{cases}$  I have no clue where to start from. Please provide some hints. Thanks in advance. Show that the boundary of a set equals the boundary of its complement $\newcommand{\bdy}{\operatorname{bdy}}$  I'm trying to show that $\bdy(A) = \bdy(A^c)$.  I know that $\bdy(A) = \operatorname{closure} A \setminus \operatorname{int}(A) = (\operatorname{int}(A^c))^c \setminus \operatorname{int}(A)$, but I don't know where to go from there.  Any help or hints would be very much appreciated. Convergence test of the series $\sum\sin100n$ I need to prove that $$\sum_{n=1}^{\infty} {\sin{100n}} \; \text{diverges}$$ I think the best way to do it is to show that $\lim_{n\to \infty}{\sin{100n}}\not=0$. But how do I prove it? Let $a&gt;0$ and $f: \mathbb R \rightarrow \mathbb R$ with a property $\forall x,y \in \mathbb R;$ such that $0\;&lt;\;y\;-\;x\;&lt;\;a$ $$f(x)\;&lt;f(y).$$ Prove if the statements are true or false:  $1)$ $f$ must be injective.  $2)$ $f$ must be surjective.  I tried to use a quarter of a circle with radius $r=a$ or a right-angled triangle and translate it. When I moved it, I saw new values of $f$. I concluded the maximum value in the previous interval can't appear again in another interval when the distance between one point in the first interval and one point in the second is less than $a$. I also considered using an absolute value function, but I haven't done anything. I think, but I haven't proven it, that the function must be bijective. How can I send an email using a template? I have created a email template in ExactTarget API and I want to use it executing XML from SoapUI.  Is there any tutorial or examples of how can this be done?  I'm new at this and I'm not sure how ExactTarget really works. Why are the longer edges being beveled more? I'll preface this by saying I'm very new to Blender - I'm trying to put a bevel on an edge, looks something like this:    As you can see, the vertical side is much longer than the horizontal side.  When I apply to bevel to the edge there, the bevel stretches proportionally - so there's 'more' bevel on the longer side.  I want to bevel without any 'ratio' like that - just a 45-degree bevel, if that makes any sense.  Do I have to put in a loop cut to make the side lengths equal?  I tried using a sub-surf modifier, but it applies on a bunch of nearby edges, when I just want to round this one corner. PHP mysqli_fetch_field data type Why does Worf want O'Brien to go to Minsk? Why is the wild card character * so different between the zip and rm commands? I put together a script to do some file operations for me. I am using the wild card operator * to apply functions to all files of a type, but there is one thing I don't get. I can unzip all files in a folder like this  unzip "*".zip   However, to remove all zip files afterward, I need to do   rm *.zip   That is, it does not want the quotation marks. The unzip, on the other hand, does not work if I just give it the * (gives me a warning that "files were not matched").   Why is this different? To me, this seems like the exact same operation. Or am I using the wild card incorrectly?   in Unix do not really go into this, and I could not locate anything in the rm or zip docs.  I am using the terminal on a Mac (Yosemite). What to do when you find a bad link in an answer? If a link has gone stale in an answer, what is the correct way to report this in the SO universe?  e.g. Jon's first link in    I have added a comment but not found the correct link yet. Suppose I have a document with multiple include or input statements  \input{fileA} \input{fileB}   etc.   Is there an easy way to generate a single .tex file where \input{fileA} is replaced by the actual content of fileA etc. without copying it manually?