当前位置: 首页 > news >正文

sherpa-ncnn:Linux(x86/ARM32/ARM64)构建sherpa-ncnn --语音转文本大模型


更多内容:XiaoJ的知识星球


目录

  • 1.构建sherpa-ncnn
  • 2.运行
    • 2.1 运行sherpa-ncnn
    • 2.2 运行sherpa-ncnn-alsa


1.构建sherpa-ncnn

x86构建:

git clone https://github.com/k2-fsa/sherpa-ncnn
cd sherpa-ncnn
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j6

32-bit ARM构建:

git clone https://github.com/k2-fsa/sherpa-ncnn
cd sherpa-ncnn
mkdir build
cd build
cmake \-DCMAKE_BUILD_TYPE=Release \-DCMAKE_C_FLAGS="-march=armv7-a -mfloat-abi=hard -mfpu=neon" \-DCMAKE_CXX_FLAGS="-march=armv7-a -mfloat-abi=hard -mfpu=neon" \..
make -j6

64-bit ARM构建:

git clone https://github.com/k2-fsa/sherpa-ncnn
cd sherpa-ncnn
mkdir build
cd build
cmake \-DCMAKE_BUILD_TYPE=Release \-DCMAKE_C_FLAGS="-march=armv8-a" \-DCMAKE_CXX_FLAGS="-march=armv8-a" \..
make -j6

构建后,您将获得两个二进制文件:

  • sherpa-ncnn:用于解码单个wav文件;

  • sherpa-ncnn-alsa:用于通过读取带有 ALSA 的麦克风进行实时语音识别;

.

2.运行

请阅读 预训练模型 了解有关生成的二进制文件的用法。

2.1 运行sherpa-ncnn

单个语音文件解码测试

./sherpa-ncnn \
./tokens.txt \
./encoder_jit_trace-pnnx.ncnn.param \
./encoder_jit_trace-pnnx.ncnn.bin \
./decoder_jit_trace-pnnx.ncnn.param \
./decoder_jit_trace-pnnx.ncnn.bin \
./joiner_jit_trace-pnnx.ncnn.param \
./joiner_jit_trace-pnnx.ncnn.bin \
./1.wav \
3 \
greedy_search# 3:是指3个线程
# greedy_search:贪心搜索算法
# modified_beam_search:改进集束搜索算法

2.2 运行sherpa-ncnn-alsa

开发板上使用alsa架构从MIC说话测试。

./sherpa-ncnn-alsa \
./tokens.txt \
./encoder_jit_trace-pnnx.ncnn.param \
./encoder_jit_trace-pnnx.ncnn.bin \
./decoder_jit_trace-pnnx.ncnn.param \
./decoder_jit_trace-pnnx.ncnn.bin \
./joiner_jit_trace-pnnx.ncnn.param \
./joiner_jit_trace-pnnx.ncnn.bin \
"default" \
4 \
greedy_search# "default" : 指定音频设备
#    使用命令查看:arecord -l
#    "plughw:<card,device>": 如"plughw:3,0"
# 3:是指3个线程
# greedy_search:贪心搜索算法
# modified_beam_search:改进集束搜索算法

测试输出:

[root@...:sherpa]# ./sherpa-ncnn-alsa ./tokens.txt ./encoder_
jit_trace-pnnx.ncnn.param ./encoder_jit_trace-pnnx.ncnn.bin ./decoder_jit_trace-
pnnx.ncnn.param ./decoder_jit_trace-pnnx.ncnn.bin ./joiner_jit_trace-pnnx.ncnn.p
aram ./joiner_jit_trace-pnnx.ncnn.bin "default" 4 greedy_search
...
Disable fp16 for Zipformer encoder
Don't Use GPU. has_gpu: 0, config.use_vulkan_compute: 1
Failed to set number of channels to 1. Invalid argument
Channel count is set to 2. Will use only 1 channel of it.
Current sample rate: 16000
Recording started!
Use recording device: default
0:这是一段测试^C
Caught Ctrl + C. Exiting...

.


声明:资源可能存在第三方来源,若有侵权请联系删除!

相关文章:

