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

深度解读微软Speech服务:让语音识别走进现实

        大家好,今天我们来探讨一个激动人心的技术话题:微软的语音识别服务如何为我们提供强大的语音识别解决方案,特别是在电话录音中识别出不同的说话人。

场景描绘

        想象一下,你有一段电话录音,并需要将其中的多个说话人区分开来,这在客户服务、会议记录等场景中尤为重要。通过调研不同的技术方案,我们发现微软的Speech服务提供了高效的解决方案。

认识Speech Studio

        首先,让我带大家认识一下微软提供的在线测试平台:Speech Studio。通过这个网址可以直接访问 Speech Studio 进行服务体验。

在正式使用前,我们需要准备两类服务资源:语音服务和语言服务。在Speech Studio中,你可以在线快速测试并体验其功能。

https://speech.microsoft.com/portal/callcenter

图片

图片

        我们可以看到Speech Studio服务中可以把wav的对话人区分出来,并且可以提取对于的姓名、邮箱等。甚至可以对敏感信息进行过滤处理。

C# SDK实现语音识别

        为了在实际项目中应用,接下来我们来看看如何使用C# SDK来实现这一功能。首先,我们需要在项目中引入相关的NuGet包:

<PackageReference Include="Microsoft.CognitiveServices.Speech" Version="1.41.1" />

        然后,在代码中导入相关命名空间:

using Microsoft.CognitiveServices.Speech;using Microsoft.CognitiveServices.Speech.Audio;using Microsoft.CognitiveServices.Speech.Transcription;

核心代码示例

        以下是一个完整的代码示例,展示了如何通过C# SDK来实现语音识别及说话人区分:


class Program
{// 设置环境变量用于存储密钥和区域信息static string speechKey = "your_speech_key";static string speechRegion = "your_speech_region";async static Task Main(string[] args){var filepath = @"test.wav";var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion);speechConfig.SpeechRecognitionLanguage = "en-US";speechConfig.SetProperty(PropertyId.SpeechServiceResponse_DiarizeIntermediateResults, "true");var stopRecognition = new TaskCompletionSource<int>(TaskCreationOptions.RunContinuationsAsynchronously);// 使用音频文件创建一个音频流using (var audioConfig = AudioConfig.FromWavFileInput(filepath)){// 创建会话记录器using (var conversationTranscriber = new ConversationTranscriber(speechConfig, audioConfig)){conversationTranscriber.Transcribing += (s, e) =>{Console.WriteLine($"TRANSCRIBING: Text={e.Result.Text} Speaker ID={e.Result.SpeakerId}");};conversationTranscriber.Transcribed += (s, e) =>{if (e.Result.Reason == ResultReason.RecognizedSpeech){Console.WriteLine();Console.WriteLine($"TRANSCRIBED: Text={e.Result.Text} Speaker ID={e.Result.SpeakerId}");Console.WriteLine();}else if (e.Result.Reason == ResultReason.NoMatch){Console.WriteLine($"NOMATCH: Speech could not be transcribed.");}};conversationTranscriber.Canceled += (s, e) =>{Console.WriteLine($"CANCELED: Reason={e.Reason}");if (e.Reason == CancellationReason.Error){Console.WriteLine($"CANCELED: ErrorCode={e.ErrorCode}");Console.WriteLine($"CANCELED: ErrorDetails={e.ErrorDetails}");Console.WriteLine($"CANCELED: Did you set the speech resource key and region values?");stopRecognition.TrySetResult(0);}stopRecognition.TrySetResult(0);};conversationTranscriber.SessionStopped += (s, e) =>{Console.WriteLine("\n    Session stopped event.");stopRecognition.TrySetResult(0);};await conversationTranscriber.StartTranscribingAsync();// 等待识别完成Task.WaitAny(new[] { stopRecognition.Task });await conversationTranscriber.StopTranscribingAsync();}}}
}

代码解析

  1. 环境变量配置:首先,确保设定"speechKey"和"speechRegion",这两个参数是调用微软语音识别服务的基础。

  2. SpeechConfig对象:通过SpeechConfig.FromSubscription方法,使用你的密钥和区域信息创建一个SpeechConfig对象,并设定识别语言为英语(en-US)。

  3. 设定属性:通过SetProperty方法开启中间结果的说话人区分功能。

  4. 创建音频流:利用AudioConfig.FromWavFileInput方法从音频文件中创建一个音频流。

  5. 创建会话记录器:使用ConversationTranscriber类创建一个会话记录器,并订阅相关事件(如Transcribing、Transcribed、Canceled、SessionStopped),以处理实时语音识别和说话人区分结果。

  6. 开启识别:调用StartTranscribingAsync方法开始识别,并等待任务结束,通过事件处理语音识别的各个阶段输出信息。

