未发布 苹果公司透露Siri新发音引擎的内部原理 苹果公司透露了他们通过深度学习让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不会在短时间使用合成语音代替录制语音。
未发布 教你如何恢复iPhone上删除的数据及iCloud和iTunes备份 因为iPhone没有恢复选项,因此当你误删iPhone上的消息、照片或联系人时都是灾难性的。但现在你无需担心!只要你使用的是Apple设备,iSkysoft Toolbox for iOS(iPhone数据恢复应用程序)可以帮你轻松地恢复已删除的数据。该数据检索器可以在Mac OS和Windows上运行,除了iOS设备之外,还可以从iCloud,iTunes恢复文件。
iSkysoft工具箱 - iOS数据恢复使你能够恢复在各种情况下丢失的数据:被盗、锁定设备、忘记密码、出厂设置、意外删除、iOS系统崩溃等。
主要特征:
- 从iOS设备中直接恢复数据
- 从iTunes备份中恢复数据
- 从iCloud备份中恢复数据
- 支持iOS 10和最新的iPhone7
在本文中,我们将教你如何使用iSkysoft Toolbox for iOS恢复iPhone重要数据的具体方法,只需几个简单的步骤。 方法一:从iPhone直接恢复数据
请注意,在你意识到数据丢失后,你必须立即停止使用该设备。数据丢失后的任何进程都可以覆盖已删除或丢失的数据,这可能会导致数据永久丢失。
步骤1:在计算机上安装最新的iTunes
在运行iSkysoft Toolbox之前,你必须在计算机上安装最新版本的iTunes。
接下来,禁用iTunes自动同步:启动iTunes并找到“首选项”菜单>单击“设备”选项卡>选中“防止iPod,iPhone和iPad自动同步”选项。
现在可以在Windows PC或Mac上退出iTunes。
步骤2:将iOS设备连接到计算机
在PC上下载并安装iSkysoft Toolbox iOS。使用数据线连接iPhone与电脑连接。点击iPhone上的“信任这台电脑”。在设备连接后,点击窗口左侧的“数据恢复”。跳转到“从iOS设备恢复”窗口。
步骤3:扫描iPhone丢失数据
在“从iOS设备恢复”的主窗口中,有2个选项:从设备中删除数据和设备上的现有数据。你可以选择任意一个进行扫描。
点击“开始扫描”。扫描可能需要几分钟的时间,具体取决于iOS设备上的数据量。在扫描过程中,如果你看到你要查找的数据在那里,请单击“暂停”停止该过程。
步骤4: - 预览扫描数据
在扫描过程完成后生成并显示结果。你可以在左侧选择文件类型,然后预览找到的数据。你可以使用搜索功能直接查找所需的文件。
步骤5:从你的iPhone恢复数据
勾选复选框以选择要恢复的数据。接下来,点击当前窗口底部的“还原”。默认情况下,你选择的数据将保存到你的计算机。信息、联系人和笔记将具有以下选项:导出到计算机并还原到设备。
方法二:从iTunes备份中恢复数据
步骤1:选择“从iTunes备份文件中恢复”
如果你在丢失数据之前将你的iPhone备份到了iTunes中,那么你可以尝试从iTunes备份文件中恢复文件。启动iSkysoft工具箱 - iOS数据恢复,单击“从iTunes备份文件中恢复”。

