Exemple #1
0
    def run(self):
        dejavu.shared.UITEXTLOGGER = self.updated
        dejavu.shared.DATABASE_FILE = self.outputFilePath

        lpf = self.spinBox_4.value()
        hpf = self.spinBox_5.value()

        #        self.updated.emit("lpf:" + str(lpf) + ", hpf:" + str(hpf))

        af = ""

        if lpf != 0 or hpf != 0:
            af = "-af "
            if lpf != 0:
                af += ("lowpass="******",lowpass="******",lowpass="******",lowpass="******","
                af += ("highpass="******",highpass="******",highpass="******",highpass="******" "

        cmd48k = shlex.split("./ffmpeg -i " +
                             self.inputFilePath.replace(" ", "\\ ") +
                             " -ar 48000 " + af +
                             "-c:a pcm_s16le temp48k.wav -y")
        cmd44k = shlex.split("./ffmpeg -i " +
                             self.inputFilePath.replace(" ", "\\ ") +
                             " -ar 44100 " + af +
                             "-c:a pcm_s16le temp44k.wav -y")
        cmd16k = shlex.split("./ffmpeg -i " +
                             self.inputFilePath.replace(" ", "\\ ") +
                             " -ar 16000 " + af +
                             "-c:a pcm_s16le temp16k.wav -y")
        cmd8k = shlex.split("./ffmpeg -i " +
                            self.inputFilePath.replace(" ", "\\ ") +
                            " -ar 8000 " + af + "-c:a pcm_s16le temp8k.wav -y")
        #        cmd = shlex.split("./ffmpeg -i " + self.inputFilePath + " -af \"pan=2.1|c0=c0|c1=c1|c2=c2\" temp.wav -y")
        #        command = "-i " + self.inputFilePath + " -af \"pan=2.1c0|c1=c1|c2=c2\" temp.wav"

        #        self.updated.emit("./ffmpeg -i " + self.inputFilePath.replace(" ", "\\ ") + " -ar 8000 " + af + "-c:a pcm_s16le temp8k.wav -y")

        #        # do some functionality
        djv = Dejavu({})
        #        djv.uitextappend = self.updated
        #clear DB
        djv.empty_db()

        totalProcesses = 0
        if self.checkBox.isChecked():
            totalProcesses += 1
        if self.checkBox_2.isChecked():
            totalProcesses += 1
        if self.checkBox_3.isChecked():
            totalProcesses += 1
        if self.checkBox_4.isChecked():
            totalProcesses += 1

        totalProcessedPercentage = 0

        self.updatedWithPercentage.emit(
            "Start converting " + self.inputFilePath, totalProcessedPercentage)

        #48KHz
        if self.checkBox.isChecked():
            self.updated.emit("Converting " + self.inputFilePath +
                              " to 48KHz 16bit PCM")

            try:
                subprocess.check_output(cmd48k)
            except subprocess.CalledProcessError as e:
                self.updated.emit("Error, " + e.output)
                self.pushButton.setEnabled(True)
                return

            totalProcessedPercentage += (50 / totalProcesses)
            self.updatedWithPercentage.emit(
                "Finished converting 48KHz for " + self.inputFilePath,
                totalProcessedPercentage)

            djv.fingerprint_file("temp48k.wav")

            totalProcessedPercentage += (50 / totalProcesses)
            self.updatedWithPercentage.emit(
                "Finished finger print generation for 48KHz for " +
                self.inputFilePath, totalProcessedPercentage)

        #44.1KHz
        if self.checkBox_2.isChecked():
            self.updated.emit("Converting " + self.inputFilePath +
                              " to 44.1KHz 16bit PCM")

            try:
                subprocess.check_output(cmd44k)
            except subprocess.CalledProcessError as e:
                self.updated.emit("Error, " + e.output)
                self.pushButton.setEnabled(True)
                return

            totalProcessedPercentage += (50 / totalProcesses)
            self.updatedWithPercentage.emit(
                "Finished converting 44.1KHz for " + self.inputFilePath,
                totalProcessedPercentage)

            djv.fingerprint_file("temp44k.wav")

            totalProcessedPercentage += (50 / totalProcesses)
            self.updatedWithPercentage.emit(
                "Finished finger print generation for 44.1KHz for " +
                self.inputFilePath, totalProcessedPercentage)

        #16KHz
        if self.checkBox_3.isChecked():
            self.updated.emit("Converting " + self.inputFilePath +
                              " to 16KHz 16bit PCM")

            try:
                subprocess.check_output(cmd16k)
            except subprocess.CalledProcessError as e:
                self.updated.emit("Error, " + e.output)
                self.pushButton.setEnabled(True)
                return

            totalProcessedPercentage += (50 / totalProcesses)
            self.updatedWithPercentage.emit(
                "Finished converting 16KHz for " + self.inputFilePath,
                totalProcessedPercentage)

            djv.fingerprint_file("temp16k.wav")

            totalProcessedPercentage += (50 / totalProcesses)
            self.updatedWithPercentage.emit(
                "Finished finger print generation for 16KHz for " +
                self.inputFilePath, totalProcessedPercentage)

        #8KHz
        if self.checkBox_4.isChecked():
            self.updated.emit("Converting " + self.inputFilePath +
                              " to 8KHz 16bit PCM")

            try:
                subprocess.check_output(cmd8k)
            except subprocess.CalledProcessError as e:
                self.updated.emit("Error, " + e.output)
                self.pushButton.setEnabled(True)
                return

            totalProcessedPercentage += (50 / totalProcesses)
            self.updatedWithPercentage.emit(
                "Finished converting 8KHz for " + self.inputFilePath,
                totalProcessedPercentage)

            djv.fingerprint_file("temp8k.wav")

            totalProcessedPercentage += (50 / totalProcesses)
            self.updatedWithPercentage.emit(
                "Finished finger print generation for 8KHz for " +
                self.inputFilePath, totalProcessedPercentage)

        totalProcessedPercentage = 100
        self.updatedWithPercentage.emit(
            "Finished finger prints generation for " + self.inputFilePath,
            totalProcessedPercentage)

        self.pushButton.setEnabled(True)