24、语音合成与异常声音检测技术新突破

语音合成与异常声音检测技术新突破

在语音技术和异常声音检测领域,近期有两项重要的研究成果值得关注,分别是用于端到端文本转语音(TTS)的Accent - VITS模型,以及用于异常声音检测的多分支网络与跨域特征融合(MBN - CFF)模型。下面将详细介绍这两项技术。

Accent - VITS:端到端TTS的口音转换

Accent - VITS是一种基于VITS的端到端模型,具有分层条件变分自编码器(CVAE)结构,旨在实现口音转换。

模型结构
  • BN编码器 :由多层一维卷积(Conv1d)、ReLU激活函数、层归一化(Layer Normalization)、Dropout和一层线性投影组成,用于生成均值和方差,被认为具有抗噪性且与说话人无关。
  • 先验编码器 :其中的BN解码器作为第一个CVAE结构的解码器,根据说话人身份条件spk,从采样的zpr中提取声学特征的潜在表示,并生成zac的先验正态分布。同时添加了归一化流fθ以提高潜在变量zac先验分布的表达能力。
  • 后验编码器 :从波形y中提取潜在表示zac。其梅尔频谱提取器是一个固定的信号处理层,编码器先通过该层从原始波形中提取梅尔频谱,与VITS不同的是,它以梅尔频谱而非线性频谱作为输入。通过多层Conv1d、ReLU激活、层归一化和Dropout提取隐藏向量序列,再由Conv1d层生成后验分布q(zac|y)的均值和方差,最后使用重参数化技巧采样得到zac。
  • 解码器 :

相关推荐

别再只盯着MFCC了!用Librosa实战提取LFCC和CQCC,解锁音频特征新玩法

本文深入探讨了Librosa库在音频特征提取中的高级应用,重点介绍了LFCC(线性频率倒谱系数)和CQCC(恒定Q变换倒谱系数)的实战方法。通过对比分析MFCC、LFCC和CQCC的特性差异,提供详细的代码实现和应用场景指南,帮助开发者在音频伪造检测、音乐分析等任务中选择最佳特征提取方案。

weixin_30595035的博客 411

AI自主攻击体:从生成式AI到网络安全攻防新范式

生成式AI和大语言模型正在重塑网络安全攻防格局。这些技术通过代码生成、上下文理解和多模态生成等核心能力,实现了从传统自动化工具到具备自主规划与适应性的攻击体的范式转移。在技术价值层面,AI不仅提升了攻击效率,更通过动态行为调整和个性化社交工程,对基于特征匹配的传统防御体系构成挑战。应用场景涵盖全自动漏洞挖掘、自适应钓鱼攻击及智能化恶意软件对抗等领域。面对AI驱动的自主攻击体,防御方需转向行为分析、异常检测和AI对抗AI的新范式,构建动态智能的防御体系以应对不断演进的威胁。

lvwenwen 356

博物馆AI交互体验:从技术叠加到认知脚手架的范式迁移

博物馆智能化已超越传统‘AI导览’概念,进入以空间叙事、认知支持与环境智能为核心的新阶段。其本质是将人工智能转化为观众理解文物的‘认知脚手架’,通过行为感知、意图预测与轻量响应,构建符合凝视规律、知识可信与伦理审慎的沉浸式体验。关键技术涉及毫米波雷达空间建模、混合智能架构(知识图谱+小模型+大模型协同)、多模态交互黄金三角(眼动/手势/位置融合),以及针对光照、材质、静音、数据主权等博物馆特有约束的工程适配。本文聚焦AI如何在真实展陈中保持谦卑,实现‘技术退场、体验登场’的终极目标。

cm333666的博客 472

GPT-4o多模态实时交互与会话状态持久化技术解析