sherpa-ncnn:Linux(x86/ARM32/ARM64)构建sherpa-ncnn --语音转文本大模型

更多内容&#xff1a;XiaoJ的知识星球 目录 1.构建sherpa-ncnn2.运行2.1 运行sherpa-ncnn2.2 运行sherpa-ncnn-alsa 1.构建sherpa-ncnn x86构建&#xff1a; git clone https://github.com/k2-fsa/sherpa-ncnn cd sherpa-ncnn mkdir build cd build cmake -DCMAKE_BUILD_TYPE…...

nc工具!Netcat:TCP/IP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 Netcat 是一个简单的 Unix 实用程序&#xff0c;使用 TCP 或 UDP 协议跨网络连接读写数据。它被设计为一个可靠的“后端”工具&#xff0c;可以直接使用&#xff0c;也可以由其他程序和脚本轻松驱动。同时&#xff0c;它也是一个功能丰富的网络调试和探索工具&#xff0c…...

【持续更新】 CDC 跨时钟域处理

在之前的专栏《硬件架构的艺术》里&#xff0c;有讲过亚稳态以及多个时钟的处理办法&#xff0c;但是感觉还是太宽泛了些&#xff0c;不太好理解。在这篇博客里&#xff0c;将主要参考《Clock Domain Crossing (CDC) Design & Verification Techniques Using SystemVerilog…...

Mybatis-Plus,IDEA2024版本

目录 1、Mybatis-Plus介绍 2、Mybatis-Plus作用 3、Mybatis-Plus使用 1、引入依赖 2、配置数据库 3、生成代码 1、Mybatis-Plus介绍 Mybatis-Plus是在Mybatis的基础上进行的功能拓展&#xff0c;也就是Mybatis有的功能&#xff0c;Plus也有&#xff0c;而且比Mybatis更好用…...

LeNet5 神经网络的参数解析和图片尺寸解析

1.LeNet-5 神经网络 以下是针对 LeNet-5 神经网络的详细参数解析和图片尺寸变化分析&#xff0c;和原始论文设计&#xff0c;通过分步计算说明各层的张量变换过程。 经典的 LeNet-5架构简化版&#xff08;原始论文输入为 32x32&#xff0c;MNIST 常用 28x28 需调整&#xff09…...

hadoop-3.3.5.tar.gz 镜像

清华大学镜像站 wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz 阿里云镜像站 wget https://mirrors.aliyun.com/apache/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz 华为云镜像站 wget https://mirrors.huaweiclo…...

SD2351核心板:重构AI视觉产业价值链的“超级节点”

在AI视觉技术狂飙突进的当下&#xff0c;一个吊诡的现象正在浮现&#xff1a;一方面&#xff0c;学术界不断刷新着ImageNet等基准测试的精度纪录&#xff1b;另一方面&#xff0c;产业界却深陷“算法有、场景无&#xff0c;技术强、落地难”的怪圈。明远智睿SD2351核心板的问世…...

C++23中if consteval / if not consteval (P1938R3) 详解

文章目录 引言基本概念consteval 回顾if consteval 和 if not consteval 的定义语法规则 设计目的解决现有问题增强代码的可读性和可维护性提高代码的性能和安全性 使用示例简单示例复杂示例 与其他特性的对比与 if constexpr 的对比与 std::is_constant_evaluated() 的对比 实…...

IPOF(Input-Process-Output-Feedback)方法学简介

一、背景知识&#xff1a;IPO与IPOF的基本概念 1. IPO&#xff08;Input-Process-Output&#xff0c;输入-处理-输出&#xff09; IPO是计算机科学、系统工程和设计领域中最基础的模型之一&#xff0c;用于描述系统如何将输入通过处理逻辑转换为输出。其核心是线性的单向流程…...

第十二天 使用Unity Test Framework进行自动化测试 性能优化:Profiler分析、内存管理

前言 在完成游戏核心功能开发后&#xff0c;如何确保项目质量并成功发布到各大平台&#xff1f;本文将从自动化测试到商店上架&#xff0c;手把手教你构建完整的游戏开发闭环。使用Unity 2022 LTS版本进行演示&#xff0c;所有代码均经过实际项目验证。 一、自动化测试实战&am…...

