《从Kokoro看开源语音模型的“无限可能”》:此文为AI自动生成
开源语音模型 Kokoro 是一款轻量级、高性能的文本转语音(TTS)模型,以下是关于它的详细介绍:
核心优势
- 卓越的音质:即使参数规模仅 8200 万,也能生成自然流畅、富有表现力的语音。
- 轻量高效:占用资源少,运行速度快,在 CPU 上即可实现近乎实时的语音生成,在 GPU 端则能达到惊人的 50 倍实时速度,对硬件要求低。
- 易于部署:采用 Apache 2.0 许可,可将其部署到任何地方,从生产环境到个人项目,无需担心版权问题。
- 多语言支持:支持中文、英语、日语、法语、意大利语、葡萄牙语、西班牙语、印地语共 8 种语言的文字合成配音。
- 完全免费开源:可自由地使用、修改和分发。
- 工具链简单易用:提供简洁直观的 Web UI 界面,无需编写代码即可体验其强大功能,支持文字转语音、SRT 字幕配音、在线试听和下载语音文件、字幕对齐等功能。
- 接口兼容性高:API 接口与 OpenAI TTS 接口高度兼容,使用 OpenAI SDK 的用户可无缝切换,只需修改 base_url 即可。
技术架构
基于 StyleTTS 2 和 ISTFTNet 的混合架构,采用纯解码器设计,不使用扩散模型,降低了计算复杂度,具备出色的语音合成效果和实时处理能力。
应用场景
- 语音助手:为智能设备提供自然流畅的语音交互,如智能音箱、智能客服等。
- 广告配音:根据广告风格生成特定音色的配音,帮助提升广告的吸引力和感染力。
- 有声读物:将文本转换为高质量语音,提供便捷的听书体验,方便用户在各种场景下享受阅读。
- 游戏和动画:为游戏和动画中的角色配音,增强沉浸感,使角色形象更加生动。
- 视频制作:为视频添加旁白、字幕配音等,提升视频的质量和观赏性。
安装使用
- Windows 整合包:可从https://github.com/jianchang512/kokoro-uiapi/releases下载整合包并解压,通过 start.bat 启动服务。
- Linux/MacOS 源码部署
- 确保已安装 Python 3.8+(建议 3.10-3.11)和 ffmpeg。
- 拉取源码:
git clone https://github.com/jianchang512/kokoro-uiapi
。 - 创建并激活虚拟环境:
cd kokoro-uiapi
,python3 -m venv venv
,. venv/bin/activate
。 - 安装依赖:
pip3 install -r requirements.txt
。 - 启动服务:
python3 app.py
。
语音合成新时代:Kokoro 模型横空出世
在当今人工智能技术飞速发展的时代,语音合成领域正经历着一场前所未有的变革。随着文本转语音(TTS)技术在日常生活中的应用越来越广泛,从智能语音助手到有声读物,再到影视游戏中的角色配音,人们对 TTS 模型的性能和质量提出了更高的要求。在这个竞争激烈的领域中,一款名为 Kokoro 的开源语音模型犹如一匹黑马,横空出世,迅速吸引了全球开发者和用户的目光。
Kokoro 的惊艳亮相,首先体现在其在 TTS Arena 排行榜上的卓越表现。TTS Arena 是一个专门用于评估语音合成模型的权威平台,其评估方式基于用户的真实投票,具有极高的可信度。在这个平台上,Kokoro 面对众多强大的竞争对手,其中不乏一些参数规模巨大、训练资源丰富的知名模型,却能脱颖而出,一举夺得排行榜的第一名,这无疑是对其强大性能的有力证明。
长期以来,在语音合成领域,人们普遍认为模型的性能与参数规模密切相关,即参数越多,模型的表现就越好。这种观念在一定程度上推动了大模型的发展,许多研究和开发都围绕着如何扩大模型规模、增加参数数量展开。然而,Kokoro 的出现,彻底打破了这一传统认知。它仅拥有 82M 的参数量,与那些动辄数亿甚至数十亿参数的大型模型相比,显得极为小巧玲珑。但就是这样一个 “小身材” 的模型,却展现出了 “大能量”,在语音合成的各项指标上,都达到了甚至超越了一些大模型的水平。
Kokoro 的成功,不仅仅是技术上的突破,更是为整个开源语音模型领域开辟了新的道路。它证明了,即使在资源有限的情况下,通过创新的算法设计、高效的训练策略和精心挑选的训练数据,也能够打造出高性能的语音合成模型。这一理念,为广大开发者和研究人员提供了新的思路和方向,激发了他们在开源语音领域的创新热情。许多开发者开始借鉴 Kokoro 的经验,尝试开发更加轻量化、高效的语音模型,推动了整个开源语音生态的繁荣发展。
Kokoro 支持多语种,包括英、法、日、韩、中,能够满足不同地区、不同语言背景用户的需求。这一特性使得 Kokoro 在全球范围内都具有广泛的应用前景,无论是在欧美地区的英语市场,还是在亚洲的中文、日语、韩语市场,Kokoro 都能为用户提供高质量的语音合成服务。同时,其开源协议为可商用的 Apache 2.0 许可,这意味着开发者可以在商业项目中自由使用 Kokoro,无需担心版权问题,进一步促进了其在商业领域的应用和推广。许多中小型企业和创业公司,因为 Kokoro 的出现,能够以较低的成本开发出具有高质量语音交互功能的产品,提升了自身的竞争力。
Kokoro 模型的 “超能力”
(一)参数小,性能强
在语音合成领域,模型的参数规模一直是衡量其性能的重要指标之一。长期以来,人们普遍认为,更大的参数规模意味着模型能够学习到更丰富的语言特征和语音模式,从而生成更自然、更准确的语音。因此,许多研究团队和企业在开发语音合成模型时,都致力于增加模型的参数数量,以提升模型的性能。然而,Kokoro 模型的出现,打破了这一传统观念。它仅拥有 8200 万参数,与那些动辄数亿甚至数十亿参数的大型模型相比,显得微不足道。但令人惊讶的是,Kokoro 在语音合成任务中的表现却毫不逊色,甚至在某些方面超越了这些大参数模型。
Kokoro 之所以能够在参数规模较小的情况下实现卓越的性能,得益于其独特的模型架构和优化的训练算法。Kokoro 采用了一种创新的神经网络架构,这种架构在设计上更加注重对语音特征的高效提取和表达。它通过精心设计的模块和连接方式,使得模型能够在有限的参数下,充分捕捉语音中的各种信息,包括音素、韵律、语调等。与传统的语音合成模型相比,Kokoro 的架构更加简洁高效,避免了因参数过多而导致的计算资源浪费和过拟合问题。
Kokoro 在训练过程中采用了一系列先进的优化算法和技术。这些算法和技术能够有效地提高模型的训练效率和收敛速度,使得模型能够在较短的时间内学习到高质量的语音合成能力。例如,Kokoro 使用了自适应学习率调整算法,能够根据训练过程中的反馈自动调整学习率,从而加快模型的收敛速度;同时,它还采用了数据增强技术,通过对训练数据进行多样化的变换和扩充,增加了数据的多样性,提高了模型的泛化能力。
Kokoro 在 TTS Arena 榜单中的成绩,是其参数小、性能强的有力证明。在 TTS Arena 这个汇聚了众多优秀语音合成模型的排行榜上,Kokoro 凭借其出色的表现,一举夺得第一名的宝座。这一成绩的取得,不仅展示了 Kokoro 在语音合成领域的领先地位,也证明了参数规模并不是决定模型性能的唯一因素。与其他大参数模型相比,Kokoro 在语音自然度、清晰度和表现力等方面都表现出色。它生成的语音流畅自然,语调丰富,能够准确地传达文本中的情感和意图,让用户听起来感觉仿佛是在与真人交流。
(二)多语言支持
在全球化的今天,多语言交流变得越来越频繁。无论是在商业领域、教育领域还是文化交流领域,人们都需要能够快速、准确地进行跨语言沟通。语音合成技术作为实现人机交互和信息传播的重要工具,多语言支持能力显得尤为重要。Kokoro 模型在这方面表现出色,它支持多种语言,包括英语、法语、日语、韩语和中文等。这使得 Kokoro 能够满足不同地区、不同语言背景用户的需求,为全球用户提供高质量的语音合成服务。
对于英语用户,Kokoro 提供了丰富的语音选择,包括美式英语和英式英语的多种音色。无论是想要一个充满活力的美式口音,还是一个优雅的英式口音,Kokoro 都能满足用户的需求。在法语方面,Kokoro 能够准确地发音,并且能够很好地还原法语独特的韵律和语调,让法语使用者能够感受到母语般的亲切。对于日语和韩语,Kokoro 也进行了深入的优化,能够准确地处理这两种语言中复杂的音节和发音规则,生成自然流畅的语音。
特别值得一提的是 Kokoro 对中文的支持。中文是一种具有独特语法和发音系统的语言,对语音合成技术提出了很高的要求。Kokoro 通过精心设计的中文语言模型和大量的中文数据训练,能够准确地识别和处理中文文本,生成清晰、自然的中文语音。无论是普通话还是一些方言,Kokoro 都能够尽力还原其独特的语音特点,为中文用户提供了优质的语音合成体验。
Kokoro 的多语言支持功能,为全球用户带来了极大的便利。在跨国商务交流中,使用 Kokoro 可以将商务文件、会议资料等快速转换为不同语言的语音,方便不同国家的团队成员进行沟通和协作。在教育领域,Kokoro 可以作为语言学习工具,帮助学生学习不同语言的
相关文章:
《从Kokoro看开源语音模型的“无限可能”》:此文为AI自动生成
开源语音模型 Kokoro 是一款轻量级、高性能的文本转语音(TTS)模型,以下是关于它的详细介绍: 核心优势 卓越的音质:即使参数规模仅 8200 万,也能生成自然流畅、富有表现力的语音。轻量高效:占用资源少,运行速度快,在 CPU 上即可实现近乎实时的语音生成,在 GPU 端则能…...
Spring 事务和事务传播机制(详解)
1 .事务 1.1.什么是事务? 事务是一组操作的集合,是不可分割的操作 事务作为一个整体,要不同时完成,要不同时失败 1.2什么时候需要事务? 关于金钱的操作基本都会有事务 例如转账操作: 第一步 A账号 - 500元第二步 B账…...
Innodb MVCC实现原理
什么是MVCC? MVCC全称多版本并发控制,是在并发访问数据库时对操作数据做多版本管理,避免因为写数据时要加写锁而阻塞读取数据的请求问题。 Innodb对mvcc的实现 1、事务版本号 每次事务开启前都会从数据库获得一个自增长的事务ID,可以从事…...
【网络编程】网络套接字和使用案例
一、为什么大多数网络编程使用套接字 在网络编程中,套接字 (socket) 是最常用的接口,但并不是所有的底层通信都依赖于套接字。尽管如此,绝大多数网络应用(特别是在操作系统层面)都使用套接字进行通信,因为…...
【Java企业生态系统的演进】从单体J2EE到云原生微服务
Java企业生态系统的演进:从单体J2EE到云原生微服务 目录标题 Java企业生态系统的演进:从单体J2EE到云原生微服务摘要1. 引言2. 整体框架演进:从原始Java到Spring Cloud2.1 原始Java阶段(1995-1999)2.2 J2EE阶段&#x…...
【爬虫基础】第二部分 爬虫基础理论 P1/3
上节内容回顾:【爬虫基础】第一部分 网络通讯 P1/3-CSDN博客 【爬虫基础】第一部分 网络通讯-Socket套接字 P2/3-CSDN博客 【爬虫基础】第一部分 网络通讯-编程 P3/3-CSDN博客 爬虫相关文档,希望互相学习,共同进步 风123456789ÿ…...
第2章_保护您的第一个应用程序
第2章_保护您的第一个应用程序 在本章中,您将学习如何使用 Keycloak 保护您的第一个应用程序。为了让事情更有趣,您将运行的示例应用程序由两部分组成,前端 Web 应用程序和后端 REST API。这将向您展示用户如何向前端进行身份验证࿰…...
山东大学软件学院人工智能导论实验之知识库推理
目录 实验目的: 实验代码: 实验内容: 实验结果 实验目的: 输入相应的条件,根据知识库推理得出相应的知识。 实验代码: def find_data(input_process_data_list):for epoch, data_process in enumerat…...
Java 网络协议面试题答案整理,最新面试题
TCP和UDP的主要区别是什么? TCP(传输控制协议)和UDP(用户数据报协议)的主要区别在于TCP是面向连接的协议,而UDP是无连接的协议。这导致了它们在数据传输方式、可靠性、速度和使用场景方面的不同。 1、连接…...
win10把c盘docker虚拟硬盘映射迁移到别的磁盘
c盘空间本身就比较小、如果安装了docker服务后,安装的时候没选择其他硬盘,虚拟磁盘也在c盘会占用很大的空间,像我的就三十多个G,把它迁移到其他磁盘一下子节约几十G 1、先输入下面命令查看 docker 状态 wsl -l -v 2、如果没有停止…...
AOP进阶-02.通知顺序
一.通知顺序 当有多个切面类中的切入点表达式一样时,这些切面类的执行顺序是怎样的呢?如图我们将定义两个切面类,一个MyAspect2,一个MyAspect3,一个MyAspect4。执行后我们发现, 对于目标方法前的通知方法&…...
${sym} 与 String(sym) 的区别
在 JavaScript 中,${sym}(模板字符串插值)和 String(sym)(显式类型转换)虽然都涉及将值转换为字符串,但它们的底层逻辑和行为存在显著差异,尤其是在处理 Symbol 等特殊类型时。以下是具体对比&a…...
sglang框架源码笔记
文章目录 整体架构1. **客户端(Client)**:2. **服务器端(Server)**:3. **调度器与模型工作节点(Scheduler & Model Worker)**: TpModelWorker类ModelRunner类TpModel…...
2025年SCI一区智能优化算法:混沌进化优化算法(Chaotic Evolution Optimization, CEO),提供MATLAB代码
一、混沌进化优化算法 https://github.com/ITyuanshou/MATLABCode 1. 算法简介 混沌进化优化算法(Chaotic Evolution Optimization, CEO)是2025年提出的一种受混沌动力学启发的新型元启发式算法。该算法的主要灵感来源于二维离散忆阻映射的混沌进化过…...
uake 网络安全 reverse网络安全
🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 本文首发于“合天网安实验室” 首先从PEID的算法分析插件来介绍,要知道不管是在CTF竞赛的REVERSE题目中,还是在实际的商业产品中…...
C语言实现单链表
单链表是数据结构中最基础的链式结构,它不按照线性的顺序存储数据,而是由若干个同一结构类型的“节点”依次串联而成的,即每一个节点里保存着下一个节点的地址(指针)。 上图中,一个表头变量head是用来存储链表首节点的地址,链表中每个节点有data(数据)部分和n…...
Rk3568驱动开发_点亮led灯代码完善(手动挡)_6
1.实现思路: 应用层打开设备后通过write函数向内核中写值,1代表要打开灯,0代表要关闭灯 Linux配置gpio和控制gpio多了一个虚拟内存映射操作 2.注意事项: 配置和读写操作的时候要谨慎,比如先关掉gpio再注销掉虚拟内存…...
threejs:document.createElement创建标签后css设置失效
vue3threejs,做一个给模型批量CSS2D标签的案例,在导入模型的js文件里,跟着课程写的代码如下: import * as THREE from three; // 引入gltf模型加载库GLTFLoader.js import { GLTFLoader } from three/addons/loaders/GLTFLoader.…...
在 compare-form.vue 中添加 compareDate 隐藏字段,并在提交时自动填入当前时间
在 compare-form.vue 中添加 compareDate 隐藏字段,并在提交时自动填入当前时间。 提交表单时存入的对象是FakeRegistration,这个对象里面有compareDate字段,刚好表格查询的对象也是FakeRegistration,所以表格展示的时间就是刚才…...
使用DeepSeek/ChatGPT等AI工具辅助编写wireshark过滤器
随着deepseek,chatgpt等大模型的能力越来越强大,本文将介绍借助deepseek,chatgpt等大模型工具,通过编写提示词,辅助生成全面的Wireshark显示过滤器的能力。 每一种协议的字段众多,流量分析的需求多种多样,…...
Java 大视界 -- Java 大数据在智能物流路径规划与车辆调度中的创新应用(102)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
YOLOv12 ——基于卷积神经网络的快速推理速度与注意力机制带来的增强性能结合
概述 实时目标检测对于许多实际应用来说已经变得至关重要,而Ultralytics公司开发的YOLO(You Only Look Once,只看一次)系列一直是最先进的模型系列,在速度和准确性之间提供了稳健的平衡。注意力机制的低效阻碍了它们在…...
一个行为类似标准库find算法的模板
函数需要两个模板类型参数,一个表示函数的迭代器参数,另一个表示值的类型。 代码 #include<iostream> #include<string> #include<vector> #include<list>using namespace std;template <typename IterType,typename T>…...
LLC谐振变换器恒压恒流双竞争闭环simulink仿真
1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2017Ra)软件。建议采用matlab2017 Ra及以上版本打开。(若需要其他版本可联系代为转换)针对全桥LLC拓扑,利用Matlab软件搭建模型,分别对轻载…...
Elasticsearch 的分布式架构原理:通俗易懂版
Elasticsearch 的分布式架构原理:通俗易懂版 Lucene 和 Elasticsearch 的前世今生 Lucene 是一个功能强大的搜索库,提供了高效的全文检索能力。然而,直接基于 Lucene 开发非常复杂,即使是简单的功能也需要编写大量的 Java 代码&…...
[深度学习]基于C++和onnxruntime部署yolov12的onnx模型
基于C和ONNX Runtime部署YOLOv12的ONNX模型,可以遵循以下步骤: 准备环境:首先,确保已经下载后指定版本opencv和onnruntime的C库。 模型转换: 安装好yolov12环境并将YOLOv12模型转换为ONNX格式。这通常涉及使用深度学习…...
seacmsv9报错注入
1、seacms的介绍 seacms中文名:海洋影视管理系统。是一个采用了php5mysql架构的影视网站框架,因此,如果该框架有漏洞,那使用了该框架的各个网站都会有相同问题。 2、源码的分析 漏洞的部分源码如下: <?php …...
剑指 Offer II 033. 变位词组
comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20033.%20%E5%8F%98%E4%BD%8D%E8%AF%8D%E7%BB%84/README.md 剑指 Offer II 033. 变位词组 题目描述 给定一个字符串数组 strs ,将 变位词 组合在一起…...
【2025全网最新最全】前端Vue3框架的搭建及工程目录详解
文章目录 安装软件Node.js搭建Vue工程创建Vue工程精简Vue项目文件 Vue工程目录的解读网页标题的设置设置全局样式路由配置 安装软件Node.js 下载地址:https://nodejs.org/zh-cn/ 安装完成后,打开cmd,查看环境是否准备好 node -v npm -vnpm使用之前一定…...
前缀和专题练习 ——基于罗勇军老师的《蓝桥杯算法入门C/C++》
目录 一、0求和 - 蓝桥云课 算法代码: 代码思路概述 代码详细解释 数组定义 输入读取 前缀和计算部分 结果计算部分 输出结果 程序结束 总结 二、1.可获得的最小取值 - 蓝桥云课 算法代码: 代码思路概述 详细代码逻辑解释 输入初始化 …...
1.测试策略与计划设计指南
1.介绍 1.1项目介绍 完整项目组成:1.基于K8S定制开发的SaaS平台;2.多个团队提供的中台服务(微服务);3.多个业务团队开发的系统平台。涉及多个项目团队、上百个微服务组件。 测试在所有团队开发测试后,自己搭建测试环境,…...
pikachu
暴力破解 基于表单的暴力破解 【2024版】最新BurpSuit的使用教程(非常详细)零基础入门到精通,看一篇就够了!让你挖洞事半功倍!_burpsuite使用教程-CSDN博客 登录页面,随意输入抓包,发送到攻击…...
HDFS扩缩容及数据迁移
1.黑白名单机制 在HDFS中可以通过黑名单、白名单机制进行节点管理,决定数据可以复制/不可以复制到哪些节点。 黑名单通常是指在HDFS中被标记为不可用或不可访问的节点列表,这些节点可能由于硬件故障、网络问题或其他原因而暂时或永久性地无法使用。当一…...
设计模式-(状态模式,策略模式,代理模式,责任链模式)
状态模式 概念: 用于管理一个对象在不同状态下的行为变化。它允许对象在内部状态改变时改变其行为,从而让对象看起来像是改变了其类。状态模式的核心思想是将状态封装到独立的类中,每个状态类都定义了在该状态下对象的行为 状态模式主要涉…...
二、IDE集成DeepSeek保姆级教学(使用篇)
各位看官老爷好,如果还没有安装DeepSeek请查阅前一篇 一、IDE集成DeepSeek保姆级教学(安装篇) 一、DeepSeek在CodeGPT中使用教学 1.1、Edit Code 编辑代码 选中代码片段 —> 右键 —> CodeGPT —> Edit Code, 输入自然语言可编辑代码,点击S…...
通义灵码插件安装入门教学 - IDEA(安装篇)
在开发过程中,使用合适的工具和插件可以极大地提高我们的工作效率。今天,我们将详细介绍如何在 IntelliJ IDEA 中安装并配置通义灵码插件,这是一款旨在提升开发者效率的实用工具。无论你是新手还是有经验的开发者,本文都将为你提供…...
每天一个Flutter开发小项目 (4) : 构建收藏地点应用 - 深入Flutter状态管理
引言 欢迎回到 每天一个Flutter开发小项目 系列博客!在前三篇博客中,我们从零开始构建了计数器应用、待办事项列表应用,以及简易天气应用。您不仅掌握了 Flutter 的基础组件和布局,还学习了网络请求、JSON 解析等实用技能,更重要的是,我们一起探讨了高效的 Flutter 学习…...
qt-C++笔记之QtCreator新建项目即Create Project所提供模板的逐个尝试
qt-C笔记之QtCreator新建项目即Create Project所提供模板的逐个尝试 code review! 文章目录 qt-C笔记之QtCreator新建项目即Create Project所提供模板的逐个尝试1.Application(Qt):Qt Widgets Application1.1.qmake版本1.2.cmake版本 2.Application(Qt):Qt Console Applicati…...
【NestJS系列】安装官方nestjs CLI 工具
环境搭建指南:从零开始创建 NestJS 项目 一、工具准备 1. 安装 Node.js 环境 推荐使用 LTS 版本(目前 20.x 以上)验证安装:终端执行 node -v 和 npm -vNode.js 官网下载2. 包管理器选择 这里选用更高效的 pnpm,你也可选择 npm 或 yarn # 安装 pnpm npm install -g pnp…...
【Springboot知识】Logback从1.2.x升级到1.3.x需要注意哪些点?
文章目录 **1. 确认依赖版本**示例依赖配置(Maven): **2. 处理 StaticLoggerBinder 的移除**解决方案: **3. 修改日志配置文件**示例 logback.xml 配置: **4. 检查兼容性问题**Spring Boot 2.x 的兼容性解决方案&#…...
【Linux C | 时间】localtime 的介绍、死机、死锁问题以及 localtime_r 函数的时区问题
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...
每日一题——LRU缓存机制的C语言实现详解
LRU缓存机制的C语言实现详解 参考1. 数据结构设计双向链表节点哈希表节点哈希表LRU缓存结构 2. 初始化哈希表和双向链表哈希函数初始化哈希表初始化双向链表创建LRU缓存 3. 更新双向链表4. 实现Get操作5. 实现Put操作更新节点值删除最久未使用节点插入或更新节点 6. 释放缓存释…...
虚函数表和虚函数表指针
1.虚函数表什么时候生成? 编译器编译的时候生成 2.虚函数表存放在哪里? 讨论两种情况:在磁盘(可执行程序)、在内存(运行状态) 3.虚函数表与虚函数表指针的关系 每个类只有一个虚函数&#x…...
计算机毕业设计SpringBoot+Vue.js图书进销存管理系统(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
3-2 WPS JS宏 工作簿的打开与保存(模板批量另存为工作)学习笔记
************************************************************************************************************** 点击进入 -我要自学网-国内领先的专业视频教程学习网站 *******************************************************************************************…...
大白话Vuex 核心概念(state、mutations、actions)的使用案例与原理
大白话Vuex 核心概念(state、mutations、actions)的使用案例与原理 Vuex是Vue.js应用程序中专门用来管理状态的工具,就好像是一个大管家,帮你把项目里一些重要的数据和操作管理得井井有条。下面用大白话结合案例来介绍Vuex核心概…...
【学写LibreCAD】1 LibreCAD主程序
一、源码 头文件: #ifndef MAIN_H #define MAIN_H#include<QStringList>#define STR(x) #x #define XSTR(x) STR(x)/*** brief handleArgs* param argc cli argument counter from main()* param argv cli arguments from main()* param argClean a list…...
CentOS7最小化安装中使用curl安装yum和wget
在 CentOS 7 最小化安装中,如果已经有curl工具,可以按照以下步骤使用它来安装yum和wget: 1. 备份原有的 yum 源配置文件 为了避免配置冲突或后续需要恢复,先备份原有的yum源配置文件。 mv /etc/yum.repos.d/CentOS-Base.repo /…...
【Linux】learning notes(3)make、copy、move、remove
文章目录 1、mkdir (make directory)2、rmdir (remove directory)3、rm(remove)4、>5、touch 新建文件6、mv(move)7、cp(copy) 1、mkdir (make…...
P10108 [GESP202312 六级] 闯关游戏
题目大意 如题 分析 设最佳通关方案为 { s 1 , s 2 , . . . , s k } \{s_1,s_2,...,s_k\} {s1,s2,...,sk},其中 s i s_i si 代表第 i i i 次到达的关卡( ≥ N \ge N ≥N 的不算)。 当 a k N − 1 a_kN-1 akN−1 时&#…...