实际应用效果

        上述代码运行起来,将会实时打印出语音识别结果以及每段话的说话人ID。通过这些信息,我们可以非常方便地将识别到的文本进行进一步处理,例如存储、分析等。

价格

        我们可以查看官方定价标准:

https://azure.microsoft.com/zh-cn/pricing/details/cognitive-services/speech-services/

图片

图片

总结

        微软的Speech服务提供了强大的语音识别能力,通过简单的配置和调用C# SDK,我们能够高效地实现电话录音的说话人区分。希望这篇文章能够帮助大家更好地理解和使用这一服务,让我们在实际项目中发挥其强大功能。如果你有任何问题或需要进一步了解更多技术细节,欢迎在评论区留下你的评论!

        期待你的关注,我们下期再见!

相关文章:

深度解读微软Speech服务:让语音识别走进现实

大家好&#xff0c;今天我们来探讨一个激动人心的技术话题&#xff1a;微软的语音识别服务如何为我们提供强大的语音识别解决方案&#xff0c;特别是在电话录音中识别出不同的说话人。 场景描绘 想象一下&#xff0c;你有一段电话录音&#xff0c;并需要将其中的多个说话人区分…...

第21篇 基于ARM A9处理器用汇编语言实现中断<三>

Q&#xff1a;怎样编写ARM A9处理器汇编语言代码配置按键端口产生中断&#xff1f; A&#xff1a;使用Intel Monitor Program创建中断程序时&#xff0c;Linker Section Presets下拉菜单中需选择Exceptions。主程序在.vectors代码段为ARM处理器设置异常向量表&#xff0c;在…...

专题 - STM32

基础 基础知识 STM所有产品线&#xff08;列举型号&#xff09;&#xff1a; STM产品的3内核架构&#xff08;列举ARM芯片架构&#xff09;&#xff1a; STM32的3开发方式&#xff1a; STM32的5开发工具和套件&#xff1a; 若要在电脑上直接硬件级调试STM32设备&#xff0c;则…...

极客说|Azure AI Agent Service 结合 AutoGen/Semantic Kernel 构建多智能体解决⽅案

作者&#xff1a;卢建晖 - 微软高级云技术布道师 「极客说」 是一档专注 AI 时代开发者分享的专栏&#xff0c;我们邀请来自微软以及技术社区专家&#xff0c;带来最前沿的技术干货与实践经验。在这里&#xff0c;您将看到深度教程、最佳实践和创新解决方案。关注「极客说」&am…...

【C++指南】模板 深度解析

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《C指南》 期待您的关注 目录 1. 引言 2. 模板的基本概念 3. 函数模板 3.1 定义和语法 3.2 函数模板实例化 3.3 隐式实例化 …...

【traefik】forwadAuth中间件跨namespace请求的问题

前情提要 - fowardAuth鉴权中间件的使用&#xff1a; 【traefik】使用forwardAuth中间件做网关层的全局鉴权 1. 问题 我的 traefik-ingress-controller 所在 namespace: traefik 业务服务所在 namespace: apps 路由与 forwardAuth 中间件配置如下&#xff1a; # 路由 apiV…...

【25考研】西南交通大学软件工程复试攻略!

一、复试内容 复试对考生的既往学业情况、外语听说交流能力、专业素质和科研创新能力&#xff0c;以及综合素质和一贯表现等进行全面考查,主要考核内容包括思想政治素质和道德品质、外语听说能力、专业素质和能力&#xff0c;综合素质及能力。考核由上机考试和面试两部分组成&a…...

在 Safari 浏览器中,快速将页面恢复到 100% 缩放(也就是默认尺寸)Command (⌘) + 0 (零)

在 Safari 浏览器中&#xff0c;没有一个专门的快捷键可以将页面恢复到默认的缩放比例。 但是&#xff0c;你可以使用以下两种方法快速将页面恢复到 100% 缩放&#xff08;也就是默认尺寸&#xff09;&#xff1a; 方法一&#xff1a;使用快捷键 (最常用) Command (⌘) 0 (零…...

