未找到

未发布 MailBee.NET Objects撰写邮件教程(三):请求阅读/发送状态提示
by Harriet666 keys 分享 1502269098187
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了电子邮件请求阅读/发送状态提示的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
要查看邮件发送状态,开发人员应使用DeliveryNotificationOptions类。此类提供如何以及何时将ESMTP传递状态通知(DSN)发送回发送方的属性和方法。要获取或设置触发ESMTP服务器的事件,开发人员应使用NotifyCondition属性:
C#
Smtp mailer = new Smtp();
mailer.DeliveryNotification.NotifyCondition = DsnNotifyCondition.Always;

VB.NET
Dim mailer As New Smtp() 
mailer.DeliveryNotification.NotifyCondition = DsnNotifyCondition.Always
 
如果邮件服务器支持DSN扩展,则开发人员可以指定触发ESMTP服务器将发送状态发回邮件发送方的事件。为此开发人员应该使用DsnNotifyCondition枚举。例如,使用默认值,服务器将自行发送通知;如果邮件发送失败则会触发通知。有时,当邮件发送失败时,可以使用发送状态通知返回原始邮件。使用MailBee,开发人员可以指定邮件发送失败时哪个部分(整个邮件或仅标头)应与发送状态通知一起发回:
C#
mailer.DeliveryNotification.ReturnPortion = DsnReturnPortion.Header;

VB.NET
mailer.DeliveryNotification.ReturnPortion = DsnReturnPortion.Header
 
开发人员还可以指定将添加到通知邮件中的特定唯一字符串。它可以用于将通知邮件与原始邮件进行匹配:
​C#
mailer.DeliveryNotification.TrackingID = "UNQIUE_STRING_q8sdf74d";
VB.NET
mailer.DeliveryNotification.TrackingID = "UNQIUE_STRING_q8sdf74d"
 
如果服务器不支持DSN,则不会发送状态通知。但是,在这种情况下,不会向应用程序返回任何错误。你可以手动检
查服务器是否支持发送状态通知:
C#
if (mailer.GetExtension("DSN") != null)
{
    Console.WriteLine("The message will be submitted with DSN support");
}
else
{
    Console.WriteLine("The message will be submitted without DSN support");
}

VB.NET
If mailer.GetExtension("DSN") IsNot Nothing Then
    Console.WriteLine("The message will be submitted with DSN support")
Else
    Console.WriteLine("The message will be submitted without DSN support")
End If
 
请注意,你应该在Smtp.Connect方法调用后在调用GetExtension(“DSN”)。
请求查看邮件发送状态的另一种方法是使用MailMessage.ConfirmReceipt属性。它允许开发人员获取或设置应收到发送确认邮件的个人电子邮件地址。
以下代码设置Return-Receipt-To消息头:
C#
// Create new MailMessage object.
MailMessage msg = new MailMessage();

msg.LoadMessage(@"C:\Temp\MyMail.eml");

msg.ConfirmReceipt = "jdoe@domain.com";

VB.NET
' Create new MailMessage object.
Dim msg As New MailMessage()
 
msg.LoadMessage("C:\Temp\MyMail.eml")
 
msg.ConfirmReceipt = "jdoe@domain.com"

收件人的邮件服务器应该检查接收到的邮件Return-Receipt-To标题值,并将发送确认邮件发送到该标题中指定的电子邮件地址。因此,收件人的邮件软件必须支持Return-Receipt-To功能。一些服务器支持Return-Receipt-To和DSN,而其他服务器只支持其中一个,甚至不支持。你可以同时使用这两种方法。
发送状态信息尚未确保收件人已阅读该邮件。要获取包含电子邮件地址的字符串,请使用MailMessage.ConfirmRead属性。
C#
// Create new MailMessage object.
MailMessage msg = new MailMessage();

// Load the message from .eml file
msg.LoadMessage(@"C:\Temp\MyMail.eml");

// Show the e-mail address of recipient of the read confirmation message.
Console.WriteLine("Send confirmation to " + msg.ConfirmRead);

VB.NET
' Create new MailMessage object.
Dim msg As New MailMessage()
 
' Load the message from .eml file
msg.LoadMessage("C:\Temp\MyMail.eml")
 
