QwenCloudBRASIL
Tradução de apoio para consulta. Código e identificadores técnicos preservados. Consultar referência original ↗

Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR gravando HarmonyOS SDK

Transcrição de arquivo HarmonyOS SDK para Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR

Guia do usuário: Para obter detalhes do modelo, consulte Reconhecimento de arquivo de áudio - Fun-ASR/Paraformer. Para requisitos de entrada, como formatos de áudio suportados e tamanho de arquivo e limites de duração, consulte Especificações de áudio.

Início rápido

  1. Obter uma chave de API: Obter uma chave de API. Por segurança, recomendamos configurar a chave API como uma variável de ambiente.
  2. Baixe o SDK e execute o código de exemplo:
    • Baixe o pacote SDK mais recente.
    • Extraia o pacote TAR. Obtenha o SDK no formato HAR do neonui diretório e adicione-o às dependências do seu projeto. Para integração com C++, obtenha as bibliotecas dinâmicas e os arquivos de cabeçalho em native/libs e native/include no pacote TAR.
    • Abra o projeto no DevEco Studio. O código de exemplo está localizado em DashFunAsrFileTranscriberPage.ets. Substitua a chave API para testar o recurso.

Etapas de invocação

Modo síncrono

  1. Inicialize o SDK.
  2. Configure parâmetros com base nos requisitos do seu negócio.
  3. Ligue startFileTranscriber para iniciar uma tarefa de reconhecimento com async_request definido como false.
  4. No onFileTransEventCallback interface, ouça o EVENT_FILE_TRANS_RESULT evento para obter o resultado final do reconhecimento.
  5. Ligue release para liberar recursos do SDK.

Modo assíncrono

  1. Inicialize o SDK.
  2. Configure parâmetros com base nos requisitos do seu negócio.
  3. Ligue startFileTranscriber para iniciar uma tarefa de reconhecimento com async_request definido como true.
  4. Ligue queryFileTranscriber para consultar o progresso ou resultado do reconhecimento.
  5. No onFileTransEventCallback interface, ouça o EVENT_FILE_TRANS_QUERY_RESULT evento para obter o resultado da consulta atual.
  6. No onFileTransEventCallback interface, ouça o EVENT_FILE_TRANS_RESULT evento para obter o resultado final do reconhecimento.
  7. Ligue release para liberar recursos do SDK.

Parâmetros de solicitação

Parâmetros de conexão e controle

Passe uma string JSON para o parameters parâmetro de initializeFileTrans para configurar os parâmetros a seguir. Exemplo: A sequência JSON a seguir é um exemplo e não inclui todos os parâmetros. Adicione parâmetros conforme necessário:

{
    "url": "wss://maas.qwencloudapi.com/api/v1/services/audio/asr/transcription",
    "apikey": "st-****",
    "device_id": "my_device_id",
    "service_mode": "1"
}
Parâmetro Tipo Obrigatório Descrição
url string Sim O ponto final. Isto é fixado em wss://maas.qwencloudapi.com/api/v1/services/audio/asr/transcription.
apikey string Sim A chave da API. Recomendamos usar uma [chave de API temporária] mais segura(/api-reference/more/generate-a-temporary-api-key) com um período de validade curto para reduzir o risco de vazamento de uma chave de longo prazo.
service_mode string Sim O modo de operação. Para reconhecimento de fala não em tempo real, isso é fixado em "1".
device_id string Sim Uma string exclusiva que identifica o usuário final. Você pode configurá-lo para um ID de usuário no aplicativo ou um identificador de dispositivo exclusivo gerado pelo cliente. Esse ID é usado principalmente para rastreamento de log e solução de problemas.
debug_path string Não O caminho de armazenamento para arquivos de log. Este parâmetro só entra em vigor se você definir save_log para true quando você chama initializeFileTrans. Nesse caso, você deve especificar um caminho para o arquivo de log. Caso contrário, ocorrerá um erro. No máximo dois arquivos de log são retidos localmente.
max_log_file_size number Não Define o tamanho máximo de um arquivo de log em bytes. Este parâmetro só entra em vigor se você definir save_log para true quando você chama initializeFileTrans. Valor padrão: 104857600 (100 * 1024 * 1024 bytes ou 100 MiB).