linux的大内核锁与顺序锁

大内核锁 Linux大内核锁&#xff08;Big Kernel Lock&#xff0c;BKL&#xff09;是Linux内核中的一种锁机制&#xff0c;用于保护内核资源&#xff0c;以下是关于它的详细介绍&#xff1a; 概念与作用 大内核锁是一种全局的互斥锁&#xff0c;在同一时刻只允许一个进程访问…...

CVE-2025-22777 (CVSS 9.8):WordPress | GiveWP 插件的严重漏洞

漏洞描述 GiveWP 插件中发现了一个严重漏洞&#xff0c;该插件是 WordPress 最广泛使用的在线捐赠和筹款工具之一。该漏洞的编号为 CVE-2025-22777&#xff0c;CVSS 评分为 9.8&#xff0c;表明其严重性。 GiveWP 插件拥有超过 100,000 个活跃安装&#xff0c;为全球无数捐赠平…...

牛客周赛 Round 76题解

小红出题 思路&#xff1a;我们发现&#xff0c;每七天可以获得15元&#xff0c;那么我们可以对7取模&#xff0c;看能有多少7的倍数&#xff0c;然后剩下的就是看是否超过5&#xff0c;超过5就直接15&#xff0c;否则加上天数*3 #include<bits/stdc.h> using namespace…...

【ARM】MDK如何将变量存储到指定内存地址

1、 文档目标 通过MDK的工程配置&#xff0c;将指定的变量存储到指定的内存地址上。 2、 问题场景 在项目工程的开发过程中&#xff0c;对于flash要进行分区&#xff0c;需要规划出一个特定的内存区域来存储变量。 3、软硬件环境 1&#xff09;、软件版本&#xff1a;MDK 5.…...

解决在arm架构下的欧拉操作系统mysql8.4.2源码安装

目标&#xff1a;在欧拉的22.03 (LTS-SP4)版本操作系统&#xff0c;cpu的架构为ARM&#xff0c;源码安装mysql-8.4.2。 1.查看操作系统 # cat /etc/os-release NAME"openEuler" VERSION"22.03 (LTS-SP4)"# uname -i aarch642.mysql下载地址 mysql的下载…...

SpringAop

SpringAop aop定义核心概念aop基础实现执行流程 aop进阶通知类型切入点表达式的抽取通知的执行顺序切入点表达式execution方式实现annotation注解方式实现示例 笔记链接 aop定义 AOP&#xff1a;Aspect Oriented Programming&#xff08;面向切面编程、面向方面编程&#xff09…...

C++内存泄露排查

内存泄漏是指程序动态分配的内存未能及时释放&#xff0c;导致系统内存逐渐耗尽&#xff0c;最终可能造成程序崩溃或性能下降。在C中&#xff0c;内存泄漏通常发生在使用new或malloc等分配内存的操作时&#xff0c;但没有正确地使用delete或free来释放这块内存。 在日常开发过程…...

Cesium小知识:pointPrimitive collection 详解

Cesium.PointPrimitiveCollection 是 Cesium 中用于高效管理和渲染大量点(points)的一个类。它允许你创建和管理大量的 PointPrimitive 实例,这些实例可以用来表示地理空间中的点数据,如传感器位置、车辆位置、兴趣点等。与直接使用 Cesium.Entity 相比,PointPrimitiveCol…...

从 Conda 到 Pip-tools:Python 依赖管理全景探索20250113

从 Conda 到 Pip-tools&#xff1a;Python 依赖管理全景探索 引言 在 Python 开发中&#xff0c;依赖管理是一个"常见但复杂"的问题&#xff1a;一次简单的版本冲突可能让团队调试数小时&#xff1b;一次不受控的依赖升级可能让生产环境瘫痪。随着项目规模的增加和…...

浅谈云计算01 | 云计算服务的特点

在当今数字化时代&#xff0c;云计算作为一种强大的技术解决方案&#xff0c;正逐渐改变着企业和个人对信息技术的使用方式。本文将详细探讨云计算的五个主要特点&#xff0c;包括按需自助服务、广泛的网络接入、资源池化、快速弹性伸缩以及可计量服务。 一、按需自助服务 云…...