大语言模型的多模态能力正从‘支持多种输入’迈向‘统一语义理解’新阶段。其核心原理在于构建跨文本、语音、图像的共享表征空间,并通过流式语音处理、动态会话图谱和隐式session_id机制实现低延迟上下文维持。这种技术突破显著提升了AI在真实场景中的任务闭环能力,尤其在无障碍交互、工业AR诊断、法律智能批注等需长程记忆与跨模态锚定的领域展现出不可替代性。GPT-4o所依赖的会话状态持久化与多模态统一表征,正是当前工程落地中最具实操价值却最易被忽视的底层能力。

weixin_30764883的博客 413

GPT-4o原生多模态架构解析:视觉听觉统一建模与实时交互原理

多模态AI正从模块拼接走向端到端统一建模,其核心是打破文本、图像、语音的模态壁垒,实现跨模态对齐与联合推理。GPT-4o通过原生多模态tokenizer和共享Transformer主干,首次将像素序列、声波频谱与文本token在底层向量空间对齐,支撑毫秒级响应与上下文感知。这种架构升级带来技术价值跃迁:延迟压至320ms内、空间定位误差<3像素、支持边听边想边说的流式交互。典型应用场景覆盖会议纪要三维重建、产品草图深度诊断、产线异响跨模态溯源等工程一线需求。本文聚焦GPT-4o的统一架构设计与视觉听觉协同机

hideto 522

AI驱动的网络安全攻防:2026年趋势预判与防御体系进化

人工智能技术正深刻重塑网络安全的攻防格局。从技术原理看,机器学习与深度学习模型能够自动化分析海量数据、识别复杂模式,其核心价值在于将安全运营从基于规则和签名的被动响应,升级为基于行为分析和异常检测的主动防御。在应用场景上,AI不仅赋能威胁检测、自动化响应和安全编排,更催生了智能模糊测试、自适应漏洞挖掘等新型攻击手段。本文聚焦于AI驱动的攻击链演进,深入探讨了超个性化社会工程攻击、自适应漏洞利用、自主化网络渗透等前沿趋势,并系统阐述了构建AI增强型威胁检测、智能代码审计及人机协同防御体系的具体路径,为应对20

weixin_30363981的博客 391

GPT-4o统一隐空间架构:多模态实时交互的技术原理与落地实践

多模态大模型正从‘多API拼接’走向‘端到端联合推理’,其核心在于统一隐空间(unified latent space)——将语音、图像、文本映射至同一语义向量空间,实现毫秒级跨模态对齐与联合理解。这一范式突破了传统流水线架构的信息衰减与延迟瓶颈,使AI首次具备自然交互所需的临场感与上下文感知力。技术价值体现在三方面:降低系统集成复杂度、提升多模态意图识别鲁棒性、支持边缘设备轻量化部署。典型应用场景包括实时会议纪要生成、工业视觉质检、教育思维教练等。本文聚焦GPT-4o的统一隐空间设计原理与可复用的工程实践

weixin_34355559的博客 318

陪伴机器人原型搭建指南:从技术瓶颈到落地选型

机器人技术正从工业产线走向家庭场景,但复杂家庭环境的弱结构化特性,对感知、导航、运动控制与操作能力提出了远高于工厂的挑战。环境感知需要融合视觉、激光等多模态数据,导航则要应对动态障碍与多楼层问题,而成本与可靠性更是实用化的硬门槛。在技术演进中,行业逐渐形成共识:与其追求高难度的人形操作,不如优先打磨语音交互、情感反馈、人体跟随等陪伴价值,再逐步迭代硬件形态。本文从技术原理和工程实践出发,拆解家庭机器人面临的核心瓶颈,并给出基于轮式底盘、深度相机与大模型API的最小原型搭建方案,涵盖硬件选型、软件架构、功能测

weixin_30546189的博客 364

从零搭建AI漫剧生成流水线:基于Stable Diffusion与Python的实战指南

在实际内容创作领域,从文字脚本到视觉化呈现的转化,一直是效率提升的关键瓶颈。对于个人创作者、小型团队或希望利用业余时间探索新形式的开发者而言,传统的手绘或复杂的专业视频制作流程,不仅门槛高,而且耗时巨大。近年来,随着生成式AI在图像和视频领域的突破,一种被称为“AI漫剧”或“AI动态漫画”的创作形式开始流行。它利用AI工具,将文字剧本快速转化为具有分镜、角色、场景和基础动态效果的视频内容,极大地降低了动态视觉叙事的门槛。 本文的目标读者是具备基础计算机操作能力、对AI应用感兴趣,但未必有深厚美术或视频剪辑功