' Show the e-mail address of recipient of the read confirmation message.
Console.WriteLine("Send confirmation to " + msg.ConfirmRead)
注意: 收件人使用的邮件客户端必须支持ConfirmRead功能(该软件必须支持Disposition-Notification-To标头)。
未发布 网络通讯组件包Red Carpet Subscriptions 2017 v2发布,升级整个代码库
by Harriet666 keys 分享 1501060223518
Red Carpet Subscriptions 2017 v2包括整个产品线的升级代码库,拥有迄今为止最佳的性能、质量和可用性。还包括许多安全更新,支持最新的开发工具,新组件等。我们已将所有组件升级到2016版本。

更新重点


整个产品线的升级

  • 每个产品都已升级到新的代码库,提供更强大的安全性、更好的性能和改进的API。
  • .NET版本支持Microsoft Visual Studio 2017。
  • Delphi和C ++ Builder版本支持Embarcadero RAD Studio 10.2 Tokyo。
  • 默认的签名算法已经更新到SHA-256。

IP*Works! Encrypt安全更新

  • 组件通过了Google的Wycheproof测试。
  • 新的Rijndael组件支持NIST标准。
  • OpenPGP默认签名算法更新为SHA-256。
  • 添加了对SHA-512/256和SHA-512/224的Hash支持。

Cloud Storage Integrator的更多选项

  • 支持Google Drive API v3。
  • 新的AzureBlob组件允许你使用Azure Blob存储。

改进X12和EDI积分器

  • 新的X12Translator组件可轻松将X12转换为XML,反之亦然。
  • 增强API、文档解析和JSON编程功能。

使用TCP与IP*Works! SNMP

  • 新组件(SNMPTCPMgr,SNMPTCPTrapMgr和SNMPTCPAgent)允许你使用SNMP。

IP*Works! SSH的新隧道功能

  • SSHReverseTunnel组件现在具有智能重新连接的功能。

新订阅优惠:选择版本的源代码

  • 为了帮助你在任何Linux系统上进行编译,无需依赖共享对象文件,Red Carpet Subscription包含访问macOS、iOS、C ++ for Linux、PHP和Node.js版本的混淆源代码。

细节


所有产品

  • 支持Micosoft Visual Studio 2017
  • 支持Embarcadero RAD Studio 10.2 Tokyo
  • 默认签名算法更新为SHA-256

IP*Works! Encrypt

  • 新的Rijndael组件。
  • OpenPGP默认签名算法更新为SHA-256。
  • 支持SHA-512/256和SHA-512/224。

IP*Works! SNMP

  • TCP的新组件 - SNMPTCPMgr、SNMPTCPTrapMgr、SNMPTCPAgent。
  • SysUpTime属性支持64位整数集。

X12 Integrator

  • 新的X12翻译器组件 - 轻松将X12转换为XML,反之亦然。
  • API更新为标准化输入/输出选项并提供更一致的体验。
  • 用于可视化和解析文档结构的附加功能。
  • 使用RSSBus JSON模式时可以使用改进的可读值。

IP*Works! SSH

  • SSHReverseTunnel智能重连。

EDI Integrator

  • AS2事件的日志记录。
  • AS2默认签名算法更新为SHA-256。
  • 增加OFTPClient AcceptFile事件。
  • AS4默认加密算法更新为AES128-GCM。
  • OFTP LocalFile添加到Transfer和EndTransfer事件。
  • 添加了RNIF SignatureAlgorithm属性。
  • GISB默认使用内部PGP提供程序。

EDIFACT Integrator

  • API更新为标准化输入/输出选项,并提供更一致的体验。
  • 用于可视化和解析文档结构的附加功能。
  • 使用RSSBus JSON模式时可以使用改进的可读值。

IP*Works! S/MIME

  • API更新为标准化输入/输出选项,并提供更一致的体验。

IP*Works! Auth

  • 添加OneTimePassword组件。
  • ClaimsAuth现在是SAML。
  • 用于用户和组信息的Active Directory方法。
未发布 【教程】Edraw Max(亿图图示)案例:产品经理如何用亿图绘制流程图?
by Harriet666 keys 分享 1499325107927
做调研、看数据、画原型、写文档、整理需求、跟进项目……这些琐碎的工作是基本上是每个产品人的日常。然而如何从凌乱的任务清单中抽丝剥茧,让每天的工作更加高效,自然成为了许多产品人迫切需要解决的问题!所谓,工欲善其事,必先利其器。作为一名优秀的产品人,光有想法还远远不够,将想法快速付诸于行动才是最实际有效的。本文给大家分享一下如何用Edraw Max(亿图图示)软件提高工作效率,让想法与行动完美结合,绘制完美的流程图!
 