2025年,华为认证HCIA、HCIP、HCIE 该如何选择?

眼看都到 2025 年啦&#xff0c;华为认证还吃香不&#xff1f; 把这问题摆在每个网络工程师跟前&#xff0c;答案可没那么容易说清楚。 到底考不考它值当不值当&#xff0c;重点在于您自己的职业规划&#xff0c;还有对行业走向的领会。 2025 年华为认证仍然值得一考&#…...

使用Selenium进行网页自动化测试

在使用Selenium进行网页自动化测试时&#xff0c;获取网络请求数据&#xff08;即network数据&#xff09;并不直接由Selenium库提供。Selenium主要用于与网页内容进行交互&#xff08;如点击、输入文本、获取页面元素等&#xff09;&#xff0c;但它本身不拦截或记录网络请求。…...

Linux 下 mtrace 的详细介绍

在 Linux 系统中&#xff0c;内存管理是操作系统的一项重要任务&#xff0c;而内存泄漏&#xff08;Memory Leak&#xff09;是开发过程中常见且棘手的问题之一。为了帮助开发者追踪和调试内存泄漏问题&#xff0c;mtrace 提供了一种有效的方式来检测和分析内存的分配与释放情况…...

【DB-GPT】开启数据库交互新篇章的技术探索与实践

一、引言&#xff1a;AI原生数据应用开发的挑战与机遇 在数字化转型的浪潮中&#xff0c;企业对于智能化应用的需求日益增长。然而&#xff0c;传统的数据应用开发方式面临着诸多挑战&#xff0c;如技术栈复杂、开发周期长、成本高昂、难以维护等。这些问题限制了智能化应用的…...

深入 Flutter 和 Compose 在 UI 渲染刷新时 Diff 实现对比

众所周知&#xff0c;不管是什么框架&#xff0c;在前端 UI 渲染时&#xff0c;都会有构造出一套相关的渲染树&#xff0c;并且在 UI 更新时&#xff0c;为了尽可能提高性能&#xff0c;一般都只会进行「差异化」更新&#xff0c;而不是对整个 UI Tree 进行刷新&#xff0c;所以…...

Android 网络层相关介绍

关注 Android 默认支持的网络管理行为,默认支持的网络服务功能。 功能术语 术语缩写全称释义DHCPv6Dynamic Host Configuration Protocol for IPv6动态主机配置协议的第六版,用于在IPv6网络中动态分配IP地址和其他网络配置参数。DNS Domain Name System域名系统。LLALink-Loc…...

ThreeJs开发环境安装与首个DEMO

安装开发环境 我这边使用的JetBrain的WebStorm&#xff0c;咨询过很多其他开发从业者&#xff0c;普遍使用vscode的比较多。但是考虑到vscode涉及到不少插件安装和IDE配置&#xff0c;作为傻瓜式入门&#xff0c;我这边采用WebStorm。 下载地址&#xff1a; WebStorm: The J…...

【Vim Masterclass 笔记09】S06L22:Vim 核心操作训练之 —— 文本的搜索、查找与替换操作(第一部分)

文章目录 S06L22 Search, Find, and Replace - Part One1 从光标位置起&#xff0c;正向定位到当前行的首个字符 b2 从光标位置起&#xff0c;反向查找某个字符3 重复上一次字符查找操作4 定位到目标字符的前一个字符5 单字符查找与 Vim 命令的组合6 跨行查找某字符串7 Vim 的增…...

js:根据后端返回数据的最大值进行计算然后设置这个最大值为百分之百,其他的值除这个最大值

问&#xff1a; 现在tabData.value 接收到了后端返回的数据&#xff0c; [{text:人力,percentage&#xff1a;‘90’}&#xff0c;{text:物品,percentage&#xff1a;‘20’}&#xff0c;{text:物理,percentage&#xff1a;‘50’}&#xff0c;{text:服务,percentage&#xff…...

线形回归与小批量梯度下降实例

1、准备数据集 import numpy as np import matplotlib.pyplot as pltfrom torch.utils.data import DataLoader from torch.utils.data import TensorDataset######################################################################### #################准备若干个随机的x和…...

【数学】概率论与数理统计(三)

文章目录 [toc] 随机变量的概念随机事件数量化随机变量 离散型随机变量及其概率分布随机变量的分类离散型随机变量离散型随机变量的常见分布两点分布二项分布泊松分布泊松定理证明 泊松分布 超几何分布几何分布 连续型随机变量及其概率分布连续型随机变量零概率事件几乎必然发生…...