476

实时语音翻译技术:端到端低延迟跨语言声学映射实现

实时语音翻译是一种将源语言语音流在毫秒级内直接转换为目标语言语音的技术,其核心在于绕过传统ASR-文本翻译-TTS三段式架构,实现在声学特征空间的隐式语义对齐。原理上依赖流式语音编码器、隐式对齐模块与低延迟神经声码器的协同优化,技术价值体现在端到端延迟≤300ms、词级准确率≥92%、支持多语言对流式切换等硬性指标。广泛应用于远程医疗、跨国在线教育、高端同传设备等对时序敏感的交互场景。本文聚焦Real-Time Speech Translation与EchoLink架构,深入解析Conformer流式建模、

weixin_30493401的博客 396

GPT-4o不是升级,是端到端多模态交互的范式革命

多模态大模型正从‘多任务拼接’迈向‘统一感知与表达’的新阶段。其核心原理在于打破文本、语音、图像的模态壁垒,通过跨模态对齐、流式神经编译和硬件协同推理,实现输入无损融合与输出原子化控制。这种技术路径不仅显著降低端到端延迟(如232毫秒级实时响应),更重塑人机交互的生理适配性与认知同步性。典型应用场景涵盖智能语音助手、OS级桌面代理、教育解题实时反馈等需强时序耦合与共情建模的领域。GPT-4o正是这一演进的关键落地代表,标志着原生多模态架构正式进入工程可用时代。

weixin_34364071的博客 609

GPT-4o全模态实时交互:人机交互范式迁移的技术解析

多模态AI正从‘模块拼接’走向‘感知融合’,其核心是视觉、语音、文本在统一嵌入空间中的联合表征与流式协同推理。GPT-4o作为首个实现低延迟全链路实时响应的商用模型,依托统一嵌入空间、流式注意力与情感状态建模三大架构创新,显著降低端到端时延并提升跨模态理解鲁棒性。该技术突破不仅支撑语音中断响应、微表情适配、图像热区聚焦等新交互范式,更推动AI从任务执行工具升级为具备情境感知能力的认知协作者,在无障碍服务、工业诊断、教育辅助等真实场景中释放工程化价值。

weixin_33735077的博客 472

讯飞星火X1.5:MoE架构与软硬一体如何实现AI真正落地

大模型已从参数竞赛迈入场景深耕阶段,推理效率、多模态感知与物理交互能力成为AI工程化的核心指标。MoE(Mixture of Experts)架构不再仅是提升参数规模的手段,而是通过动态专家分组、硬件感知训练优化和符号-神经混合推理,显著提升长文本处理、数学推演与低延迟响应能力;与此同时,麦克风阵列声学建模、非自回归语音合成、量子点护眼屏等软硬协同技术,将AI从云端API转化为可触摸、可部署、可量化的终端能力。这种‘模型+芯片+场景’三位一体的交付范式,正加速制造、教育、医疗等行业AI应用从Demo走向真实

diaogan4202的博客 441

Hugging Face实战地图:18个可直接上手的开源模型项目

开源模型是AI工程落地的核心基础设施,其价值不在于参数规模或榜单排名,而在于能否快速集成、稳定运行并解决真实业务问题。理解模型调用原理、推理优化机制与跨模态协同逻辑,是构建生产级AI服务的前提。本文聚焦Hugging Face生态中经过实测验证的轻量高效模型,覆盖NLP文本摘要与问答、CV图像生成与分割、Audio语音识别与合成等关键任务,强调显存控制、量化部署、API封装与错误排查等工程化细节。特别适配RTX 3090/4090及A10等主流硬件,所有项目均提供最小启动命令、许可证说明与避坑指南,助力开发

weixin_33896726的博客 296