Parâmetros de efeito de reconhecimento de fala

Configurar o nls_config parâmetro usando setParams ou configure todos os parâmetros do efeito de reconhecimento de fala usando startFileTranscriber. Exemplo: A sequência JSON a seguir é um exemplo e não inclui todos os parâmetros. Adicione parâmetros conforme necessário:

{
    "file_urls": [
        "{YOUR_AUDIO_URL}"
    ],
    "async_request": false,
    "nls_config": {
        "model":"qwen-audio-3.0-asr-flash-filetrans",
        "diarization_enabled": false,
        "parameters": {
            "speech_noise_threshold": 0.0
        }
    }
}
Parâmetro Tipo Obrigatório Descrição
file_urls array[string] Sim Uma lista de URLs para os arquivos de áudio ou vídeo serem transcritos. HTTP e HTTPS são suportados. Uma única solicitação oferece suporte a apenas 1 URL. Para requisitos de entrada, como formatos de áudio suportados e tamanho de arquivo e limites de duração, consulte Especificações de áudio. Se um arquivo de áudio for armazenado no Alibaba Cloud OSS, a API RESTful oferece suporte a um URL temporário com o oss:// prefixo, mas o SDK não.
<ul><li>Um URL temporário é válido por 48 horas e não pode ser usado após expirar. Não use URLs temporários em ambientes de produção.</li><li>A interface de credenciais de upload de arquivo é limitada a 100 QPS e não pode ser ampliada. Não use-o em ambientes de produção, cenários de alta simultaneidade ou testes de estresse.</li><li>Em ambientes de produção, use armazenamento estável, como o Alibaba Cloud OSS, para garantir a disponibilidade de arquivos a longo prazo e evitar limitações.</li></ul>

<ul><li>Se um URL OSS público temporário não puder ser acessado, defina o X-DashScope-OssResourceResolve solicitar cabeçalho para enable. Este método não é recomendado. O SDK não oferece suporte à configuração de cabeçalhos de solicitação.</li></ul> | | async_request | boolean | Não | Especifica se uma solicitação assíncrona deve ser usada. Valor padrão: false. Valores válidos: - verdadeiro: solicitação assíncrona - falso: solicitação síncrona. | | apikey | string | Não | Se apikey em Parâmetros de conexão e controle é uma chave de API temporária, atualize-o aqui antes que expire. | | nls_config | object | Sim | O objeto principal de configuração de reconhecimento de fala, que contém parâmetros-chave para seleção de modelo e controle de efeito de reconhecimento. | | nls_config.model | string | Sim | O nome do modelo. Qwen-Audio-3.0-ASR-Flash-Filetrans e Fun-ASR modelos de série são suportados. Para obter mais informações, consulte Modelos e regiões compatíveis. | | nls_config.special_word_filter | object | Não | Especifica palavras sensíveis a serem processadas durante o reconhecimento de fala e oferece suporte a diferentes métodos de processamento para palavras diferentes. Para obter mais informações, consulte Filtragem de palavras sensíveis. | | nls_config.channel_id | array[integer] | Não | Especifica os índices de trilhas de áudio a serem reconhecidas em um arquivo de áudio multipista. Os índices começam em 0. Por exemplo, [0] reconhece a primeira faixa e [0, 1] reconhece a primeira e a segunda faixas. Se omitido, a primeira faixa será processada. Cada faixa especificada é cobrada separadamente. Por exemplo, [0, 1] para um arquivo incorre em duas cobranças separadas.

Valor padrão: [0]. | | nls_config.diarization_enabled | boolean | Não | Especifica se a diarização do alto-falante deve ser habilitada. Este recurso está desabilitado por padrão. Aplica-se apenas ao áudio mono. O áudio multicanal não oferece suporte à diarização do alto-falante. Quando ativado, o resultado do reconhecimento contém speaker_id distinguir os falantes. Se a diarização do locutor estiver habilitada, recomendamos limitar a duração do áudio a 2 horas para evitar falha de reconhecimento ou tempo limite.

