我要测试语音识别程序.一些我可以访问代码而另一些我不访问代码.
可悲的是,我(美丽)的声音并不完美,所以当我阅读文本时,每次听起来都略有不同.这使得测试变得困难且耗时.给我可以调整很多参数.
所以我想知道是否有办法记录我自己的声音(已经完成).然后将其作为普通麦克风输入播放,以便我测试的语音识别程序将其视为麦克风输入.
如果可以在C#中以编程方式完成,这也将有很大帮助.所以我可以在我自己的代码中指定何时播放什么.
要从扬声器播放并让语音识别程序听麦克风不是一种选择,因为它在不同的计算机/扬声器/麦克风上的声音不同.
谢谢.
编辑:到目前为止我发现的是使用软件声卡模拟器.但我找不到合适的人.
目标
我们的用户使用Google文档.他们写的文字将在他们使用文字转语音键入时读给他们.它应该在尽可能多的平台和浏览器中工作.
我们的方案
这似乎适合Google Apps脚本,适用于所有桌面浏览器和某些移动浏览器.
这有效
我们有一个文本转语音模块,效果很好,所以没问题.我们目前正在使用侧边栏.侧边栏可以使用HTML 5音频标签播放音频,无需任何问题.
问题
问题实际上是从Google文档文档中获取文本.到目前为止,我还没有找到任何方法直接从侧边栏访问Google文档文本.我们一直在做的是:
从用户在谷歌文档中输入文本到将更改同步到谷歌文档云时,需要一秒或更长时间.
我们计划了不同的步骤.文本转语音很快,HTML5音频也没问题.
该时间片是获得文本的变化.它目前需要1-3秒,这对我们的用例来说太长了.
题
我们可以更快地访问Google文档中的文字吗?也许直接而不是通过谷歌的云?
更新2017-02-15 目前看来它是不可能的.可以通过Chrome扩展程序执行此操作,它会解析Google文档主页并从HTML + JS中提取文本.这很难,但......可能.
javascript google-docs google-apps-script google-drive-realtime-api
我正在为我们的团队设置构建服务器.
背景
我们正在使用Microsoft Visual Studio 2010 Ultimate.我们的产品包含C#代码(主要是),外部DLL和C代码.我们正在使用.Net 4.0并拥有70多个项目.
我们正在使用代码的3个分支:
所有分支都在TF源控制之下.
目标
我们想要的是让构建服务器每天为所有分支构建和运行所有单元测试,构建服务器应该使用源代码管理中的代码.我们的目标是进行一些快速标准的错误检测.我们更喜欢维护构建服务器.
我们不会使用构建服务器生成的构建,我们只需要使用构建服务器来持续构建和单元测试我们的分支.
设置
的内容目前设置了两个构建定义,一个用于Test Branche,一个用于Development Branche,两个构建定义都采用源代码控制中的代码(该部分工作正常),但这里有趣的地方开始.
问题
测试Branche可以很好地构建和运行单元测试.
由于(或类似的5个)错误,开发分支无法构建:
The type or namespace name 'XXX' does not exist in the namespace 'YYY' (are you missing an assembly reference?)
Run Code Online (Sandbox Code Playgroud)
错误是项目X引用项目Y.项目X和Y都是C#.Net 4.0项目,我们完全控制它们,X和Y都编译为DLL.项目Y包含项目X中的类正在实现的接口.
令人烦恼的细节是,对于X或Y项目,Test Branche和Development Brance没有区别.这两个项目在过去3个月完全相同.
所以问题是,为什么它在Test Branche中有效,而在Development分支中却没有?
我测试过:
- 项目正确地相互引用. - 所有3个分支在我自己/我的任何同事开发机器上构建都没有问题(我们已经在5台不同的机器上进行了测试). - 我试图删除整个X项目并重新创建它,但没有用. - 我试图删除整个Y项目并重新创建它,但是没有用. - 我试图更改项目X项目及其类的名称空间,但没有用. - 我试图更改项目Y项目及其类的名称空间,但是没有用. - (我甚至已经重新启动了我的开发机器) - 在buildserver设置为build之后,所有的更改都被检查到源控件中.
我一直在日志文件中挖掘的额外信息,并找到了一些有趣的细节,这是在开发分支中构建项目X的详细信息
Task "AssignProjectConfiguration"
Project reference "..\..\A" has been assigned the "Debug|x86" configuration. …Run Code Online (Sandbox Code Playgroud) 我有很多头文件(用 C 编写),我想将它们转换为 C# 代码。头文件包含枚举、结构、方法。
我可以手动转换它们,但这需要很长时间,所以我想知道是否有一个工具可以将头文件转换为 C#。
我尝试过PInvoke Interop Assistant,但它仅适用于 /clr 编译的 .dll。
我尝试过SWIG,它在某种程度上有效,它成功地生成了漂亮的枚举,但结构和方法看起来不太好。
还有其他方法可以转换标头 .h 文件吗?
我的程序(C#.Net 4.5)必须能够生成一些可以加载到Excel中的报告.我选择将报告导出为.csv格式,因为它是导出为excel理解格式的最简单方法.并且它不要求在运行我的程序的机器上安装Excel.
我的问题是导出日期.
我的程序将在客户PC上运行,这可能(很可能)有不同的方式来显示日期,这意味着excel期望以不同的格式使用日期.
我目前的解决方案是将日期导出为:
DateTime LogTime = DateTime.Now;
String TimeFormat = //The format for the specific location, like: "HH:mm:ss dd/MM-yyyy"
//To csv:
// ="10:24:13 27-05-2014"
String reportTime = "=\""+LogTime.ToString(TimeFormat)+"\"";
Run Code Online (Sandbox Code Playgroud)
这个问题是我根据不同的位置创建不同的文件.因此,将文件从一个位置发送到另一个位置可能会导致日期错误.
我的问题是,有没有告诉Excel我的日期是哪种格式?就像是:
//To csv:
// =DateFormatted(10:24:13 27-05-2014,HH:mm:ss dd/MM-yyyy)
String reportTime = "=DateFormatted(" + LogTime.ToString(TimeFormat) + "," + TimeFormat + ")";
Run Code Online (Sandbox Code Playgroud)
然后Excel知道如何阅读日期,而不必担心不同的位置.
我的问题是如何在C#中定义"0x12345678"值?我有来自C代码(头文件)的值,但需要将它们转换为C#.
// C
#define PARAM_START_ENABLE 0x2b15d3fa
//C#
public const uint PARAM_START_ENABLE = ???
Run Code Online (Sandbox Code Playgroud) c# ×3
audio ×1
c ×1
converters ×1
csv ×1
excel ×1
google-docs ×1
header ×1
input ×1
javascript ×1
simulate ×1
tfsbuild ×1