以编程方式,是否有可能采用某人的语音样本并产生可用于创建合成语音的独特音调/属性?
例如,人A记录自己.从该语音样本产生独特的音调,并且正在变成合成语音.这允许人们在文本到语音软件中使用这种合成语音,编写他们想要的任何文本,这些文本将被人A语音读取.
今天是否有可能?我知道有些公司专业地这样做,但一般情况下,一个软件可以做到这一点吗?
我想在C和C#之间做一个小的基准测试,所以我编写了以下程序:
C:
int main()
{
int i = 1;
while (i <= 500000)
{
printf("%d", i);
i++;
}
}
Run Code Online (Sandbox Code Playgroud)
C#:
class Program
{
static void Main(string[] args)
{
int i = 1;
while (i <= 500000)
{
Console.Write(i);
i++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后我编译它们并同时运行它们.
令我惊讶的是,C#程序比C程序提前了大约5秒.
C是一种以其高速和高性能而闻名的语言,那么在这种情况下,C#程序在如此简单的任务中能够显着优于C程序吗?我认为C#速度慢得多,因为它在运行时编译,但它很容易击败从C编译的本机可执行文件.
这是什么原因,这种情况在其他类型的程序中也会发生吗?
我在Windows 8.1 Pro 64位上运行这两个程序,如果这很重要,并在C#Express 2010中编译C#程序,在VS2013 Express for Desktop中编译C程序.
请不要因为"这么常见的问题"而抨击我 - 是的,我已经看到了另一个答案,但它们都处理了复杂的事情,如内存管理和缓冲区大小,这里的程序非常简单,不需要处理那些事情.
我也试过更换printf了puts,但那只是慢.
我正在尝试在C中的main方法中创建一个循环,它不是在编译.
这是代码:
int i = 1;
while (i < 10)
{
i++;
}
int x;
int a;
int b;
int sum;
sum = a + b;
Run Code Online (Sandbox Code Playgroud)
它没有编译,因为这个错误:
Error 3 error C2143: syntax error : missing ';' before 'type'
Run Code Online (Sandbox Code Playgroud)
循环后声明的所有变量中都会出现此错误.
但是,如果我在这些变量声明之后编写循环,它就可以正常工作.
那么为什么我不能在变量声明之前写一个循环呢?
我是C++的初学程序员,对变量有疑问.
例如,如果我有这个方法:
int wow()
{
int x = 99;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当此方法退出(返回0)时,它是否会破坏变量x?
这个变量是存储在堆栈还是堆中?
我知道你可以做int*x = new int(99),然后它会在堆中.
但没有*,它是否在堆栈内?
并且在上面的方法中,当它退出时,x被破坏了吗?
c ×2
c# ×1
c++ ×1
declaration ×1
loops ×1
manual ×1
performance ×1
ram ×1
variables ×1
voice ×1
while-loop ×1