语音识别实战(python代码)(一),语音识别实战入门(Python代码详解)

马肤

温馨提示:这篇文章已超过397天没有更新,请注意相关的内容是否还可用!

摘要:本文将介绍语音识别实战的Python代码实现。通过简单的步骤和代码示例,让读者了解如何使用Python进行语音识别。本文将涵盖基础知识,包括语音信号的采集、预处理和识别过程。通过本文的学习,读者将能够掌握语音识别的基本原理和实现方法,为后续的深入学习和实践打下基础。

语音识别实战

 

(python :pyttsx、SAPI、SpeechLib实例代码)(一)

本文目录:

一、语音识别的基本原理

(1)、语音识别的起源与发展

(2)、语音识别的基本原理

(3)、语音识别过程

(4)、语音识别的近期发展

二、Python 语音识别

(1)、文本转换为语音

(2)、文本转存为语音文件wav

三、总结


一、语音识别的基本原理

(1)、语音识别的起源与发展

  语音识别是一门涉及声学、语言学、信号处理、模式识别、心理学,以及计算机科学等多个学科领域的复杂交叉技术学科。

  语音识别技术的发展:

语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第1张

(2)、语音识别的基本原理

  对普通人来说,我们通常感觉语音是由一个个单词构成,但它是如何产生和被我们感知的?

  其实,语音是一种连续动态的音频流,由一部分相当稳定的状态与诸多动态变化的状态混合而成。在这种状态序列中,人们可以定义或多或少类似的声音或音素。