步骤2:选择iTunes备份文件进行扫描
默认情况下,所有iTunes备份文件将被自动检测并显示。 选择包含你需要的数据,然后单击“开始扫描”。
步骤3:从iTunes备份文件中预览和恢复数据iTunes备份文件
在结果页面中提取并显示为类别。选择所需的,然后单击“导出到Mac”。默认情况下,数据将再次保存到计算机。如果你正在恢复联系人、短信和笔记,则可以通过USB电缆将iOS设备与计算机连接,然后将其还原到设备。
方法三:从iCloud备份中恢复数据
步骤1:选择“从iCloud备份文件中恢复”
这种方法只有在你丢失数据前将iPhone、iPad和iPod touch备份到iCloud之前才有效。启动iSkysoft工具箱 - iOS数据恢复,然后单击“从iCloud备份文件中恢复”。
步骤2:登录iCloud
登录到你的iCloud帐户。不要担心帐户的安全性,软件根本不会收集你的个人信息。
步骤3:下载iCloud备份文件
登录iCloud后,所有的iCloud备份文件将被检测并显示在主窗口中。选择要从中恢复数据的数据,然后单击“下载”按钮。
在下一个新窗口中,系统会要求你选择要下载的文件类型。与下载所有文件相比,它将缩短下载目标文件类型的下载时间。下载后,点击“下一步”。
步骤4:从iCloud备份文件中预览和恢复数据
扫描后,你可以看到所有数据以类别显示。你可以选择任何数据进行预览,然后再执行恢复。
总结:
总而言之,iSkysoft Toolbox for iOS是一种用于从iPhone、iCloud和iTunes备份中恢复已删除的文件和数据的轻便、快速、易于使用的解决方案。
阅读原文>>>
未发布 MailBee.NET Objects接收电子邮件(POP3)教程一:接收简单的电子邮件 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
本文主要介绍了接收电子邮件(POP3)的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
要接收简单的电子邮件,开发人员应使用POP3对象。创建此对象的新实例,如下所示:
C#: Pop3 pop = new Pop3(); |
VB.NET: Dim pop As Pop3 = New Pop3() |
基本属性和方法
要接收电子邮件,MailBee.NET Obiects与POP3服务器通信。要连接到POP3服务器,开发人员只需指定此POP3服务器的主机名(或相同的IP地址),如下所示:
C#: pop.Connect("mail.domain.com"); |
VB.NET: pop.Connect("mail.domain.com") |
或者
C#: pop.Connect("127.0.0.1"); |
VB.NET: pop.Connect("127.0.0.1") |
由于所有POP3服务器都需要身份验证,开发人员应指定登录邮箱的登录名和密码,如下所示:
C#: pop.Login("login", "password"); |
VB.NET: pop.Login("login", "password") |
当开发人员成功登录邮箱时,可以通过调用POP3对象的DownloadEntireMessage方法轻松下载此邮箱包含的任何邮件。调用此方法时,开发人员应指定邮件的索引。例如,以下代码行表示从收件箱下载最后一封邮件:
C#: MailMessage msg = pop.DownloadEntireMessage(pop.InboxMessageCount); |
VB.NET: Dim msg As MailMessage = pop.DownloadEntireMessage(pop.InboxMessageCount) |
其中:
- pop.InboxMessageCount是一个属性,包含邮箱中存储的邮件总数;
- msg是一个MailMessage对象,表示单个电子邮件。
注意!如果邮箱中没有邮件,则pop.InboxMessageCount属性为0并调用pop.DownloadEntireMessage(pop.InboxMessageCount)方法将出现错误。
如果要从邮箱下载中下载新邮件,开发者必须定义特殊的帮助函数。该功能应该查找已经下载邮件的现有数据库中邮件的UID。如果没有找到指定的UID,则将该邮件视为新邮件。因此,开发人员必须使用数据库引擎来存储所有接收到的邮件UID。
最后,当邮箱完成所有必要的操作,并且与POP3服务器的连接无效时,开发人员应该调用POP3对象的Disconnect方法以断开与POP3服务器的连接,如下所示:
示例代码:
以下示例从指定的邮箱中下载最新的邮件,并显示此邮件的正文。
在使用MailBee.NET Objects之前,请确保它已解锁。
C#: using System; using MailBee; using MailBee.Pop3Mail; using MailBee.Mime; namespace EmailApp { class Class1 { [STAThread] static bool IsNewMessage(string UID) { return true; } static void Main(string[] args) { Pop3 pop = new Pop3(); try { pop.Connect("mail.domain.com"); pop.Login("login", "password"); Console.WriteLine("Successfully logged in."); } catch(MailBeePop3LoginNegativeResponseException) { Console.WriteLine("POP3 server replied with a negative response at login."); } string[] arrIDs = pop.GetMessageUids(); int n = pop.InboxMessageCount; if (IsNewMessage(arrIDs[n])) { MailMessage msg = pop.DownloadEntireMessage(n); if (msg.BodyHtmlText != "") Console.WriteLine(msg.BodyHtmlText); else if (msg.BodyPlainText != "") Console.WriteLine(msg.BodyPlainText); else Console.WriteLine("The body of this message is empty."); } try { pop.Disconnect(); Console.WriteLine("Disconnected successfully."); } catch { Console.WriteLine("Disconnection failed."); } } } } |
VB.NET: Imports System Imports MailBee Imports MailBee.Pop3Mail Imports MailBee.Mime Namespace EmailApp Class Class1 _ Shared Function IsNewMessage(ByVal UID As String) As Boolean Return True End Function Shared Sub Main(ByVal args() As String) Dim pop As Pop3 = New Pop3() Try pop.Connect("mail.domain.com") pop.Login("login", "password") Console.WriteLine("Successfully logged in.") Catch Console.WriteLine("POP3 server replied with a negative response at login.") End Try Dim arrIDs() As String = pop.GetMessageUids() Dim n As Integer = pop.InboxMessageCount If IsNewMessage(arrIDs(n)) Then Dim msg As MailMessage = pop.DownloadEntireMessage(n) If msg.BodyHtmlText <> "" Then Console.WriteLine(msg.BodyHtmlText) Else If msg.BodyPlainText <> "" Then Console.WriteLine(msg.BodyPlainText) Else Console.WriteLine("The body of this message is empty.") End If End If End If Try pop.Disconnect() Console.WriteLine("Disconnected successfully.") Catch Console.WriteLine("Disconnection failed.") End Try End Sub End Class End Namespace |
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 Essential Studio for Xamarin更新2017 v2,新增sunburst图表控件丨附下载 Essential Studio for Xamarin是全面的Xamarin.iOS、Xamarin.Android和Xamarin.Forms组件套包,包含最快的图表和网格。Essential Studio for Xamarin更新至2017 v2版本,新增sunburst图表控件和许多其他功能。
Essential Studio for Xamarin 2017 v2新功能
sunburst图表
sunburst图表对于可视化分层数据非常有用。中心圆表示结构的根,外圈表示结构的更高级别。
主要特征