Valor padrão: falso. Para um exemplo de speaker_id, consulte Descrições dos resultados de reconhecimento. | | nls_config.speaker_count | integer | Não | Este parâmetro entra em vigor somente quando a diarização do alto-falante é habilitada pela configuração diarization_enabled para true.

Ele fornece um valor de referência para o número de alto-falantes. Os valores válidos são números inteiros de 2 a 100. Por padrão, o número de alto-falantes é determinado automaticamente. Se este parâmetro for definido, ele apenas orienta o algoritmo para gerar o número especificado e não garante esse número. Nenhum valor padrão. | | nls_config.vocabulary_id | string | Não | O ID da lista de hotwords pré-compilada. Crie primeiro uma lista de hotwords e passe seu ID durante o reconhecimento para usar as hotwords na lista. Isto é adequado quando o vocabulário é conhecido e relativamente estável e o mesmo vocabulário precisa ser reutilizado em todas as solicitações. Para obter mais informações, consulte Hotwords pré-compiladas. | | nls_config.language_hints | array[string] | Não | Especifica códigos de idioma a serem reconhecidos pelo áudio. Se o idioma não puder ser determinado antecipadamente, omita este parâmetro e o modelo detectará automaticamente o idioma. Qwen-Audio-3.0-ASR-Flash-Filetrans os modelos suportam até 4 valores. Se mais de 4 valores forem especificados, apenas os 4 primeiros terão efeito. Fun-ASR os modelos suportam apenas 1 valor. Se vários valores forem especificados, apenas o primeiro terá efeito. Códigos de idioma suportados: - qwen-audio-3.0-asr-flash-filetrans, fun-asr: - zh: chinês - en: inglês - ja: japonês - ko: coreano - vi: vietnamita - th: tailandês - id: indonésio - ms: malaio - tl: filipino - hi: hindi - ar: árabe - fr: francês - de: alemão - es: espanhol - pt: português - ru: russo - it: italiano - nl: holandês - sv: sueco - da: dinamarquês - fi: finlandês - não: norueguês - el: grego - pl: polonês - cs: tcheco - hu: húngaro - ro: romeno - bg: búlgaro - hr: croata - sk: eslovaco. | | nls_config.parameters | object | Não | Configura parâmetros adicionais como um objeto JSON. |

Interfaces principais

NativoNui

inicializarFileTrans

Inicializa uma instância do SDK de transcrição de fala. Não inicialize a instância novamente antes de chamar release.

Ao contrário do reconhecimento de fala em tempo real, a transcrição de arquivos de áudio em tempo não real deve usar initializeFileTrans e passe um INativeFileTransCallback retorno de chamada em vez de usar initialize.

Esta interface bloqueia o thread de chamada. Chame-o de um thread que não seja da UI.

public initializeFileTrans(callback: INativeFileTransCallback,
                           parameters: string,
                           level: number,
                           save_log: boolean = false): number
Parâmetro Tipo Descrição
callback INativeFileTransCallback Uma implementação do evento de transcrição de arquivo e da interface de retorno de chamada de dados.
parameters string Uma string JSON que contém parâmetros de autenticação, conexão e depuração. Consulte Parâmetros de conexão e controle.
level number Controla o nível de log do SDK. Os valores válidos são definidos pelo Constants.LogLevel enumeração.
save_log boolean Especifica se os logs locais devem ser salvos. Se este parâmetro for true, usar debug_path em Parâmetros de conexão e controle para especificar um caminho. Você também pode usar max_log_file_size para definir o tamanho do arquivo.

Um código de erro. Consulte Referência do código de erro.

####setParams

Define ou atualiza apenas o nls_config parâmetro. Se todos os parâmetros forem fornecidos em startFileTransscriber, você não precisa chamar esse método.

public setParams(params: string): number
Parâmetro Tipo Descrição
params string O nls_config parâmetro em Parâmetros de efeito de reconhecimento de fala. Parâmetros externos nls_config não pode ser definido usando este método. Exemplo: { "nls_config": { "model":"qwen-audio-3.0-asr-flash-filetrans", "diarization_enabled": false } }

Um código de erro. Consulte Referência do código de erro.

startFileTranscriber

Inicia o reconhecimento.

public startFileTranscriber(params: string, task_id: ArrayBuffer): number
Parâmetro Tipo Descrição
params string Os parâmetros do efeito de reconhecimento de fala. Exemplo: { "file_urls": [ "{YOUR_AUDIO_URL}" ], "async_request": false, "nls_config": { "model":"qwen-audio-3.0-asr-flash-filetrans", "diarization_enabled": false } }
task_id ArrayBuffer O buffer de ID da tarefa. O SDK grava uma sequência de ID de tarefa aleatória gerada internamente nesse buffer. O buffer deve ter pelo menos 33 bytes de comprimento. O exemplo usa new ArrayBuffer(64). Após uma chamada bem-sucedida, decodifique o buffer para obter o valor da tarefa task_id.

Um código de erro. Consulte Referência do código de erro.

queryFileTranscriber

Consulta o status atual e o resultado de uma tarefa assíncrona. Após uma chamada bem-sucedida, o resultado é retornado pelo EVENT_FILE_TRANS_QUERY_RESULT evento no onFileTransEventCallback retorno de chamada.

public queryFileTranscriber(task_id: string): number
Parâmetro Tipo Descrição
task_id string O ID da tarefa a ser consultada, obtido do buffer escrito por startFileTranscriber.

Um código de erro. Consulte Referência do código de erro.

cancelarFileTranscriber

Cancela imediatamente a tarefa atual.

public cancelFileTranscriber(task_id: string): number
Parâmetro Tipo Descrição
task_id string O ID da tarefa a ser cancelada.

Um código de erro. Consulte Referência do código de erro.

lançamento

Libera todos os recursos internos do SDK. Depois que esse método for chamado, a instância do SDK ficará indisponível. Para usá-lo novamente, chame initializeFileTrans para reinicializá-lo.

public release(): number

Um código de erro. Consulte Referência do código de erro.

Obter versão

Obtém as informações da versão atual do SDK.

public GetVersion(): string

As informações da versão atual do SDK.

INativeFileTransCallback

Define retornos de chamada para eventos de transcrição de arquivos e resultados de reconhecimento.

onFileTransEventCallback

Escuta eventos de transcrição de arquivos e obtém resultados de reconhecimento de fala.

onFileTransEventCallback: (event: Constants.NuiEvent, resultCode: number, finish: number,
                           asrResult: AsrResult, taskId: string) => void;
Parâmetro Tipo Descrição
event Constants.NuiEvent O evento de retorno de chamada.
resultCode number O código de erro. Este parâmetro é válido quando EVENT_ASR_ERROR ocorre.
finish number Indica se a tarefa foi finalizada.
asrResult AsrResult O resultado do reconhecimento de fala.
taskId string O ID da tarefa.

Constantes.NuiEvent

Os tipos de eventos do HarmonyOS SDK são definidos pelo Constants.NuiEvent enumeração. Os seguintes eventos se aplicam à transcrição de arquivos de áudio:

Evento Descrição
EVENT_FILE_TRANS_CONNECTED O serviço está conectado.
EVENT_FILE_TRANS_UPLOADED O arquivo de áudio a ser reconhecido é carregado.
EVENT_FILE_TRANS_QUERY_RESULT O resultado da consulta da tarefa.
EVENT_FILE_TRANS_RESULT O resultado final do reconhecimento.
EVENT_ASR_ERROR Ocorre um erro durante o reconhecimento de fala.

Tipos auxiliares

Constantes.LogLevel

Os valores de enumeração para o level parâmetro são os seguintes:

Valor Descrição
LOG_LEVEL_VERBOSE Os registros mais detalhados.
LOG_LEVEL_DEBUG Registros de depuração.
LOG_LEVEL_INFO Logs informativos (padrão).
LOG_LEVEL_WARNING Registros de aviso.
LOG_LEVEL_ERROR Registros de erros.
LOG_LEVEL_NONE Desativa o registro em log.

Baixe o resultado

Os resultados do reconhecimento de fala em tempo não real são gerados de forma assíncrona. A resposta retornada pelo EVENT_FILE_TRANS_RESULT evento contém transcription_url. Baixe o texto de reconhecimento no formato JSON deste URL. A URL tem um período de validade. Baixe o resultado imediatamente.