语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第2张

  语音是随时间变化的语音动态波形。

  一个典型的语音对话系统一般包括如下几个技术模块:

  • 对话管理器(Dialog Manager)
  • 语音识别器(Speech Recognizer)
  • 语言解析器(Language Parser)
  • 语言生成器(Language Generator)
  • 语音合成器(Speech Synthesizer)

    语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第3张

      其中,语音识别器(又可称为语言识别模块或者语言识别系统)主要用于将用户输入的语音转换为文本。

     (3)、语音识别过程

      语音识别的一般方法是:

      首先,声音输入,提取一个波形,然后,将波形分解为语音片段并尝试识别每个语音片段中所包含的内容。

      通常情况下,要做到这一点,我们需要尝试将所有可能的单词组合与音频进行匹配,最后选择最佳匹配组合,这时就要依赖声音模型、语音模型、各种发音词典。在这个匹配过程中,由于参数的数量很大,需要对其进行优化。一般来说,会将语音分成小单位的帧,然后,对于每帧(通常为时长10ms左右),提取出39个代表语音特征的数字,这些数字即语音特征向量。

      语音识别过程示意图:

    语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第4张

      语音识别是一个先编码后解码的过程。其中,信号处理(Signal Processing)与特征提取(Feature Extraction)是语音识别系统的开始,这是一个编码的过程。

      特征提取是指从原始的语音输入经过相应处理后得到语音特征向量。

      语言模型:当若干词组成的一个序列合乎语法时,这个序列才能算是一个句子,因此,人们在语音识别中引入了语言模型来实现这种约束。

      当前的语言模型主要有基于句法的语言模型和基于统计的语言模型两大类。

      句法语言模型(Syntactic Language Model),也称确定性语言模型(Deterministic Language Model)或形式语言模型(Formal Language Model),是人工对人类语言的内在规律总结出一套形式上可以推理和扩展的文法,对识别结果中不符合文法的结果进行排除。这种方法在某些识别任务中能够获得很好的效果。

      基于统计的语言模型对大量文本中的词的出现频率及其出现条件进行统计。通常我们将统计语言模型与声学模型结合起来完成识别任务,这可以降低因为声学模型的不合理带来的拒识率。 目前在大词汇量连续语音识别中常用的是 N-Gram 语言模型[23],对中文而言,我们称之为汉语语言模型(CLM,Chinese Language Model)。

        一个语言模型的质量的评价指标通常用语言模型复杂度(Perplexity)来表述,其定义为词序列概率的几何平均的倒数。公式:

    语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第5张

       当复杂度越低,说明语言模型对当前词的预测确定程度越高。因此对语言模型的训练一般把训练语句的复杂度最小化作为目标。而实现这个目标,先要对训练语句中的词频进行统计,以此计算出语言模型的参数。而在词表很大而训练的数据不是充分多的时候,就会发生有些词的序列的概率很小或者没有出现过的情况(oov)。为了解决这些问题,就需要用到 discouting和 back-off等一些技术。

      一个语言模型的质量的评价指标通常用语言模型复杂度(Perplexity)来表述,其定义为词序列概率的几何平均的倒数。

    (4)、语音识别的近期发展

      据:中国语音产业联盟《中国智能语音产业发展报告(2021-2022)》统计数据:

      从全球范围来看,2022年全球智能语音产业规模将达351.2亿美元,保持33.1%的高速增长;从我国来看,根据德勤统计数据,2022年我国智能语音市场将达341亿元,同比增长13.4%。

      科大讯飞、百度、阿里等龙头企业通过打造技术能力开放平台,构建开源生态,引领行业技术创新和应用开发。

      报告指出,我国智能语音企业在多项难点技术上实现新的突破。纵向上从语音识别、合成、翻译向计算机视觉、认知智能、运动智能领域延伸,横向上从单点技术突破模式发展到机器认知、多模式复杂场景应用。

      在语音合成方面,随着电商直播等行业的繁荣,语音合成技术也表现出拟人化、口语化的发展趋势。

      在语音识别方面,视听融合的多模态交互技术成为技术演进的主要方向。

      在工业领域,我国打造了包括国家智能语音创新中心在内的一批语音技术创新“国家队”, 开展工业声学、多语种、AI语音芯片等关键共性技术研究工作。

      在城市领域,智能语音技术已在安徽省一体化网上政务服务平台、聊城城市大脑、三亚市崖州湾科技城智慧产城园区、天津市AI银发智能服务平台等创新示范项目中应用。

      在医疗领域,智能外呼和智医助理可用于独居老人、留守儿童的日常关爱和兜底保障。

      在教育领域,利用智能语音和人工智能技术可实现英语听说教、学、考、评、管一站式服务,减少无效训练。

      在运营商领域,智能语音技术与健康养老、家庭教育、家庭娱乐等场景结合,带来更加智慧的家庭生活体验。融合5G与机器翻译技术的无障碍智能通信,让普通的5G手机用户,不用下载任何软件,就可以使用实时翻译和转写服务,实现跨语种的无障碍视频通话。

      在汽车领域,智能语音已成人机交互关键环节,并从车内交互衍生车外交互,从单模交互走向多模交互,从被动交互发展为主动交互,为车企提供全栈技术赋能。

      在消费者产品领域,AI学习机、翻译笔等AI+学习产品帮助学生学习减负增效;智能录音笔、智能办公本、智能鼠标等AI+办公产品深受职场人士欢迎;AI翻译机、智能麦克风、智能语音键盘、智能耳机、智能助听器等AI+生活产品,让更多人享受AI科技的便利。

      语音的发展路径:

      针对智能语音多学科交叉的学科特性,研究人员需要探索新原理、新机制、新材料、新工艺和新器件,集成创新推动核心技术进步。另一方面,语音技术需要进一步向深度理解延伸。“更先进的语音交互系统不仅要 "能听会说" ,还要深度地去理解人的信息。有了明确的发展方向,才能促进智能语音技术持续突破。

    二、Python 语音识别

    (1)、文本转换为语音

    (a)、使用 pyttsx

    安装 pyttsx 包

    • import pyttsx3 as pyttsx
      import pyttsx3 as pyttsx
      engine = pyttsx.init()
      engine.say('I can because i think i can. 逆境清醒 Life is not all roses.人生并不是康庄大道。')
      engine.runAndWait()

        如果你安装没有出错,打开电脑的声音,就能听到语音(把我们刚才在代码里写的文本文字转换成语音播报出来了)

      代码分析:

      pyttsx3通过初始化来获取语音引擎,在调用init后会返回一个engine对象。

      import pyttsx3

      #初始化语音引擎

      engine = pyttsx3.init()

      设置语速、音量等参数:

      engine.setProperty('rate', 100)   #设置语速

      engine.setProperty('volume',0.6)  #设置音量

      查看语速、音量等参数

      rate = engine.getProperty('rate')

      print(f'语速:{rate}')

      volume = engine.getProperty('volume')   

      print (f'音量:{volume}') 

       完整实例代码:

      import pyttsx3 as pyttsx
      engine = pyttsx.init()
      engine.say('I can because i think i can. 逆境清醒 Life is not all roses.人生并不是康庄大道。')
      rate = engine.getProperty('rate')
      print(f'语速:{rate}')
      volume = engine.getProperty('volume')   
      print (f'音量:{volume}') 
      engine.runAndWait()

      运行结果为:

      语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第6张

      查看语音合成器

      voices = engine.getProperty('voices') 

      for voice in voices:

          print(voice) 

      合成器的主要参数如下:

      合成器的主要参数如下:
      age发音人的年龄默认为None
      gender以字符串为类型的发音人性别

      male, female, or neutral.

      默认为None

      id关于Voice的字符串确认信息
      languages发音支持的语言列表默认为一个空的列表
      name发音人名称默认为None
      语音合成器

      默认的有两个

      两个语音合成器均可以合成英文音频,

      只有第一个合成器能合成中文音频。

      如果需要其他的语音合成器需要自行下载和设置。

      #设置第一个语音合成器

      voices = engine.getProperty('voices') 

      engine.setProperty('voice',voices[0].id)   

      语音播报:

      engine.say('I can because i think i can. 逆境清醒 Life is not all roses.人生并不是康庄大道。')

      engine.runAndWait()

      engine.stop()

      import pyttsx3
      engine = pyttsx3.init() #初始化语音引擎
      engine.say('I can because i think i can. 逆境清醒 Life is not all roses.人生并不是康庄大道。')
      rate = engine.getProperty('rate')
      print(f'语速:{rate}')
      volume = engine.getProperty('volume')   
      print (f'音量:{volume}') 
      engine.setProperty('rate', 100)   #设置语速
      engine.setProperty('volume',0.6)  #设置音量
      voices = engine.getProperty('voices') 
      engine.setProperty('voice',voices[0].id)   #设置第一个语音合成器
      engine.runAndWait()
      engine.stop()

      运行结果为:

        如果你没有出错,打开电脑的声音,就能听到语音(把我们刚才在代码里写的文本文字转换成语音播报出来了:I can because i think i can. 逆境清醒 Life is not all roses.人生并不是康庄大道。)

        我们设置使用第一个语音合成器,同时,屏幕会打印出当前语速是200,音量是:1.0

      语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第6张

      (b)、使用 SAPI

        也可以使用 SAPI 来做文本到语音的转换。

         SAPI是微软Speech API , 是微软公司推出的语音接口。

      from win32com.client import Dispatch
      # 获取讲话对象
      speaker = Dispatch('SAPI.SpVoice')
      # 讲话内容
      speaker.Speak('Just Be You')
      speaker.Speak('No one can do it just like you')
      speaker.Speak('Something magic in the way you move')
      speaker.Speak('You are original, you know it is true')
      speaker.Speak('do not let anybody take your tune')
      speaker.Speak('You are not got a single thing to prove')
      speaker.Speak('You are original, so just be you')
      speaker.Speak('Just be you')
      speaker.Speak('You are one of a kind')
      speaker.Speak('The kind of once in a lifetime')
      speaker.Speak('Not just another face in the crowd')
      speaker.Speak('You light up a room')
      speaker.Speak('With the light that is inside you')
      speaker.Speak('do not be afraid to let it out')
      speaker.Speak('So hold your head up')
      speaker.Speak('do not let anybody get you down')
      speaker.Speak('No one can do it just like you')
      speaker.Speak('Something magic in the way you move')
      speaker.Speak('You are original, you know it is true')
      speaker.Speak('do not let anybody take your tune')
      speaker.Speak('You are not got a single thing to prove')
      speaker.Speak('You are original, so just be you')
      speaker.Speak('Just be you')
      speaker.Speak('Ooh, just be you')
      speaker.Speak('Ooh, just be you')
      speaker.Speak('You gotta believe')
      speaker.Speak('You are here for a reason')
      speaker.Speak('This world needs somebody like you')
      speaker.Speak('Cause anybody can be a copy')
      speaker.Speak('And there will always be people talking')
      speaker.Speak('So face your fears and chase your dreams')
      speaker.Speak('And dance like no one is watching')
      speaker.Speak('No one can do it just like you')
      speaker.Speak('Something magic in the way you move')
      speaker.Speak('You are original, you know it is true')
      speaker.Speak('do not let anybody take your tune')
      speaker.Speak('You are not got a single thing to prove')
      speaker.Speak('You are original, so just be you')
      speaker.Speak('Just be you')
      speaker.Speak('Ooh, just be you')
      speaker.Speak('Ooh, just be you')
      speaker.Speak('You are one of a kind')
      speaker.Speak('The kind of once in a lifetime')
      speaker.Speak('Not just another face in the crowd')
      speaker.Speak('No one can do it just like you')
      speaker.Speak('Something magic in the way you move')
      speaker.Speak('You are original, you know it is true')
      speaker.Speak('do not let anybody take your tune')
      speaker.Speak('You are not got a single thing to prove')
      speaker.Speak('You are original, so just be you')
      speaker.Speak('Just be you')
      speaker.Speak('Ooh, just be you')
      speaker.Speak('Ooh, just be you')
      speaker.Speak('没有人能像你一样')
      speaker.Speak('那样的充满魔力')
      speaker.Speak('你知道的,你是最初的你')
      speaker.Speak('不要让任何人改变你')
      speaker.Speak('你不需要去证明什么')
      speaker.Speak('你是最初的你,做你自己')
      speaker.Speak('做你自己吧')
      speaker.Speak('你是独一无二的')
      speaker.Speak('一生仅有一个的那种')
      speaker.Speak('你不像人群中的另一种面孔')
      speaker.Speak('你用你内心的温暖')
      speaker.Speak('照亮了整个房间')
      speaker.Speak('不要害怕说出来')
      speaker.Speak('抬起你的头吧')
      speaker.Speak('不要因为任何人而让你失望')
      speaker.Speak('没有人能像你一样')
      speaker.Speak('那样的充满魔力')
      speaker.Speak('你知道的,你还是最初的你')
      speaker.Speak('不要让任何人改变你')
      speaker.Speak('你不用去证明什么')
      speaker.Speak('因为你就是你')
      speaker.Speak('做你自己')
      speaker.Speak('Ooh, just be you')
      speaker.Speak('做你自己吧')
      speaker.Speak('Ooh, just be you')
      speaker.Speak('做你自己')
      speaker.Speak('你必须要相信')
      speaker.Speak('你来这一趟是有原因的')
      speaker.Speak('这个世界需要像你一样的人存在')
      speaker.Speak('因为任何人都可是一个复制品')
      speaker.Speak('人们总是在背后指指点点')
      speaker.Speak('战胜内心的恐惧,去追逐你的梦想')
      speaker.Speak('假装没有人在看你,自在地舞动吧')
      speaker.Speak('没有人能像你一样')
      speaker.Speak('那样的充满魔力')
      speaker.Speak('你知道的,你还是最初的你')
      speaker.Speak('不要因为任何人而改变你自己')
      speaker.Speak('你也不用去证明什么')
      speaker.Speak('你就是最初的你')
      speaker.Speak('做你自己')
      speaker.Speak('做你自己吧')
      speaker.Speak('做你自己')
      speaker.Speak('你是独一无二的')
      speaker.Speak('一生仅有一个的那种')
      speaker.Speak('不像人群中的另一种面孔')
      speaker.Speak('没有人像你')
      speaker.Speak('如此有魔力')
      speaker.Speak('你也知道的,你还是原本的你')
      speaker.Speak('不要让任何人改变你')
      speaker.Speak('你不需要去证明什么')
      speaker.Speak('你还是原来的你')
      speaker.Speak('做你自己')
      speaker.Speak('做你自己吧')
      speaker.Speak('Ooh, just be you')
      speaker.Speak('做你自己吧')
      # 释放对象
      del speaker
      

        如果你没有出错,打开电脑的声音,就能听到语音(把我们刚才在代码里写的文本文字转换成语音播报出来了)

      (2)、文本转存为语音文件wav

      (a)、用SpeechLib库

      方法:1.从文本文件中获取输入语音的文本内容,将其转换为语音,保存成.wav格式

      使用 SpeechLib,需要先安装, 命令如下:

      • pip install comtypes
        from comtypes.client import CreateObject
        engine = CreateObject('SAPI.SpVoice')
        stream = CreateObject('SAPI.SpFileStream')
        from comtypes.gen import SpeechLib
        infile = '就算世界无童话.txt'
        outfile = '就算世界无童话.wav'
        stream.open(outfile, SpeechLib.SSFMCreateForWrite)
        engine.AudioOutputStream = stream
        f = open(infile, 'r', encoding='utf-8')
        theText = f.read()
        f.close()
        stream.close()
        

          如果你没有出错,电脑里同一个目录里出现了转换好的语音文件“ 就算世界无童话.wav ”

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第8张

        三、总结

          本文主要从概念上图文论述了语音识别的起源与发展、语音识别的基本原理、语音识别过程、语音识别的近期发展。

          代码上分析了Python 语音识别所用到的技术,从 (1)、文本转换为语音。(2)、文本转存为语音文件wav。两个方面实例操作了语音识别的技术实现方式,并提供了完整源代码供参考。

          python语音识别还有其他的方法,例如从话筒等输入语音来识别,这些将会在后面更新博文时再详细分析。

                  推荐阅读:

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第9张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第10张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第11张

        计算机视觉__基本图像操作(显示、读取、保存)直方图(颜色直方图、灰度直方图)直方图均衡化(调节图像亮度、对比度)

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第12张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第13张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第14张

         语音识别实战(python代码)(一)

         人工智能基础篇

         计算机视觉基础__图像特征

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第15张

         matplotlib 自带绘图样式效果展示速查(28种,全)

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第16张

        Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第17张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第18张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第19张

        立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

         Python 3D可视化(一)

         让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第20张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第21张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第22张

         python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印

         用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

        python爱心源代码集锦(18款)

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第23张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第24张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第25张

         Python中Print()函数的用法___实例详解(全,例多)

         Python函数方法实例详解全集(更新中...)

         《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第26张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第27张

        用代码过中秋,python海龟月饼你要不要尝一口?

         python练习题目录

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第28张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第29张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第30张

        草莓熊python turtle绘图(风车版)附源代码

         ​草莓熊python turtle绘图代码(玫瑰花版)附源代码

         ​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第31张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第32张

         巴斯光年python turtle绘图__附源代码

        皮卡丘python turtle海龟绘图(电力球版)附源代码

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第33张

        vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第34张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第35张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第36张

        2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子,炫酷充电,字体特

         别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(4套)

        SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第37张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第38张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第39张

        【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

         2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第40张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第41张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第42张

         Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

         色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)

        2023年4月多家权威机构____编程语言排行榜__薪酬状况

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第43张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第44张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第45张

         手机屏幕坏了____怎么把里面的资料导出(18种方法)

        【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

         查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第46张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第47张

        语音识别实战(python代码)(一),语音识别实战入门(Python代码详解) 第48张

         tomcat11、tomcat10 安装配置(Windows环境)(详细图文)

         Tomcat端口配置(详细)

         Tomcat 启动闪退问题解决集(八大类详细)


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码