如何在 Linux、MacOS 以及 Windows 中打开控制面板

控制面板不仅仅是一系列图标和菜单的集合&#xff1b;它是通往优化个人计算体验的大门。通过它&#xff0c;用户可以轻松调整从外观到性能的各种参数&#xff0c;确保他们的电脑能够完美地适应自己的需求。无论是想要提升系统安全性、管理硬件设备&#xff0c;还是简单地改变桌…...

《AI赋能鸿蒙Next,开启智能关卡设计新时代》

在游戏开发领域&#xff0c;关卡设计是至关重要的一环&#xff0c;它直接影响着玩家的游戏体验和沉浸感。而随着人工智能技术的飞速发展&#xff0c;结合鸿蒙Next系统的强大功能&#xff0c;为游戏的智能关卡设计带来了全新的思路和方法。 利用AI学习玩家行为模式 在鸿蒙Next…...

Safari浏览器上ico图标显示不出来,怎么解决?

Safari浏览器上ico图标显示不出来&#xff0c;怎么解决&#xff1f; 如果Safari浏览器上ico图标显示不出来了&#xff0c;如下图&#xff0c;该图标显示为灰色。 可以关闭Safari浏览器&#xff0c;并清除历史记录&#xff0c;就可以解决啦。 另外&#xff0c;如果多个网站这…...

Java Bean Validation 不适用Spring的情况下自定义validation注解

Java Bean Validation&#xff08;也称为 JSR 380&#xff0c;为 Bean Validation 2.0 规范&#xff09;提供了一套基本的注解&#xff0c;用于定义和验证 Java Bean 的属性。例如&#xff1a; NotNull&#xff1a;属性不能为空 Size&#xff1a;字符串、集合或数组的大小有约…...

【算法学习笔记】30:埃氏筛(Sieve of Eratosthenes)和线性筛(Linear Sieve)

测试题目&#xff1a;AcWing 868. 筛质数 埃氏筛&#xff08;Sieve of Eratosthenes&#xff09; 如果 i i i是素数&#xff0c;每次把 i i i的倍数都筛掉&#xff0c;存在重复筛选&#xff0c;时间复杂度 n ⋅ l o g ( l o g n ) n \cdot log(logn) n⋅log(logn)。 #includ…...

风控业务——评分模型

本文主要讲述了金融机构风控模型的重要性及其应用。首先&#xff0c;开头概述了风控模型的整体建模流程&#xff0c;包括特征工程和建模方法。接着&#xff0c;本文强调了贷前、贷中、贷后三个阶段中风控模型的应用&#xff0c;如信用评分、行为评分和催收评分。同时还提到了信…...

jupyter notebook练手项目:线性回归——学习时间与成绩的关系

线性回归——学习时间与学习成绩的关系 第1步&#xff1a;导入工具库 pandas——数据分析库&#xff0c;提供了数据结构&#xff08;如DataFrame和Series&#xff09;和数据操作方法&#xff0c;方便对数据集进行读取、清洗、转换等操作。 matplotlib——绘图库&#xff0c;p…...

DDD - 微服务设计与领域驱动设计实战(上)_统一建模语言及事件风暴会议

文章目录 Pre概述业务流程需求分析的困境统一语言建模事件风暴会议什么是事件风暴&#xff08;Event Storming&#xff09;事件风暴会议 总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服务、实体与值对…...

《自动驾驶与机器人中的SLAM技术》ch7:基于 ESKF 的松耦合 LIO 系统

目录 基于 ESKF 的松耦合 LIO 系统 1 坐标系说明 2 松耦合 LIO 系统的运动和观测方程 3 松耦合 LIO 系统的数据准备 3.1 CloudConvert 类 3.2 MessageSync 类 4 松耦合 LIO 系统的主要流程 4.1 IMU 静止初始化 4.2 ESKF 之 运动过程——使用 IMU 预测 4.3 使用 IMU 预测位姿进…...

day07_Spark SQL

文章目录 day07_Spark SQL课程笔记一、今日课程内容二、Spark SQL函数定义&#xff08;掌握&#xff09;1、窗口函数2、自定义函数背景2.1 回顾函数分类标准:SQL最开始是_内置函数&自定义函数_两种 2.2 自定义函数背景 3、Spark原生自定义UDF函数3.1 自定义函数流程&#x…...