图解YOLO(You Only Look Once)目标检测(v1-v5)

1. YOLO系列整体介绍 YOLO属于深度学习经典检测方法中的单阶段&#xff08;one - stage&#xff09;类型&#xff0c;与两阶段&#xff08;two - stage&#xff0c;如Faster - rcnn、Mask - Rcnn系列&#xff09;方法相对。 不同模型性能 单阶段方法的最核心优势是速度非常快…...

U8G2在PC端模拟(C语言版本)

前提&#xff1a; 电脑已经准备好mingw编译器环境&#xff0c;已经加入环境变量. 测试方法&#xff1a; window下打开cmd,输入gcc -v 会有信息打印. u8g2 u8g2官方支持sdl2接口&#xff0c;已经做好了适配. 所以只需要在使用的开发环境配置好SDL2路径即可. sdl2和u8g2的适配…...

mac brew 无法找到php7.2 如何安装php7.2

mac brew 无法找到php7.2 如何安装php7.2 原因是升级过高版本的brew后已经不支持7.2了&#xff0c;但可以通过第三方工具来安装 brew tap shivammathur/php brew install shivammathur/php/php7.2标题安装完成后会提示以下信息&#xff1a; The php.ini and php-fpm.ini fil…...

苹果新规生效:即日起不再接受iOS 17 SDK编译的应用提交

今天&#xff08;2025年4月25日&#xff09;&#xff0c;苹果公司正式实施了一项重要的开发者政策变更&#xff1a;所有提交至App Store Connect的应用必须使用iOS 18 SDK或更高版本编译&#xff0c;这意味着基于iOS 17.2及更早版本SDK构建的应用将无法再被提交审核。 这一错误…...

OpenCv高阶(九)——背景建模

目录 一、背景建模的核心目标与核心挑战 1. 核心目标 2. 核心挑战 ​二、背景建模模型 1、帧差法原理 2. 概率模型&#xff08;Parametric Models&#xff09; &#xff08;1&#xff09;高斯混合模型&#xff08;Gaussian Mixture Model, GMM&#xff09; &#xff08;…...

Docker Macvlan网络配置实战:解决“network already exists“错误

一、Macvlan网络的应用场景 Macvlan是Docker支持的多种网络驱动之一&#xff0c;它允许容器直接绑定到宿主机的物理接口&#xff0c;为每个容器分配独立的MAC地址。这种网络模式特别适合需要容器直接暴露在物理网络中的场景&#xff0c;例如&#xff1a; • IoT设备直接通信 …...

Android——Activity与Fragment通信