Edraw Max(亿图图示)软件是一款综合类型的图形图表设计软件,你可以在这里绘制各种类型的图形、图表,不管是创建项目、跟踪进度、流程安排、日程管理,还是数据管理、产品展示等等。目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!
 
Edraw Max(亿图图示)V8.7中文版点击下载>>>

对比Visio,Edraw Max(亿图图示)具有哪些优势?
1、用Edraw Max绘制的流程图比Visio更美观,只需轻轻的拖曳即可做出漂亮的图形,无需额外设置。
2、Edraw Max(亿图图示)包含了丰富精美的模板和实例库,相对于Visio自带模块,Edraw Max的模块更丰富绚丽,给人的感觉会更舒心更高大上一些!
3、Edraw Max(亿图图示)自带“高光流程图”让绘制的流程图更有质感。
4、Edraw Max(亿图图示)内置的12000多个模板实例库中,很多都非常适用于产品经理!
 
流程图绘制的四个步骤:
1、调研
让熟悉整体业务的人讲解了解大局,并实地观察和询问,验证讲解以及发现潜在问题。
2、梳理与呈现
将整个流程进行分解,由上至下、由整体到部分、由宏观到微观、由抽象到具体的用流程图展现出来。
温馨提示:此环节一定要恰当的进行层次分解,不要将所有都铺到一张图上。流程图上所涉及的各个岗位、角色,适当的让他们进行参与、交流,会让你事半功倍。最后流程图一定要有始有终,不要让人看了半天,还在云里雾里。
3、评审与确认
这一环节不仅仅是评审流程图是否符合现实,同时也是评审目前的业务流程是否符合理想。不同岗位不同职责的人员会在根据自身实际情况对整个流程相互提出意见,这样一场头脑风暴,想必对流程优化也不失为一件好事!
4、归档维护
流程不断变更,业务流程图也需要及时作出相应的修改。
未发布 扫描识别工具Dynamic Web TWAIN使用教程:如何将本地图像加载到查看器中
by Harriet666 keys 分享 1513762100521
未发布 【百厂约惠】盘点2017年5款最好用的图形图像/CAD工具
by Harriet666 keys 分享 1512634858391
图像已经成为网络不可或缺的一部分,相比文字来说图像更直观。那么各种图形图像的处理软件、控件就必不可少了。
 
今天为大家推荐慧都2017年5款最受欢迎的图形图像/CAD工具,附带各个软件、控件的基本介绍以及最新版本的下载地址,有兴趣的朋友可以免费下载进行试用。在使用过程中出现了任何问题,请联系我们的在线客服
 
Dynamic Web TWAIN——应用于Web应用程序的TWAIN扫描识别工具 支持所有主流浏览器
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。然后用户可以编辑图像并将图像保存为多种格式,用户可保存图像到远程数据库或者SharePoint。这个TWAIN控件还支持上传和处理本地图像。
Dynamic Web TWAIN已加入慧都“百厂约惠”促销活动中,历史最低6.7折等你来抢>>>
【Dynamic Web TWAIN最新版下载】
 
VectorDraw Developer Framework——构建2D、3D图形的矢量图形引擎库
VectorDraw Developer Framework(VDF)是一个用于应用程序可视化的图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。
VectorDraw Developer Framework历史最低6.6折限时抢购中,立即查看>>>
【VectorDraw Developer Framework最新版下载】
 
CAD .NET——支持AutoCAD®DWG,DXF,PLT及其它CAD格式
CAD .NET是一款在CAD领域被广泛应用的控件,可以快速准确的阅读DWG和DXF文件,并且通过Windows GDI+方法绘制件,支持多种文件格式,包括DWG、DXF、Gerber、光栅图像等,并支持部分编辑功能。

【CAD .NET最新版下载】

ImageGear for .NET——为程序添加扫描/识别/PDF/文件查看与处理/图形编辑与处理等功能
ImageGear for .NET是一款图形图像处理控件,具有扫描,压缩,浏览、添加注释,打印,图像编辑,OCR以及PDF和矢量图像支持,使开发人员可以快速地开发出图像处理程序,可用于.NET Framework2.0、3.0、3.5、4.0,ASP.NET,WPF,SilverLight,DirectX 10和Direct3D 10。支持超过100种图片格式,包含:TIFF, JPEG, CAD, Vector, 3D PDF, PDF/A, PS等。