【LC】2270. 分割数组的方案数

题目描述&#xff1a; 给你一个下标从 0 开始长度为 n 的整数数组 nums 。 如果以下描述为真&#xff0c;那么 nums 在下标 i 处有一个 合法的分割 &#xff1a; 前 i 1 个元素的和 大于等于 剩下的 n - i - 1 个元素的和。下标 i 的右边 至少有一个 元素&#xff0c;也就是…...

Docker 容器通信的网络模式详解

Docker 的网络模式是容器化技术中非常重要的一部分&#xff0c;它决定了容器之间以及容器与外部世界如何通信。Docker 提供了多种网络模式&#xff0c;每种模式都有其特定的使用场景和优势。本文将深入探讨 Docker 的网络模式&#xff0c;包括桥接模式、主机模式、覆盖网络模式…...

Apache和PHP:构建动态网站的黄金组合

在当今的互联网世界&#xff0c;网站已经成为了企业、个人和机构展示自己、与用户互动的重要平台。而在这些动态网站的背后&#xff0c;Apache和PHP无疑是最受开发者青睐的技术组合之一。这一组合提供了高效、灵活且可扩展的解决方案&#xff0c;帮助您快速搭建出强大的网站&am…...

一个简单的html5导航页面

一个简单的 HTML5 导航页面的示例代码&#xff1a; html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><ti…...

积木仪表盘 出现 “没有权限,请联系管理员分配权限“ 解决方法

目录 前言1. 问题所示2. 解决方法前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 原先写过报表的错误!但错误解决方式不一样:jmreport测试数据库出现 权限不足,此功能需要分配角色 解决方法 1. 问题所示 出现 没有权限,请联系管理员分配权限 的…...

C++语言的循环实现

C语言中的循环实现 引言 在程序设计中&#xff0c;循环是一个至关重要的概念。它允许我们在满足某种条件时重复执行某段代码&#xff0c;从而实现复杂的逻辑和算法。C作为一种强大的编程语言&#xff0c;提供了多种循环结构来满足不同的需求。本文将深入探讨C中的循环实现&am…...

高级java每日一道面试题-2025年01月13日-框架篇[Spring篇]-Spring 是怎么解决循环依赖的?

如果有遗漏,评论区告诉我进行补充 面试官: Spring 是怎么解决循环依赖的? 我回答: 在Java高级面试中&#xff0c;Spring框架如何解决循环依赖是一个重要且常见的问题。以下是对Spring解决循环依赖的详细解释&#xff1a; 循环依赖的定义与类型 循环依赖是指两个或多个Bea…...

.Net Core Record 类型

public class Person { public string id {get;init;} public string code {get;init;} public string name {get;init;} } //Person 属性不可单独赋值&#xff0c;相当于使用record定义 public record Person string id,string code,string name&#xff09; //record类…...

GitLab CI/CD使用runner实现自动化部署前端Vue2 后端.Net 7 Zr.Admin项目

1、查看gitlab版本 建议安装的runner版本和gitlab保持一致 2、查找runner 执行 yum list gitlab-runner --showduplicates | sort -r 找到符合gitlab版本的runner&#xff0c;我这里选择 14.9.1版本 如果执行出现找不到下载源&#xff0c;添加官方仓库 执行 curl -L &quo…...

重邮+数字信号处理实验七:用 MATLAB 设计 IIR 数字滤波器

一、实验目的 1 、加深对窗函数法设计 FIR 数字滤波器的基本原理的理解。 2 、学习用 Matlab 语言的窗函数法编写设计 FIR 数字滤波器的程序。 3 、了解 Matlab 语言有关窗函数法设计 FIR 数字滤波器的常用函数用法。 4 、掌握 FIR 滤波器的快速卷积实现原理。…...

CES 2025:INAIR 推出“另类”AR电脑,重新定义移动计算体验

在2025年国际消费类电子产品展览会(CES)上,INAIR公司凭借其创新的AR电脑产品吸引了众多目光。这款设备不仅融合了增强现实(AR)技术与传统个人电脑的功能,还通过独特的设计理念为用户带来了前所未有的移动计算体验。本文将详细介绍INAIR AR电脑的特点、技术创新及其对未来…...