Ejemplo n.º 1
0
    def recognize_by_filebuffer(self,
                                file_buffer,
                                start_seconds,
                                rec_length=10,
                                user_params={}):
        res = ''
        try:
            query_data = {}
            if self.recognize_type == ACRCloudRecognizeType.ACR_OPT_REC_AUDIO or self.recognize_type == ACRCloudRecognizeType.ACR_OPT_REC_BOTH:
                audio_fingerprint_opt = {
                    'filter_energy_min': self.filter_energy_min,
                    'silence_energy_threshold': self.silence_energy_threshold,
                    'silence_rate_threshold': self.silence_rate_threshold
                }
                query_data[
                    'sample'] = acrcloud_extr_tool.create_fingerprint_by_filebuffer(
                        file_buffer, start_seconds, rec_length, False,
                        audio_fingerprint_opt)
            if self.recognize_type == ACRCloudRecognizeType.ACR_OPT_REC_HUMMING or self.recognize_type == ACRCloudRecognizeType.ACR_OPT_REC_BOTH:
                query_data[
                    'sample_hum'] = acrcloud_extr_tool.create_humming_fingerprint_by_filebuffer(
                        file_buffer, start_seconds, rec_length)

            res = self.do_recogize(self.host, query_data, self.query_type,
                                   self.access_key, self.access_secret,
                                   self.timeout, user_params)
            try:
                json.loads(res)
            except Exception as e:
                res = ACRCloudStatusCode.get_result_error(
                    ACRCloudStatusCode.JSON_ERROR_CODE, str(res))
        except Exception as e:
            res = ACRCloudStatusCode.get_result_error(
                ACRCloudStatusCode.UNKNOW_ERROR_CODE, str(e))
        return res
Ejemplo n.º 2
0
    def recognize_by_filebuffer(self,
                                file_buffer,
                                start_seconds,
                                rec_length=10):
        res = ''
        try:
            query_data = {}
            if self.recognize_type == ACRCloudRecognizeType.ACR_OPT_REC_AUDIO or self.recognize_type == ACRCloudRecognizeType.ACR_OPT_REC_BOTH:
                query_data[
                    'sample'] = acrcloud_extr_tool.create_fingerprint_by_filebuffer(
                        file_buffer, start_seconds, rec_length, False)

            if self.recognize_type == ACRCloudRecognizeType.ACR_OPT_REC_HUMMING or self.recognize_type == ACRCloudRecognizeType.ACR_OPT_REC_BOTH:
                query_data[
                    'sample_hum'] = acrcloud_extr_tool.create_humming_fingerprint_by_filebuffer(
                        file_buffer, start_seconds, rec_length)

            res = self.do_recogize(self.host, query_data, self.query_type,
                                   self.access_key, self.access_secret,
                                   self.timeout)
            try:
                json.loads(res)
            except Exception as e:
                res = ACRCloudStatusCode.get_result_error(
                    ACRCloudStatusCode.JSON_ERROR_CODE, str(res))
        except Exception as e:
            res = ACRCloudStatusCode.get_result_error(
                ACRCloudStatusCode.UNKNOW_ERROR_CODE, str(e))
        return res