大数跨境

SenseVoicecpp编译[AI人工智能(六十五)]—东方仙盟

SenseVoicecpp编译[AI人工智能(六十五)]—东方仙盟 未来之窗软件服务中心
2026-04-01
11
源码准备
1.SenseVoicecpp

 2.ggml 模型源码

https://codeload.github.com/ggerganov/ggml/zip/refs/heads/master


环境工具准备

1.cmake



2.mingw64

环境变量


源码路径结构

ggml-master.zip解压后放入

SenseVoicecpp\sense-voice\csrc\third-party\ggml


编译步骤

1.进入源码

cd /d 磁盘\asr_sencpp\SenseVoicecpp\build

2. 运行 cmake

cmake .. -G "MinGW Makefiles"

3.编译

mingw32-make -j4

编译成功



编译过程cmake


编译后文件

部分源码



#ifndef SENSEVOICE_CPP_COMMON_H#define SENSEVOICE_CPP_COMMON_H
#include <cstdint>#include <string>#include <map>#include <set>#include <ggml-cpu.h>#include <ggml-cpp.h>#include <gguf.h>#include "sense-voice-frontend.h"

#ifdef __GNUC__#define SENSEVOICE_DEPRECATED(func, hint) func __attribute__((deprecated(hint)))#elif defined(_MSC_VER)#define SENSEVOICE_DEPRECATED(func, hint) __declspec(deprecated(hint)) func#else#define SENSEVOICE_DEPRECATED(func, hint) func#endif
#ifdef SENSEVOICE_SHARED#ifdef _WIN32#ifdef SENSEVOICE_BUILD#define SENSEVOICE_API __declspec(dllexport)#else#define SENSEVOICE_API __declspec(dllimport)#endif#else#define SENSEVOICE_API __attribute__((visibility("default")))#endif#else#define SENSEVOICE_API#endif
#define MIN(a, b) ((a) < (b) ? (a) : (b))#define MAX(a, b) ((a) > (b) ? (a) : (b))#if defined(_MSC_VER)#pragma warning(disable : 4244 4267)  // possible loss of data#endif
#if defined(GGML_BIG_ENDIAN)#include <bit>#include <math.h>#include "ggml-alloc.h"#include "ggml-backend.h"
template <typename T>static T byteswap(T value) {    return std::byteswap(value);}
template <>float byteswap(float value) {    return std::bit_cast<float>(byteswap(std::bit_cast<std::uint32_t>(value)));}
template <typename T>static void byteswap_tensor_data(ggml_tensor *tensor) {    T *datum = reinterpret_cast<T *>(tensor->data);    for (int i = 0; i < ggml_nelements(tensor); i++) {        datum[i] = byteswap(datum[i]);    }}
static void byteswap_tensor(ggml_tensor *tensor) {    switch (tensor->type) {        case GGML_TYPE_I16: {            byteswap_tensor_data<int16_t>(tensor);            break;        }        case GGML_TYPE_F16: {            byteswap_tensor_data<ggml_fp16_t>(tensor);            break;        }        case GGML_TYPE_I32: {            byteswap_tensor_data<int32_t>(tensor);            break;        }        case GGML_TYPE_F32: {            byteswap_tensor_data<float>(tensor);            break;        }        default: {  // GML_TYPE_I8            break;        }    }}
#define BYTESWAP_VALUE(d) d = byteswap(d)#define BYTESWAP_FILTERS(f)      \  do {                           \    for (auto &datum : f.data) { \      datum = byteswap(datum);   \    }                            \  } while (0)#define BYTESWAP_TENSOR(t) \  do {                     \    byteswap_tensor(t);    \  } while (0)#else#define BYTESWAP_VALUE(d) \  do {                    \  } while (0)#define BYTESWAP_FILTERS(f) \  do {                      \  } while (0)#define BYTESWAP_TENSOR(t) \  do {                     \  } while (0)#endif
#ifdef __GNUC__#ifdef __MINGW32__#define SENSE_VOICE_ATTRIBUTE_FORMAT(...) __attribute__((format(gnu_printf, __VA_ARGS__)))#else#define SENSE_VOICE_ATTRIBUTE_FORMAT(...) __attribute__((format(printf, __VA_ARGS__)))#endif#else#define SENSE_VOICE_ATTRIBUTE_FORMAT(...)#endif
#define SENSEVOICE_LOG_ERROR(...) \  sense_voice_log_internal(GGML_LOG_LEVEL_ERROR, __VA_ARGS__)#define SENSEVOICE_LOG_WARN(...) \  sense_voice_log_internal(GGML_LOG_LEVEL_WARN, __VA_ARGS__)#define SENSEVOICE_LOG_INFO(...) \  sense_voice_log_internal(GGML_LOG_LEVEL_INFO, __VA_ARGS__)
// define this to enable verbose trace logging - useful for debugging purposes#define SENSEVOICE_DEBUG
#if defined(SENSEVOICE_DEBUG)#define SENSEVOICE_LOG_DEBUG(...) \  sense_voice_log_internal(GGML_LOG_LEVEL_DEBUG, __VA_ARGS__)#else#define SENSEVOICE_LOG_DEBUG(...)#endif
#define SENSEVOICE_ASSERT(x)                                           \  do {                                                                 \    if (!(x)) {                                                        \      SENSEVOICE_LOG_ERROR("SENSEVOICE_ASSERT: %s:%d: %s\n", __FILE__, \                           __LINE__, #x);                              \      abort();                                                         \    }                                                                  \  } while (0)//// logging//




原创应该获得永久分成



原创创意共创、永久收益分成,是东方仙盟始终坚守的核心理念。我们坚信,每一份原创智慧都值得被尊重与回馈,以永久分成锚定共创初心,让创意者长期享有价值红利,携手万千伙伴向着科技星辰大海笃定前行,拥抱硅基 生命与数字智能交融的未来,共筑跨越时代的数字文明共同体。



  • 东方仙盟 

    东方仙盟:拥抱知识开源,共筑数字新生态

    在全球化与数字化浪潮中,东方仙盟始终秉持开放协作、知识共享的理念,积极拥抱开源技术与开放标准。我们相信,唯有打破技术壁垒、汇聚全球智慧,才能真正推动行业的可持续发展。

    开源赋能中小商户:通过将前端异常检测、跨系统数据互联等核心能力开源化,东方仙盟为全球中小商户提供了低成本、高可靠的技术解决方案,让更多商家能够平等享受数字转型的红利。
    共建行业标准:我们积极参与国际技术社区,与全球开发者、合作伙伴共同制定开放协议与技术规范,推动跨境零售、文旅、餐饮等多业态的系统互联互通,构建更加公平、高效的数字生态。
    知识普惠,共促发展:通过开源社区、技术文档与培训体系,东方仙盟致力于将前沿技术转化为可落地的行业实践,赋能全球合作伙伴,共同培育创新人才,推动数字经济 的普惠式增长

    阿雪技术观

    在科技发展浪潮中,我们不妨积极投身技术共享。不满足于做受益者,更要主动担当贡献者。无论是分享代码、撰写技术博客,还是参与开源项目维护改进,每一个微小举动都可能蕴含推动技术进步的巨大能量。东方仙盟是汇聚力量的天地,我们携手在此探索硅基生命,为科技进步添砖加瓦。


    Hey folks, in this wild tech - driven world, why not dive headfirst into the whole tech - sharing scene? Don't just be the one reaping all the benefits; step up and be a contributor too. Whether you're tossing out your code snippets, hammering out some tech blogs, or getting your hands dirty with maintaining and sprucing up open - source projects, every little thing you do might just end up being a massive force that pushes tech forward. And guess what? The Eastern FairyAlliance is this awesome place where we all come together. We're gonna team up and explore the whole silicon - based life thing, and in the process, we'll be fueling the growth of technology.  

    开通方法


    关注我们

    营销资讯:抖音运营,微信公众号运营,小红书运营

    网站运营:安全、备案、申请网站,漏洞扫描,数字证书

    开发:开发技巧、热点技术,人工智能,数据分析,数据优化,docker

    数据服务:数据恢复,数据安全,数据融合,数据异地容灾,数据优化,数据自动备份、数据清洗

    人工智能:智能物联网,智慧大屏幕,OCR,智慧刷脸,语音交互,智能机器人,数字生命,数字人,大模型,本地化,边缘化智能(手机模型)

    支付:微信支付服务商,支付支付服务商,刷脸支付

    安全服务:WAF安全,网安扫描,漏洞扫描,安全补丁,防火墙定制

    智慧大屏:物资耗材大屏幕,单位用餐大数据,智慧场馆大屏,销售大屏幕,智慧社区大屏幕,大厅查询机,景区自助机

    智慧酒店:酒店系统、酒店押金、酒店房价牌、酒店门锁、布草系统

    行业软件:酒店、餐饮、便利店,美发、超市,批发,景区门票,道闸,堂食,配送系统,烘培系统,健身,美容系统,月子中心系统

    物联网:智能衣柜,足浴店衣柜,售货柜,酒店自助入住机

    国产化:uos系统答疑,国产软件开发,国产服务器配置,docker

    一体化:酒店一体化(闸机,酒店系统,餐饮系统,售票,布草,无人酒店,在线订房),景区一体化(门票、餐饮、住宿、押金、超市、药店、商铺租赁,通车系统,售票大厅,大屏幕,无人景区,景区自助机)


          

    图片



【声明】内容源于网络
0
0
未来之窗软件服务中心
在线工单、售后、配送查询、附近商家 业务范围:餐饮、酒店、KTV、洗浴、客房、美容美发、糕点、POS收银系统 ;商城、团购、分销、众筹、医疗、学校、美容 ;OA、CRM、HRM;智能WIFI、产品、商家推广
内容 233
粉丝 0
未来之窗软件服务中心 在线工单、售后、配送查询、附近商家 业务范围:餐饮、酒店、KTV、洗浴、客房、美容美发、糕点、POS收银系统 ;商城、团购、分销、众筹、医疗、学校、美容 ;OA、CRM、HRM;智能WIFI、产品、商家推广
总阅读920
粉丝0
内容233