【信息科学与工程学】【物理/化学科学和工程技术】知识体系87——声学基础02

这个全面的声音信号参数表格涵盖了从基础声学到前沿计算声学的各个方面,包括传统声学参数、电声参数、心理声学参数、语音参数、音乐参数、环境声学参数、生物声学参数以及计算声学参数等。表格按照类别、参数名称、符号/单位、定义/描述、典型范围/值和影响因素/测量方法等维度进行组织,为声学系统的设计、分析、评估和优化提供了完整的参数参考体系。实际应用中应根据具体需求选择合适的参数子集进行评估和优化。这个空间声学参数表格涵盖了从基本声场参数到高级空间处理参数的各个方面,考虑了不同的参照点、听众角度、采集角度和多点采集的需

weixin_49199313的博客 1394

zed(Rust)开源项目完整源码

「zed(Rust)开源项目完整源码」是开源项目(Rust)。项目简介:Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.源码完整,下载解压即可查看使用,适合学习参考、课程设计与二次开发。

IsaacLab从入门到精通(二) 导入自定义机器人

IsaacLab系列第二讲,导入自定义的机器人及设置

DejaWu33的博客 8463

如何用Deep OC-SORT提升多目标跟踪精度?实战配置与性能优化指南

本文是一份针对开发者的Deep OC-SORT多目标跟踪实战指南。详细解析了如何通过部署其核心的“动态外观记忆”与“相机防抖”模块来有效应对遮挡与抖动,从而显著提升跟踪精度与连续性。内容涵盖从环境搭建、参数调优到性能压榨的全流程,并提供针对不同场景的配置建议与工程落地技巧。

f9g0h的博客 670

Arcgis空间分布方向性分析

Arcgis空间分布方向性分析 一、标准差椭圆方法概述 空间分布方向性分析是指区域经济属性在空间分布上的轮廓和主导方向。 标准差椭圆法是分析空间分布方向性特征的经典方法之一,使用标准差椭圆可 从全局的、空间的角度定量解释经济要素空间分布的中心性、展布性、方向性和 空间形态等整体性特征,因其直观性与有效性已得到广泛应用,已成为 Arc GIS 空间统计模块的常规统计工具。SDE 方法生成的结果为一个椭圆,从其生 成算法来看,首先用平均中心来确定椭圆的圆心,然后由平均中心作为起点 对 X 坐标

端木宛白的博客家园 4万+

【Windows Server 2019】Active Directory Certificate Services 证书颁发机构的安装,配置和管理Ⅰ——AD CS的安装和配置

博文主要介绍了Windows Server 2019的证书颁发机构的安装和配置方法。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 4832

VTK:受约束的 Delaunay 2D用法实战

VTK:受约束的 Delaunay 2D用法实战程序输出程序完整源代码 程序输出 程序完整源代码 #include <vtkActor.h> #include <vtkCellArray.h> #include <vtkDelaunay2D.h> #include <vtkMath.h> #include <vtkMinimalStandardRandomSequence.h> #include <vtkNamedColors.h>

希望我的博客,能帮上你解决学习中工作中所遇到的问题 940

Linux系统之部署经典魔塔小游戏

Linux系统之部署经典魔塔小游戏

jks212454的博客 1806

网表导入virtuoso后发现pg pin忘记connect_pg_net/globalNetConnect怎么办?

数模混合项目中经常需要一些需要到virtuoso去连接的线,比如IO上的pg和一些信号线,除了在pr工作中设置skip route之外还需要做好net的赋值,告诉工具虽然我没在物理上有连接,但是实际上应该连什么net,这部分提现在网表里。在Default Net Name中也填写net name,因为这个net需要做global操作,即在顶层定义这个net,所以需要在net name后加个!打开schematic,删除指定cell pin所接net的label。

m0_61544122的博客 967

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 58、基于区块链的物联网混合认证模型解析
下一篇: 84、“PollPub”:基于区块链的安全动态投票平台
raspberrypi5
博客等级 码龄1天 0粉丝 1856原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值