Llame a la API de Huawei para realizar el reconocimiento de voz en chino

1. Introducción del autor

Zhang Nan, mujer, Escuela de Información Electrónica, Universidad Politécnica de Xi'an, estudiante de posgrado de 2022
Dirección de investigación: procesamiento de imágenes
Correo electrónico: [email protected]

Lu Zhidong, hombre, Escuela de Información Electrónica, Universidad Politécnica de Xi'an, estudiante graduado de 2022, grupo de investigación de inteligencia artificial de Zhang Hongwei
Dirección de investigación: visión artificial e inteligencia artificial
Correo electrónico: [email protected]

2. Reconocimiento de voz en chino HUAWEI CLOUD

2.1 Identificación y adquisición del archivo de grabación

Dado que grabar el reconocimiento de archivos suele llevar mucho tiempo, el reconocimiento es asíncrono , es decir, la interfaz se divide en dos interfaces: crear una tarea de reconocimiento y consultar el estado de la tarea. Crear una interfaz de tarea de reconocimiento Después de crear una tarea, se devuelve el parámetro job_id y luego el usuario puede obtener el estado de la transcripción y los resultados llamando a la interfaz de consulta de estado de reconocimiento de archivos de grabación.

2.2 Restricciones

1. La duración del audio no debe exceder 1 minuto .
2. Compatible con las regiones "Norte de China-Beijing 1", "Norte de China-Beijing 4" y "Este de China-Shanghai 1".
3. Compatible con pcm16k16bit, pcm8k16bit, ulaw16k8bit, ulaw8k8bit, alaw16k8bit, alaw8k8bit, vox8k4bit, v3_8k4bit, WAV (compatible con formato de codificación pcm/ulaw/alaw/adpcm), MP3, M4A, ogg-speex, ogg-opus, AMR.
4. La duración del audio no debe exceder las 5 horas y el tamaño del archivo no debe exceder los 300M.

2.3 Introducción al servicio de almacenamiento de objetos (OBS)

Object Storage Service (OBS) es un servicio de almacenamiento masivo basado en objetos que brinda a los clientes capacidades de almacenamiento de datos masivas, seguras, altamente confiables y de bajo costo.

Para archivos multimedia como imágenes y audio, es compatible con el método de procesamiento de datos mediante el uso directo de los servicios Huawei Cloud OBS para reducir los costos de uso del servicio, reducir el tiempo de respuesta del servicio y mejorar la experiencia del servicio.

Actualmente, solo se admite el enlace para acceder al audio personal del usuario en OBS y no admite la lectura del enlace leído por otros usuarios.

3. Proceso experimental y resultados

3.1 Obtener la API

1. Registre una cuenta de HUAWEI CLOUD , realice la autenticación de nombre real y active el servicio.
2. Para la autenticación AK/SK , descargue el archivo credentials.csv
e inicie sesión en la consola.
Haga clic en su nombre de usuario en la esquina superior derecha de la página y seleccione Mis credenciales . Ingrese a la página "Mis credenciales":
inserte la descripción de la imagen aquí
haga clic en "Agregar clave de acceso" en la pestaña "Clave de acceso". Aparecerá el cuadro de diálogo "Agregar clave de acceso":
inserte la descripción de la imagen aquí
Ingrese la "Contraseña de inicio de sesión". Si vincula su teléfono móvil o correo electrónico, también necesita obtener un código de verificación y verificarlo. Después de que la verificación sea exitosa, aparecerá el cuadro de diálogo de descarga de la clave de acceso.
Haga clic en Aceptar y siga las indicaciones para descargar y guardar la clave de acceso.
Si se generó el AK/SK , busque el archivo AK/SK descargado original, el nombre del archivo generalmente es: credentials.csv.
inserte la descripción de la imagen aquí
3. Cree un depósito de "lectura pública"
Abra la consola y busque el servicio de almacenamiento de objetos OBS :
inserte la descripción de la imagen aquí
En la "lista de depósitos", busque el depósito creado y créelo : complete
inserte la descripción de la imagen aquí
según sea necesario, nota : seleccione "lectura y escritura pública" para la política del depósito:
inserte la descripción de la imagen aquí
4. Cargar audio
En la página "Lista de depósitos" de OBS, haga clic en el depósito de OBS creado:
inserte la descripción de la imagen aquí
ingrese a la página "Objeto" y cargue los datos de audio en el depósito de OBS:
inserte la descripción de la imagen aquí
5. Obtenga la URL de audio
Haga clic en los datos cargados nombre para ingresar a la página de detalles de datos:
inserte la descripción de la imagen aquí
Copiar enlace, obtener URL de datos:
inserte la descripción de la imagen aquí
6. Depure la interfaz en API Explorer:
inserte la descripción de la imagen aquí
en este caso, se usa el formato de archivo de grabación de pcm16k16bit, y el código de implementación de python se muestra en la figura anterior.

3.2 Implementación del código

1. Envíe la identificación del archivo de grabación

#############下载需要的库
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdksis.v1.region.sis_region import SisRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdksis.v1 import *
###############导入AK和SK
if __name__ == "__main__":
    ak = "<YOUR AK>"
    sk = "<YOUR SK>"

    credentials = BasicCredentials(ak, sk) \

    client = SisClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(SisRegion.value_of("cn-north-4")) \
        .build()

    try:
        request = PushTranscriberJobsRequest()
        configbody = TranscriberConfig(
            audio_format="auto",
            _property="chinese_16k_media",
            add_punc="yes"
        )
        request.body = PostTranscriberJobs(
            data_url="YOUR URL",####获取的音频URL
config=configbody
        )
        response = client.push_transcriber_jobs(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Generar job_id
inserte la descripción de la imagen aquí
2. Obtener el resultado del reconocimiento del archivo de grabación

#############下载需要的库
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdksis.v1.region.sis_region import SisRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdksis.v1 import *
###############导入AK和SK
if __name__ == "__main__":
    ak = "<YOUR AK>"
    sk = "<YOUR SK>"

    credentials = BasicCredentials(ak, sk) \

    client = SisClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(SisRegion.value_of("cn-north-4")) \
        .build()

    try:
        request = CollectTranscriberJobRequest()
        request.job_id = "YOUR JOB_ID"  ####上一步获取的job_id
        response = client.collect_transcriber_job(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

3.3 Resultados de ejecución

inserte la descripción de la imagen aquí

Referencias (enlaces y citas disponibles para referencia)

1. Ejemplo de audio proporcionado por HUAWEI CLOUD
2. Referencia de error

Supongo que te gusta

Origin blog.csdn.net/m0_37758063/article/details/130968069
Recomendado
Clasificación