新的图像编辑器
增加了一个新的图像编辑器,包含以下功能:
图像裁剪
文字和形状的图像注释
图像旋转和翻转
用于自定义的交互式工具栏

列表显示
自动适应
列表项目可以根据内容自动调整,并且在进入视图时可按需查询每个项目的大小。

实时更新
在运行时对底层执行移动和替换操作时自动刷新视图。
PDF查看器(预览)
文本搜索
搜索文本功能已经添加到XAMarin.Forms的PDF查看器中,允许用户在PDF文档中查找搜索文本实例。

演示
注释功能
可以在PowerPoint演示文稿中创建和修改注释。

数据网格
表格摘要
数据网格控件支持在视图的顶部或底部显示表格摘要信息。

数据模板选择器
数据网格控件支持模板列中的数据模板选择器,并根据用户的需要自定义单元格模板。

调整大小
数据网格控件支持调整大小功能,允许在平移或平移完成时调整列的大小。

计划表
性能改进
控制性能提升以便处理大量的计划。加载性能也得到改善,以便在运行时更改计划视图时提供更好的体验。
未发布 NET图像处理库ImageGear for .NET更新至v23.4,添加增强版的数字签名技术 文档图像解决方案的领导者Accusoft发布最新版本的图像查看和处理工具包ImageGear for .NET v23.4,新版本专注于PDF文件的数字签名功能。数字签名使用特定的安全协议来确保安全性。该软件可以验证签署方的身份,确认该文件没有变更并签署一份具有法律效应的协议。
ImageGear .NET v23.4中的新增功能
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等。
2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!
未发布 MailBee.NET Objects发送电子邮件(SMTP)教程五:发送带有嵌入图片的网页和HTML邮件
如果HTML格式的邮件没有任何嵌入对象,开发人员可以使用SMTP.BodyHtmlText属性或SMTP.Message.LoadBodyText方法来设置邮件正文。
SMTP.BodyHtmlText属性允许开发人员直接分配邮件正文,如下所示:
C#: oMailer.BodyHtmlText = @"Test HTML message.
This is a test HTML mes-sage.
www.afterlogic.com"; |
VB.NET: oMailer.BodyHtmlText = "Test HTML message.
" & vbCrLf & _ "" & vbCrLf & _ "" & vbCrLf & _ "This is a test HTML mes-sage." & vbCrLf & _ " " & vbCrLf & _ " " & vbCrLf & _ "www.afterlogic.com" |
也可以使用SMTP.Message.LoadBodyText方法。在这种情况下,开发人员可以从指定的URI中加载消息,如下所示:
C#: oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm", MessageBodyType.Html); |
VB.NET: oMailer.Message.LoadBodyText("http://www.domain.com/index.htm", MessageBodyType.Html) |
或者
C#: oMailer.Message.LoadBodyText(@"C:\Temp\saved_web_page.htm", MessageBodyType.Html); |
VB.NET: oMailer.Message.LoadBodyText("C:\Temp\saved_web_page.htm", MessageBodyType.Html) |
否则,开发人员应该调用SMTP.Message.LoadBodyText方法来编写一个包含嵌入对象(图像,音频或视频)的消息。以下示例将邮件正文加载为默认编码以及指定URI中的所有相关文件:
C#: oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm ", MessageBodyType.Html, Encoding.Default, ImportBodyOptions.ImportRelatedFiles| ImportBodyOptions.ImportRelatedFilesFromUris); |
VB.NET: oMailer.Message.LoadBodyText("http://www.domain.com/index.htm ", _ MessageBodyType.Html, _ Encoding.Default, ImportBodyOptions.ImportRelatedFiles Or _ ImportBodyOptions.ImportRelatedFilesFromUris) |
请注意:在使用SMTP.Message.LoadBodyText方法时,所有相关文件将被添加到邮件中。
代码示例:
该示例从拥有嵌入对象的现有网页中创建新邮件并发送。在使用MailBee.NET Objects之前,请确保它已解锁。
| C#: using System; using System.Text; using MailBee; using MailBee.SmtpMail; using MailBee.Mime; namespace EmailApp { class Class1 { [STAThread] static void Main(string[] args) { Smtp oMailer = new Smtp(); oMailer.To.AddFromString("Bill Smith "); oMailer.From.AsString = "John Doe (Company Info)"; oMailer.Subject = "Test web page"; oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris); try { oMailer.Send(); Console.WriteLine("The message has been successfully sent."); } catch (MailBeeSmtpMessageSizeOutOfRangeException e) { Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes)."); } } } } |
| VB.NET: Imports System Imports System.Text Imports MailBee Imports MailBee.SmtpMail Imports MailBee.Mime Namespace EmailApp Class Class1 _ Shared Sub Main(ByVal args() As String) Dim oMailer As Smtp = New Smtp() oMailer.To.AddFromString("Bill Smith ") oMailer.From.AsString = "John Doe (Company Info)" oMailer.Subject = "Test web page" oMailer.Message.LoadBodyText("http://www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris) Try oMailer.Send() Console.WriteLine("The message has been successfully sent.") Catch e As MailBeeSmtpMessageSizeOutOfRangeException Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes).") End Try End Sub End Class End Namespace |
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 .Net文档图像处理工具包GdPicture.NET发布v14.0.27,提升GdViewer控件的速度 GdPicture.NET是一款功能全面且可无限分发的文档图像处理工具包,开发者可将其作为.NET组件运用在他们的C#, VB.NET和CodeGear应用程序中,从而实现文档生成,显示,获取,编辑和打印等功能。
在您的程序中使用GdPicture.NET,可实现文档显示,获取TWAIN扫描图像,进行图像处理,执行光学字符识别操作,其涵盖了所有主流领域的其他文件成像技术。
GdPicture.NETv14.0.27更新内容:
- 修复了OCR无法识别大图像文件的问题。
- 提升了GdViewer控件(WPF版本)注释绘图和渲染的速度。
- 1D条码引擎:提高准确性。
- 1D条码引擎:提高速度。
- 1D条码编写:修复了一些字符不能正确编码的问题。
- PDF417条码编写:修复崩溃的问题。
- DocuVieware:新的JavaScript函数GetCurrentSearchOccurrenceIdx()。
- 其他小的修复。