Activity向Fragment传递数据 Activity.java Bundle bundle new Bundle();bundle.putString("message", "wonima");BlankFragment bf new BlankFragment();bf.setArguments(bundle);Fragment.java Overridepublic View onCreateView(LayoutInflater infl…...

38 python random

在实际中,我们常常会用到随机的概念,比如 模拟抽奖活动(如:月度优秀员工抽奖)生成测试数据(如:随机考勤时间、随机销售额)打乱数据顺序(如:随机分配任务到人)Python 的random模块就像你的 "随机事件生成器",帮你轻松创建各种随机数据 一、基础操作:从随…...

二叉树的遍历(广度优先搜索)

二叉树的第二种遍历方式&#xff0c;层序遍历&#xff0c;本质是运用队列对二叉树进行搜索。 层序遍历是指将二叉树的每一层按顺序遍历&#xff0c;通过队列实现就是先将根节点push入队&#xff0c;统计此时的队列中的元素数量size&#xff0c;将size元素全部pop出去&#xff0…...

设备接入与APP(应用程序)接入华为云iotDA平台的详细操作步骤及获取方式

壹、设备登录 IoTDA 的通关清单详细操作路径及获取方式 下面将之前整理的“设备登录 IoTDA 的通关清单”补充为带有详细操作路径的实用指南&#xff0c;逐项说明这些信息在哪里查、怎么查、怎么用&#xff0c;可以一步步操作落地&#xff0c;无需额外查文档。 ✅【完整版】设备…...

100个用户的聊天系统:轮询 vs WebSocket 综合对比

&#x1f4ca; 对比表 对比维度普通轮询&#xff08;Polling&#xff09;WebSocket实时性⏳ 一般&#xff08;延迟轮询间隔&#xff09;例如 5 秒轮询&#xff0c;平均延迟 2.5 秒⚡️ 高&#xff08;消息可毫秒级送达&#xff09;数据库压力&#x1f6a8; 高&#xff08;每次…...

第四章第四节 Spark-Streaming核心编程(三)

打开kafka集群 Spark Streaming支持多种数据源接入方式&#xff0c;有两种典型场景 基于Filebeat的目录监控&#xff1a;通过Filebeat实时监控指定目录&#xff08;如日志目录&#xff09;&#xff0c;将新增文件内容采集并推送至Kafka消息队列。这种方式适用于需要持久化数据的…...

IDEA编写flinkSQL(快速体验版本,--无需配置环境)

相关资料 文档内容链接地址datagen生成器https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/connectors/table/datagen/print 生成器https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/connectors/table/print/ 准备工作 优点就是下载个ide…...

树莓派4B+Ubuntu24.04 电应普超声波传感器串口输出 保姆级教程

1. 背景 我的机器人上要用到超声波测距&#xff0c;因此就选了电应普的1拖4的超声波测距模块。用的是UART受控输出。这个模块的使用很简单&#xff0c;这里做一个笔记&#xff0c;也是对大家的一个参考。 2. 保姆级教程 刚刚说了&#xff0c;这东西很简单&#xff0c;就是一…...

Aloudata Agent :基于 NoETL 明细语义层的分析决策智能体

今天的分享包含四方面内容。首先&#xff0c;谈谈企业在数据分析智能体&#xff08;Agent&#xff09;探索时所面临的挑战&#xff1b;其次&#xff0c;介绍 Aloudata Agent 的关键技术创新点&#xff1b;第三&#xff0c;作为首次亮相&#xff0c;我们将通过产品演示揭晓产品 …...

C++学习-入门到精通-【1】C++编程入门,输入/输出和运算符

C学习-入门到精通-【1】C编程入门&#xff0c;输入/输出和运算符 C编程入门&#xff0c;输入/输出和运算符 C学习-入门到精通-【1】C编程入门&#xff0c;输入/输出和运算符第一个C程序&#xff1a;输出一行文本算术运算 第一个C程序&#xff1a;输出一行文本 // 文本打印程序…...

力扣-234.回文链表

题目描述 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 class Solution { public:bool isPalindrome(ListNode* head) {//快慢指针找到中间结点p1&#xff08;偶数个结点…...

Electron从入门到入门

项目说明 项目地址 项目地址&#xff1a;https://gitee.com/ruirui-study/electron-demo 本项目为示例项目&#xff0c;代码注释非常清晰&#xff0c;给大家当做入门项目吧。 其实很多东西都可以在我这基础上添加或修改、市面上有些已开源的项目&#xff0c;但是太臃肿了&am…...

【华为HCIP | 华为数通工程师】821—多选解析—第十七页

多选835、IS-IS协议所使用的NSAP地址主要由哪几个部分构成? A、AREA ID B、SEL C、DSCp D、SYSTEM ID 解析:NSAP地址:网络服务访问点(Network Service Access Point)是 OSI 协议中用于定位资源的地址。NSAP 的地址结构如图所示,它由 IDP(Initial Domain …...

electron-builder 打包安装与启动手动安装,最终解决方案,之前的文章与其他的人都不用看了。

介绍 最近官网出了个electron-forge,但打包之后的软件包有问题会有个多余的遮罩物挡在软件的最前面,太恶心了。研究了很久硬是没法去掉。没办法只能重温electron-builder工具来进行打包。之前用过这个安装过一次,也是耗费了好几天。而且也做好了笔记,有资料的情况下,我万万…...

conda安装cuda+cudnn+pytorch【一条龙服务,以cuda12.1版本为例】

安装步骤在Windows和ubuntu系统中应该是一致的&#xff0c;建议浏览一遍文章再尝试配置环境 一、创建新的虚拟环境 这里以Anaconda为例&#xff0c;打开终端 创建新的虚拟环境&#xff0c;test_torch可替换为别的名字&#xff08;自定义&#xff09;&#xff0c;3.10也可以改…...

ElementUi的tabs样式太难修改,自定义tabs标签页

ElementUi的Tabs组件在某些情况下难以是自己想要的样式&#xff0c;这时候自定义 Tabs 会是一个更好的选择&#xff0c;可以根据自己想要而设置样式&#xff0c;如图&#xff1a; 一、ElementUi的Tabs样式 链接&#xff1a;Tabs 标签页 | Element Plus 基础&#xff1a; 选…...

制作一款打飞机游戏23:编辑器ui

今天&#xff0c;我想重点介绍编辑器的实际用户界面&#xff08;UI&#xff09;。 关于Excel的讨论 很多人使用Excel来编辑他们程序的数据&#xff0c;因为大多数时候它都能很好地完成工作。Excel就像是一把瑞士军刀&#xff0c;可以修改各种数据。但是&#xff0c;在某些情况…...

课程9. 机器翻译,Seq2Seq与Attention

课程9. 机器翻译&#xff0c;Seq2Seq与Attention 机器翻译的任务. Seq2Seq 架构通过实战理解加载和预处理数据构建 Seq2Seq 模型编码器解码器Seq2Seq网络训练 Seq2Seq 架构问题注意力机制&#xff08;Attention&#xff09;注意选项Transformer 架构介绍——BERT 课程计划 机器…...

ASP.NET MVC​ 入门指南二

9. 表单处理与提交 9.1 创建表单视图 在视图文件夹下创建一个用于创建产品的视图&#xff0c;如 Create.cshtml&#xff1a; html model YourNamespace.Product{ViewBag.Title "创建产品"; }<h2>创建产品</h2>using (Html.BeginForm()) {Html.Anti…...

JavaWeb学习打卡-Day3-MyBatis相关

MyBatis 什么是MyBatis? MyBatis是一款优秀的持久层框架&#xff0c;用于简化JDBC的开发。MyBatis免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 JDBC JDBC&#xff08;Java DataBase Connectivity&#xff09;&#xff1a;使用Java语言操作关系型数据库的…...

浅谈AI Agent 演进之路

1、了解下 AI Agent 的定义 AI Agent&#xff08;人工智能代理&#xff09;简单来说是一种能够感知环境、进行决策和执行动作的智能实体。与传统的人工智能相比&#xff0c;AI Agent 具备独立思考和调用工具逐步完成目标的能力。 例如&#xff1a;当要求 AI Agent 帮助下单外…...

佳博票据和标签打印:Web网页端与打印机通信 | iOS

文章目录 引言I Web网页端与打印机通信webSDK(包含示例页)打印测试II iOS与佳博打印机通信引言 佳博工具下载ESC是票据打印指令,TSC是标签打印指令 工业打印机:佳博GP-H430F工业机标签条码打印机物流快递电子面单条码机碳带机 应用场景:打印商品价格标签、打印交易小票 I…...

视频噪点多,如何去除画面噪点?

你是否遇到过这样的困扰&#xff1f;辛辛苦苦拍摄的视频&#xff0c;导出后却满屏 “雪花”&#xff0c;夜景变 “噪点盛宴”&#xff0c;低光环境秒变 “马赛克现场”&#xff1f; 无论是日常拍摄的vlog、珍贵的家庭录像&#xff0c;还是专业制作的影视作品&#xff0c;噪点问…...

微信小程序直传阿里云 OSS 实践指南(V4 签名 · 秒传支持 · 高性能封装)

文章目录 前言一、为什么要使用直传 OSS&#xff1f;二、整体架构与实现思路三、阿里云 OSS 配置&#xff08;V4 签名&#xff09;1. 权限设置2. 后端生成签名参数&#xff08;返回给小程序&#xff09; 四、微信小程序端上传流程&#xff08;功能模块拆解与封装&#xff09;第…...

云原生--核心组件-容器篇-1-Docker和云原生关系(Docker是云原生的基石)

1、基本概念 &#xff08;1&#xff09;、云原生&#xff08;Cloud Native&#xff09; 是一种构建和运行应用程序的方法论&#xff0c;旨在充分利用云计算环境&#xff08;公有云、私有云、混合云&#xff09;的特性&#xff0c;通过容器化、微服务、服务网格、声明式API等技…...

GAEA情感坐标背后的技术原理

基于GAEA的去中心化物理基础设施网络&#xff08;DePIN&#xff09;&#xff0c;用户有机会在GAEA平台上获得宝贵的数据共享积分。为了提升这些洞察的丰富性&#xff0c;用户必须花费一定数量的积分&#xff0c;将过去的网络数据与当前的情感数据绑定&#xff0c;从而产生一种新…...

day01_编程语言介绍丶Java语言概述丶开发环境搭建丶常用DOS命令

编程语言介绍 ‌编程语言是一种用于人与计算机之间通信的语言&#xff0c;允许程序员编写代码&#xff0c;这些代码告诉计算机要执行哪些操作‌。编程语言可以被视为计算机可以理解并执行的指令集合&#xff0c;它是一种标准化的交流技巧&#xff0c;用于向计算机发出指令。‌…...

STM32系列官方标准固件库的完整下载流程

一、官网导航与版本确认 访问ST官网 打开浏览器进入 ST官网&#xff0c;点击左侧 “工具与软件” 标签&#xff0c;展开后选择 “嵌入式软件” 。若页面未直接显示&#xff0c;可在搜索框输入“STM32 Standard Peripheral Libraries”查找。 → “STM32标准外设库”&#xff0…...

Android 14 系统统一修改app启动时图标大小和圆角

Android 14 统一修改app启动时图标大小和圆角 修改如下&#xff1a; 目录&#xff1a;frameworks/base/core/java/android/window/SplashScreenView.java frameworks/base/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.ja…...

MySQL 详解之函数:数据处理与计算的利器

在 MySQL 中,函数可以接受零个或多个输入参数,并返回一个值。这些函数可以在 SELECT 语句的字段列表、WHERE 子句、HAVING 子句、ORDER BY 子句以及 UPDATE 和 INSERT 语句中使用。合理利用函数,可以简化 SQL 语句,提高开发效率。 MySQL 提供了大量的内置函数 (Built-in F…...

Tailwind CSS 实战:基于 Kooboo 构建企业官网页面(一)

目录 一、技术选型&#xff1a;为什么选择Tailwind Kooboo&#xff1f; 二、CDN方案 vs 传统安装 三、CDN方式实战步骤 一、技术选型&#xff1a;为什么选择Tailwind Kooboo&#xff1f; 1.1 黄金组合优势 Tailwind CSS&#xff1a;原子化CSS框架&#xff0c;提供&#x…...

Java基础 — 条件结构与随机数

介绍 Java条件结构与随机数是程序逻辑控制的重要工具。条件结构通过if-else和switch实现分支判断&#xff1a;if(条件){代码}用于单分支&#xff0c;else if添加多条件判断&#xff0c;switch则基于固定值匹配不同case。随机数生成常用两种方式&#xff1a;Math.random()方法返…...

AI网络渗透kali应用(gptshell)

kali安装gptshell 一、shellGPT 工具介绍 ShellGPT‌是一款由AI大型语言模型&#xff08;LLM&#xff09;驱动的终端命令行工具。它能帮助用户直接在终端与AI交互&#xff0c;自动生成、解释、执行各类 Linux 命令&#xff0c;大大提升了运维和开发效率。ShellGPT 支持接入 O…...

如何实现Android屏幕和音频采集并启动RTSP服务?

技术背景 在移动直播和视频监控领域&#xff0c;实现高效的屏幕和音频采集并提供流媒体服务是关键技术之一。本文将详细介绍如何基于大牛直播SDK实现Android屏幕和麦克风/扬声器采集&#xff0c;并启动轻量级RTSP服务以对外提供拉流的RTSP URL。在Android平台上&#xff0c;轻…...