【ImageGear for .NET最新版下载】

LEADTOOLS Document Imaging Developer Toolkit——多语言的文档图像处理控件
使用LEADTOOLS Document Imaging可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。

【LEADTOOLS v19总套包免费下载】


更多百厂约惠折扣产品,点击了解>>
 
郑重承诺:慧都所售产品均为厂商授权的正版产品,请完全放心!
 
*想要了解更多优惠信息?请咨询慧都客服
*本活动最终解释权归慧都科技所有
咨询热线: 400-700-1020(免费)  023-66090381

未发布 纯JavaScript编写的开源图表库Highcharts v6.0.1发布 | 附下载
by Harriet666 keys 分享 1507690332321
Highsoft公司旗下三大产品包括Highcharts, Highstock和Highmaps。其中Highcharts在图表领域处于领先水平。

Highcharts是一款纯JavaScript编写的图表库,为你的Web网站、Web应用程序提供直观、交互式图表。当前支持折线、曲线、区域、区域曲线图、柱形图、条形图、饼图、散点图、角度测量图、区域排列图、区域曲线排列图、柱形排列图、极坐标图等几十种图表类型。(重要推荐:Highcharts图表库单个开发者授权特别优惠,【在线订购】专享7折!
Highcharts 6.0.1
Bug修复
  • 修复#7223,v6中的复原导致IE中股票图表和某些功能崩溃。
  • 修复#7228,v6中的复原导致只有负值的列不显示。
Highcharts 6.0.0
  • 添加了注释模块,用于注释带有标签或形状的图表。
  • 为WebGL绘制添加了Boost模块。
  • 添加了用于定位标签旁边的数据的标签模块。
  • 将旧的IE代码解耦成一个单独的模块。
  • 添加了新的系列类型,钟形曲线。
  • 添加了新的系列类型,子弹图。
  • 添加了新的系列类型,直方图。
  • 添加了新的图表布局,平行坐标图。
  • 添加了新的系列类型,帕累托图。
  • 添加了新的系列类型,sankey图。
  • 添加了新的系列类型,3D散点图。
  • 添加了新的系列类型,流图。
  • 添加了新的系列类型,旭日图。
  • 添加了新的系列类型,可变饼图。
  • 添加了新的系列类型,variwide。
  • 添加了新的系列类型,矢量图。
  • 添加了新的系列类型,wind barbs。
  • 添加了新的系列类型,文字云。
  • 添加了新的系列类型,X range。
  • 改进了数据模块的CSV解析器。
Bug修复
  • 修复#5909,顶部的绘图边框丢失。
  • 修复#6005,选择的饼图切片在样式模式下有错误的颜色。
  • 修复#6268,Chart.update()没有更新数据模块的参数。
  • 修复#6302,当xAxis.max和rangeselector.selected被定义时,没有显示图表。
  • 修复#6957,当在地图和其他系列类型上的tooltip.useHTML为true时,形状将在IE和Edge中闪烁,并且工具提示隐藏。
  • 修复#6992,数据标签定位错误。
  • 修复#7021,清除重复的标记参考。

Highstock使用纯JavaScript编写,为你创建股票图表和常用时间分段图表,包括复杂的导航选项,例如:小导航仪系列、预定日期范围、日期选择器、滚动和平移。
Highstock 6.0.1
Highstock 6.0.0
  • Highcharts 6.0.0的大部分更新也适用于Highstock 6.0.0。
  • 添加内置技术指标。
  • 添加拖放窗格调整大小。
  • 支持量程选择器定位。
  • 在导航器中支持最大范围的支持和自定义。
  • 支持滚动以浏览数据。
  • 添加compareStart来定义哪个点应该是计算的基础。 参见#1613。
  • 添加rangeSelector.buttons.offsetMin和offsetMax来控制按钮的极限范围。 参见#1613。
  • 添加xAxis.maxRange以限制导航器的最大允许范围。
  • 添加xAxis.overscroll。
  • 为navigator.handles添加了新的选项。
Bug修复
  • 修复#6655,标志系列与showInNavigator设置为true时会出现错误和缺失图。
  • 修复#7109,使用响应规则时超出了堆栈大小。
  • 修复导航器更新问题。 关闭#7110和#5846。

Highmaps是一个基于web的项目创建地图HTML5地图组件。它扩展了Highcharts JavaScript API,允许web开发人员构建交互式地图显示销售、选举结果或任何与地理位置有关信息。适合单独使用或结合Highcharts使用。(重要推荐:Highmaps地图组件单个开发者授权特别优惠,【在线订购】专享7.5折!
Highmaps 6.0.1
Highmaps 6.0.0
  • Highchart 6.0.0的大部分更新也适用于Highmaps 6.0.0。
  • 添加了新的系列类型,tile maps,支持蜂窝、菱形和圆形布局。
Bug修复
  • 修复#7166,鼠标悬停后,动画中的地图区域边框变宽。

【慧都十四周年庆预热开启!全场满额送七级豪礼,AppleMac笔记本电脑、iwatch、iPad等您来拿!】

活动时间:10月1日-10月31日

未发布 2017年移动开发中优秀的10大框架
by Harriet666 keys 分享 1488161905996
框架被视为复杂的软件开发环境。它们包括许多子组件,其主要工作是帮助您创建应用程序。框架提供了许多工具集、调试器、编译器、不同的代码库,应用程序编程接口和其他组件。它们都是为了让应用程序开发人员工作变得更加容易。框架是APP开发的基础,它们可以使整个开发过程变得更简单、更令人兴奋。没有框架,开发人员将从头开始编写他们想要开发的每个应用程序。这将涉及大量的编码来让应用程序可以在不同的平台上工作。这里将列举出最好的框架来让你的开发更简单和更容易。

点击查看十大框架具体信息>>>

未发布 全面的.NET图像处理包DotImage v10.7.0.7发布丨附下载
by Harriet666 keys 分享 1491038264122
DotImage

Atalasoft DotImage 是一款功能完善的图像处理包,它主要针对.NET的开发。它为基于.Net框架开发的Windows应用程序以及基于IE的Asp.Net程序提供高级的图像处理功能。DotImage 提供了很多Microsoft .NET Framework一样的设计模式,并向开发者提供功能丰富,高性能,授权方式灵活的对象模式。 
最新版DotImage点击下载>>>
 
DotImage v10.7.0.7更新内容

v10.7.0.7中的修复的问题

  • [TiffDecoder]Customer图片会导致TiffDecoder出现SEHException异常。
  • [AdvancedDocClean] LineRemovalCommand在某些图像上会引起不可修复的System.AccessViolationException,从而破坏主机进程。
  • [AbbyyEngine] OcrTableRegion.Cells没有被填充。
  • WebDocumentViewer getDocumentInfo对removePage的调用不成功。

上一个版本中修复的问题

  • 在特定的PDF中使用修复功能会导致新版本出现异常。
  • [MVC] NuGet库中缺少Atalasoft.dotImage.WebControls.MVC(包括x86和x64)。
  • [WDV] Async方法可能会在浏览器页面刷新期间/之后引起控制台发生错误。
  • 使用PdfDocument.Save格式保存时,Multipage PDF页面会引用前几页的资源。
  • 保存PDF时,无效的PDF属性值会引起异常。
  • [PdfAnnotationDataExporter]使用OverwriteExistingAnnotations = true保存到特定图层时,会覆盖掉上一层。
  • PDF417条形码不可读取。
  • Customer DWG文件在DwgDecoder中呈现时丢失图像。
  • WebDocumentViewer会调用触发了ThreadAbortException的Response.End。
  • PdfDocument.Repair对于某些格式不正确的链接可能会删除而不是修复。
  • [PdfTextDocument]文本提取结果在某些文档上使用时会丢失内容。
  • 当SelectionMode = ThumbnailSelectionMode.MultiSelect时WinForms ThumbnailView / FolderThumbnailView SelectionIndexChanged会触发两次。
  • RawDecoder注册时,Customer file会引起System.AccessViolation异常。
  • [PdfGeneratedDocument] PdfTextLine会忽略通过构造函数传递的FillColor和OutlineColor值。
  • [PdfDocument]一些PDF文件在PdfDocument中打开时会发生StackOverflow问题。
  • [PdfDocument]使用PdfDocument / PdfAnnotationDataImporter打开一些PDF时会出现Overflow问题。
  • WebDocumentThumbnailer:当tabular:true set时,滚动条未正确更新。
  • 客户在Logger中报告的竞争条件/非线程安全行为。
  • “不支持Colourspace转换”的Customer tiffs无法打开。
  • 755266:WDV - 打开non-relative web根路径将导致WDV保存失败。
  • [PdfDocument]如果我们多次将新页面添加到文档时,Adobe Acrobat将无法读取pdf文件。
  • 只有页面可见时,WebDocumentViewer Rotate方法才会更新。
  • [OfficeDecoder]无论解码器分辨率如何设置,Office文件始终呈现默认的DPI(大多数系统上为96)。
  • [PdfEncoder]使用PdfCompressionMode.Segmented保存大文件(大量页面)会发生内存的问题。
  • [BarCodeReader] DataMatrix条形码读取速度非常慢
  • PdfCompressionMode.Segmented强制将灰度图像变为黑白,且这种行为没有记录。
  • PdfDocument打开/保存时Customer PDF被损坏。
  • [OfficeDecoder]部分office文件的表格标题中缺少内容。
  • 带有AnnotationStreamWritten事件的WDV 10.7中的行为发生变化。
  • 载入注释中的WDV regression。
  • [DotTwain] HP scanners DeviceEvent 会使device.State进入无效状态。
  • Barcoding.Reading.BarcodeReader没有读取到相应的客户代码。
  • 10.7 WDV更改会破坏WingScan-only的许可。
  • [PdfAnnotationDataExporter] EmbeddedImageAnnotation会增加目标PDF文件大小。
  • [BarCodeReader] - 在其他引擎中读取的PDF-417条形码的Customer images在BarCodeReader中无法读取。
  • [BarCodeReader]当前的BarCodeReader引擎无法读取旧的9.x(Inlite)引擎读取的条形码的全部内容。
  • [PdfDocument]Customer PDF会引起关于MLPdfLabColorSpace的PdfException异常。修复后提示成功,但所有内容也会丢失。
未发布 微软的dotnet-new工具可以使创建JavaScript Web 程序变得更简单
by Harriet666 keys 分享 1488337232319

Microsoft发布了一组工具,使用他们的dotnet-new工具和使用Node.js的灵活方法可以快速生成基于JavaScript的Web 应用程序。

dotnet-new工具是.NET Core工具的一部分,用于使用简单的命令启动一个新项目。作为ASP.NET Core JavaScript Services的一部分,Web开发人员现在可以使用相同的命令来启动新的单页应用程序(SPA)。

点击查看完整内容>>>

未发布 苹果公司透露Siri新发音引擎的内部原理
by Harriet666 keys 分享 1505467031256
苹果公司透露了他们通过深度学习让Siri的发音更加自然的内幕。

iPhone用户使用自然语言向Siri提问,Siri也通过语音回答问题。Siri可以使用21种语言回答问题,遍布全球36个国家。在2017年WWDC大会上,苹果宣布了iOS 11上的Siri将使用最新的文本语音引擎。2017年8月,苹果的机器学习期刊透露了他们是如何让Siri的发音更加自然的。

iPhone上的语音是通过拼接预先录制的人类语音来生成的。先录制几个小时的语音,再把它们拆分成单词,然后再把单词拆成最基本的元素:音素。在生成句子的时候,系统会选择合适的音素,再把它们拼接在一起。
 
为音素选择合适的录音是一件很有挑战性的事情。每一个音素都要与发音相匹配,也要与相邻的其他音素相匹配。旧系统只有几种录音,音素的来源很有限,所以听起来有点不自然。于是苹果决定使用深度学习来确定声音单元在句子中的各种属性。
 
每一台iOS设备都包含了一个小型的预录音素数据库。每一份数据都包含了音频属性:声音频谱的音高和音长。一个经过训练的“深度混合密度网络(deep mixture density network)”用于预测每一个音素在句子中的特征。苹果设计了一个成本函数来训练这个网络,着重考虑到两个方面的问题:如何让音素与发音相匹配以及如何让它与句子相融合。
 
在通过“Viterbi”算法从数据库里找到需要的数据后,系统会选出最佳的音素组合,把它们拼接起来,然后播放出声音。
 
另一种方式是生成声波,而不是拼接预录的声音。2016年9月,Alphabets Deepmind发布了WaveNet引擎,可以基于电脑生成文本语音。它的不足是速度很慢,就算使用最快的台式电脑也需要很长时间才能完成合成任务。所以,Siri不会在短时间使用合成语音代替录制语音。

 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA