• 基于 ArkTS 实现客户预警详情震源动画功能
    基于 ArkTS 实现客户预警详情震源动画功能1.1 问题说明在客户预警类鸿蒙原生应用的地图 / 可视化场景中,需通过震源动画直观展示预警事件的核心位置。传统静态 Marker 标记无法体现预警的动态提醒特性,而基于鸿蒙原生动画能力实现震源动效时,易出现动画与 Marker 绑定不精准、缩放过渡不流畅等问题。1.2 原因分析 Marker 与动画绑定逻辑缺失直接创建 Marker 后未关联动画对象,导致动画无法作用于震源标记。· 动画参数初始化不合理未在 RotateAnimation 构造函数中精准设置初始缩放倍数,导致动画启动时出现跳变、卡顿。· 动画生命周期管理不足动画执行完成后未重置状态,多次触发预警时动画叠加异常。1.3 解决思路 核心方案先创建预警震源对应的 Marker 标记,再构造 RotateAnimation 对象,通过构造函数指定动画启动时的水平(scaleX)、垂直(scaleY)缩放倍数,绑定动画到 Marker 实现基础缩放旋转动效。· 动画参数标准化统一初始缩放倍数(如从 0.1 倍开始)、动画时长,确保动效流畅无跳变。 生命周期管控动画启动前停止旧动画,避免多次触发时的动画冲突。1.4 解决方案Marker 创建与动画对象构造 动画绑定与启动控制 多设备适配处理 1.5 总结 问题与痛点:静态 Marker 无法体现预警动态特性;动画与标记绑定不精准;初始缩放参数不合理导致动效卡顿;多次触发动画叠加冲突;锚点偏差造成位置偏移。· 技术要点:核心为 “新建 Marker + 构造 RotateAnimation”,通过构造函数指定初始缩放倍数;设置 Marker 居中锚点确保动画定位精准;启动前停止旧动画管控生命周期;基于屏幕密度适配多设备。· 实现效果:震源 Marker 从 0.1 倍(适配后倍数)开始旋转缩放,循环 “放大 - 缩小” 无卡顿;动画精准围绕震源中心展开,定位无偏移;多次触发预警无动画叠加异常,多设备视觉效果一致
  • [互动交流] unimrcp对接华为云ASR websocket linux版,在触发voice_start时没有进行有效打断操作
    我根据ASR-beginer大佬发表的博客unimrcp对接华为云ASR(Linux版)(https://bbs.huaweicloud.com/blogs/423604)成功实现了unimrcp插件化华为云的asr引擎。环境: centos7.9 +freeswtich 1.10.13 +unimrcp 1.8.0问题描述:使用fs拨号 1001测试并调用lua脚本,脚本逻辑 播放欢迎语 并可随时打断,目前没有进行打断操作。脚本命令:result = session:execute("play_and_detect_speech", "say:'" .. text .. "' detect:unimrcp:uni2 {barge_in=true,no-input-timeout=5000}builtin:speech/transcribe")  I0722 08:46:05.645720  9722 RasrListener.h:38] rasr receive event{"resp_type":"EVENT","trace_id":"a3f26933-33fc-4333-b345-c550b5aeeb15","event":"VOICE_START","timestamp":1753145165}I0722 08:46:10.086721  9722 RasrListener.h:38] rasr receive event{"resp_type":"EVENT","trace_id":"a3f26933-33fc-4333-b345-c550b5aeeb15","event":"VOICE_END","timestamp":1753145170}I0722 08:46:10.086751  9722 RasrListener.h:22] rasr receive {"resp_type":"RESULT","trace_id":"a3f26933-33fc-4333-b345-c550b5aeeb15","segments":[{"start_time":0,"end_time":10500,"is_final":true,"result":{"text":"喂喂喂喂喂喂喂","score":0.6077518463134766}}]}2025-07-22 08:46:13:470782 [INFO]   Synthesis completed2025-07-22 08:46:13:470820 [INFO]   Process SPEAK-COMPLETE Event <4030c67197fa4d00@speechsynth> [1]2025-07-22 08:46:13:470839 [NOTICE] State Transition SPEAKING -> IDLE <4030c67197fa4d00@speechsynth>2025-07-22 08:46:13:470879 [INFO]   Send MRCPv2 Data 172.29.121.237:1544 <-> 172.29.121.237:58672 [122 bytes]MRCP/2.0 122 SPEAK-COMPLETE 1 COMPLETEChannel-Identifier: 4030c67197fa4d00@speechsynthCompletion-Cause: 000 normal关键日志说明:播放过程中在05秒识别到说话,10秒识别完成,13秒播放tts语音结束。期望表现:在05秒识别开始时发送打断信号。目前问题的核心代码:case Status::voice_start: apt_log(RECOG_LOG_MARK, APT_PRIO_INFO, "Detected Voice Activity " APT_SIDRES_FMT, MRCP_MESSAGE_SIDRES(recog_channel->recog_request)); huawei_recog_start_of_input(recog_channel); recog_channel->call_back->SetStatus(Status::recognizing); break;没有发送打断信息。后面我尝试更改代码发送打断信号:case Status::voice_start: { apt_log(RECOG_LOG_MARK, APT_PRIO_INFO, "Voice start detected, triggering barge-in"); // 保持voice_start状态直到语音结束 huawei_recog_start_of_input(recog_channel); recog_channel->call_back->SetStatus(Status::recognizing); // 发送立即打断指令 mrcp_message_t* bargein_msg = mrcp_event_create( recog_channel->recog_request, RECOGNIZER_START_INPUT_TIMERS, // 关键指令 recog_channel->recog_request->pool ); mrcp_engine_channel_message_send(recog_channel->channel, bargein_msg); break;}还是没有效果,我尝试更改指令:mrcp_message_t* bargein_msg = mrcp_event_create( recog_channel->recog_request, RECOGNIZER_BARGE_IN_OCCURRED, // 关键修改:使用标准事件 recog_channel->recog_request->pool);但是编译过程遇到:src/huawei_recog_engine.cc:764:21: error: 'RECOGNIZER_BARGE_IN_OCCURRED' was not declared in this scope                     RECOGNIZER_BARGE_IN_OCCURRED,  // 关键修改:使用标准事件请求帮忙,如何让我顺利的进行打断操作?
  • [问题求助] UAP9600 测试环境license失效后,tts和asr功能会受到哪些限制?
    【问题来源】【必填】      湖北农信【问题简要】【必填】      license失效相关问题【问题类别】【必填】      uap license【AICC解决方案版本】【必填】     AICC版本 AICC 8.15.0     CTI版本   ICDV300R008C23【期望解决时间】【选填】     尽快解决【问题现象描述】【必填】测试环境license失效后,tts和asr功能的使用会受到哪些限制 ?
  • [互动交流] 华为 语音识别,支持方言吗?
    华为 语音识别,支持方言吗?
  • [问题求助] 鲲鹏920跑pytorch cpu训练速度很慢
    如题,pytorch cpu训练很慢,使用的是开源的wenet语音识别框架,搭了一个nvidia/cuda:11.6.1-cudnn8-runtime-ubuntu20.04镜像,但用的是cpu,训练可以正常运行,性能表现是模型前向计算很慢,一个小时的训练数据,batchsize 16, num_worker 4, 模型参数量80M, 需要一个小时才能跑一个batch,16小时跑一个epoch,这是因为什么问题导致的呢,大佬们帮忙看看我仔细分析了下,发现是torch.nn.Conv1d这个函数跑的慢, X86跑了0.016秒,arm跑了0.254秒,这是测试代码: import torch import time  # Create random input input_data = torch.randn(1, 256, 1000)  # Create convolutional layer #conv1d_layer = torch.nn.Conv1d(in_channels=1, out_channels=1, kernel_size=3) #start_time_x86 = time.time() conv1d_layer = torch.nn.Conv1d(             256,             256,             15,             stride=1,             padding=0,             groups=256,             bias=True,         ) # Perform convolution on x86 start_time_x86 = time.time() output_x86 = conv1d_layer(input_data) end_time_x86 = time.time() time_elapsed_x86 = end_time_x86 - start_time_x86 print('Time elapsed on x86:', time_elapsed_x86) print(output_x86) 
  • [问题求助] aicc-nmu问题
    【问题来源】:中讯【问题简要】:安装nmu失败【问题类别】:NMU组件,安装NMU组件失败【UAP版本】:UAP9600_V100R005C00SPC021_SUSE12【日志或错误截图】安装完NMU后,出现下图报错信息如下:nmustatus
  • [其他问题] 基于QT for andriod添加第三方库
    基于QT for andriod添加第三方库的时候一直调用失败,找不到函数的定义
  • 浅谈实时语音识别应用场景_公安
    实时语音识别技术将语音、自然语音理解、语音合成等技术应用在公安部门的工作中,场景为笔录制作,电话报警语音识别,语音转写文字等。对于公安民警在案件处理时,需要与案件相关人员对话了解案情,清楚记录何时、何人、何事,等相关重要信息。以往传统的笔录制作需要两名警员,一个负责记录,一个负责询问,记录依靠笔记。随着时代的发展,用电脑代替了打字。虽然改变了传统的记录方式,但电脑打字记录还是会消耗大量的人力和修改的工作量,询问时还要兼顾记录人员的打字速度。笔录整理还需记录员的总结能力,对询问内容总结出主旨,形成一份合格的笔录文档。通过结合实时语音识别技术和自然语言理解技术,当询问笔录开始制作时,实时办案民警与被询问人之间的对话内容进行识别,并将识别到的内容按照语法和自然语言调整识别结果。自然语言理解技术还可以将语音中出现的语气词自动过滤,对关键词类型提取,最终输出正确、精练的文字。将生成的识别结果与原始识别数据进行比对,回听音频文件对文档归纳总结,简单修改即可按照笔录模板输出笔录。使公安了解案情时,笔录制作更方便快捷,减少人员精力投入,提高笔录制作的效率,辅助公安办案业务的完成。公安部门在审讯时常常会收集到很多有价值的信息,关键词识别技术能够为公安侦查破案提供技术支持和帮助。作为破案的关键性信息,如地址、涉案人员信息等,关键词识别技术分析问答内容,提取关键数据,并对文字结果特殊显示。从视觉上更直观的关注到重点、有价值的信息,提醒办案人员。实时语音识别技术中的离线转写功能能够将民警外出办案记录的录音文件或视频文件转写成文字,满足多文档同步识别转写,转写速度快的功能。民警不用跟着录音边听边整理,提高笔录整理的效率。应用在快速记录询问笔录,可根据公安办案业务流程和工作习惯,中增加法律条款的查询等。当需要告知被询问人法律法规时,通过文本朗读功能代替人为宣读,减少办案人员精力投入,提高办案效率,推动公安业务与智能化手段融合。
  • [问题求助] ivr实现全程录音
    问题来源】    百信银行    【问题简要】客户想要把ivr中与机器人交互的声音录下来【问题类别】【必填】  ivr(gsl)【AICC解决方案版本】【必填】   AICC 8.12.0【期望解决时间】2023/08/08【问题现象描述】【必填】     如何实现ivr录音
  • [问题求助] U9600对接智能TTS/ASR问题
    【问题来源】中讯网联    【问题简要】智能IVR识别超时【问题类别】智能IVR【AICC解决方案版本】UAP9600 V1R5C00 SPC102CTI版本:ICDV300R008C25SPC017【期望解决时间】【尽快】【问题现象描述】华为U9600对接科大的TTS/ASR,模拟以下三个场景的情况下调测场景1:正常情况外部用户呼入电信系统进入智能语音导航,输入音频后,asr服务器正常识别并返回000normaluap收到000后返回给ivr,ivr做正常处理。场景2:噪声情况外部用户呼入电信系统进入智能语音导航,模拟外部噪声的情况下,asr服务器无法识别,并返回001 no-marchuap收到001后返回给ivr,ivr做了失败出口走逃生处理。场景3:超时情况外部用户呼入电信系统进入智能语音导航,不输入任何音频,asr服务器捕捉不到音频,返回002 time outuap收到002返回给ivr,ivr做了超时处理。【问题描述】业务侧希望uap对科大的mrcp返回做些处理,比如场景2的001-no-march,可处理成为场景3的002-timeout这种情况,请问我们uap有调整这种参数的配置吗?另外001-no-march我们实测的噪声情况下,在1分半钟左右asr返回001 no-march,这个时间能在uap做调整吗?下面是科大提供的底层代码
  • [问题求助] 在线坐席在会话过程中变成示闲
    【问题来源】中讯网联    【问题简要】在线坐席在会话过程中变成示闲【问题类别】坐席【AICC解决方案版本】【AICC版本:AICC 22.100.0】UAP9600 V1R5C00 SPC102【CTI版本:ICDV300R008C25SPC015】【期望解决时间】【紧急】【问题现象描述】     在线坐席工号3012 ,6月13日 14点-15:10点期间 账号状态在会话中,还有会话接入的情况下,状态变成了示闲,压测场景下,1坐席接入15个会话,脚本跑1分多钟后,坐席状态会变成示闲。  
  • [其他] 浅谈语音识别
    什么是语音语音指的是人类通过发声器官发出来具有一定意义、用来沟通交流的声音。计算机中语音存储:以波形文件的方式存储,通过波形反映语音的变化,从而可以获取音强、音长等参数信息。音域参数:傅利叶谱、梅尔频率到谱系数,主要用来提取语音内容以及音色的差别,用来更进一步辨别语音信息。什么是语音识别语音识别简单来说就是把语音内容自动转换为文字的过程,是人与机器交互的一种技术。涉及领域:声学、人工智能、数字信号处理、心理学等方面。语音识别的输入:对一段声音文件进行播放的序列。语音识别的输出:输出的结果是一段文本序列。语音识别的原理语音识别需要经过特征提取、声学模型、语音模型、语音解码和搜索算法四个部分。特征提取:把要分析的信号从最原始信号提取出来,这个阶段主要是对语音的幅度标准化、频响校正、分帧、加窗、始末端点检测等预处理操作,为声学模型提供需要特征向量。声学模型:依靠声学模型进行语音参数分析(语音共振峰频率、幅度等)和对语音的线性预测参数进行分析。语言模型:根据相关语言学理论,计算出声音片段可能词组序列的概率。语音解码和搜索算法:根据声学模型+发音词典+语音模型构建的搜索空间,找到最合适的路径。解码完成后最终输出文本。语音识别系统的组成一个完整的语音识别系统包括:预处理、特征提取、声学模型训练、语言模型训练语音解码器。预处理对输入的原始声音信号进行处理,过滤掉其中的背景噪音、非重要信息,还要对找到语音信号的开始和结束、语音分帧、提升高频部分的信号等操作。最常用的特征提取方法为梅尔顿到谱系数(MFCC),因为它拥有良好的抗噪性和健壮性。声学模型训练根据悬恋语音库的特征参数训练出声学模型参数,从而可以在识别时与声学模型进行匹配得到相应结果。目前主流语音识别系统一般都会采用HMM进行声学模型建模。语言模型训练用来预测哪个词序列正确的可能性更大。语音解码器解码器也就是语音识别技术中的识别过程,根据输入的语音信号,然后和训练好的HMM声学模型、语言模型、发音字典建立一个搜索空间,根据搜索算法找到最合适的路径。从而找到最合适的词串。语音识别的使用场景语音识别在日常生活中使用非常广泛主要分为封闭式和开放式应用。封闭式应用:主要指针对特定控制指令的应用。
  • [其他] 浅谈语音识别
    什么是语音语音指的是人类通过发声器官发出来具有一定意义、用来沟通交流的声音。计算机中语音存储:以波形文件的方式存储,通过波形反映语音的变化,从而可以获取音强、音长等参数信息。音域参数:傅利叶谱、梅尔频率到谱系数,主要用来提取语音内容以及音色的差别,用来更进一步辨别语音信息。什么是语音识别语音识别简单来说就是把语音内容自动转换为文字的过程,是人与机器交互的一种技术。涉及领域:声学、人工智能、数字信号处理、心理学等方面。语音识别的输入:对一段声音文件进行播放的序列。语音识别的输出:输出的结果是一段文本序列。语音识别的原理语音识别需要经过特征提取、声学模型、语音模型、语音解码和搜索算法四个部分。特征提取:把要分析的信号从最原始信号提取出来,这个阶段主要是对语音的幅度标准化、频响校正、分帧、加窗、始末端点检测等预处理操作,为声学模型提供需要特征向量。声学模型:依靠声学模型进行语音参数分析(语音共振峰频率、幅度等)和对语音的线性预测参数进行分析。语言模型:根据相关语言学理论,计算出声音片段可能词组序列的概率。语音解码和搜索算法:根据声学模型+发音词典+语音模型构建的搜索空间,找到最合适的路径。解码完成后最终输出文本。语音识别系统的组成一个完整的语音识别系统包括:预处理、特征提取、声学模型训练、语言模型训练、语音解码器。预处理对输入的原始声音信号进行处理,过滤掉其中的背景噪音、非重要信息,还要对找到语音信号的开始和结束、语音分帧、提升高频部分的信号等操作。特征提取最常用的特征提取方法为梅尔顿到谱系数(MFCC),因为它拥有良好的抗噪性和健壮性。声学模型训练根据悬恋语音库的特征参数训练出声学模型参数,从而可以在识别时与声学模型进行匹配得到相应结果。目前主流语音识别系统一般都会采用HMM进行声学模型建模。语言模型训练用来预测哪个词序列正确的可能性更大。语音解码器解码器也就是语音识别技术中的识别过程,根据输入的语音信号,然后和训练好的HMM声学模型、语言模型、发音字典建立一个搜索空间,根据搜索算法找到最合适的路径。从而找到最合适的词串。
  • [互动交流] RPA 控件里的非必填参数如何动态赋值
    动态读取不同sheet页的数据,但是不能指定sheet
  • [通用服务] 【AI使能】政务语音分析
    算法能力描述调用方式接口详细说明一句话识别一句话识别接口,用于短语音的同步识别。一次性上传1min以内音频,能快速返回识别结果。POST链接Websocket链接录音文件识别录音文件识别接口,用于识别长录音文件。POST链接GET链接语音合成语音合成,是一种将文本转换成逼真语音的服务。用户通过实时访问和调用API获取语音合成结果,将用户输入的文字合成为音频。通过音色选择、自定义音量、语速,为企业和个人提供个性化的发音服务。POST链接分类文档链接备注华为云在线课程语音处理理论、应用与实验(免费)链接本课程就语音处理的理论及应用做了介绍,介绍了大量具体的语音识别与语音合成的模型,不同模型各有特点,适应于不同的应用场AI技术应用场景--语音识别(收费)链接语音识别技术的应用在我们的日常生活中非常常见,人机交互、智能家居、智能问答等等,本课程将从语音识别的基础出发,带领大家一步步深入语音识别技术的内在机制,帮助大家讲语音识别技术快速落地到实际的应用场景中。