一些好用的C/C++语言开源库

 

C语言:

     libcstl, libcstl是使用标准C编写的通用的数据结构和常用算法的库, 它模仿STL的接口形式, 包括序列容器,关联容器,容器适配器,迭代器,函数,算法等.libcstl为C编程中的数据管理提供了方便易用的程序库。libcstl分为容器,迭代器,函数和算法四部分,此外2.0版本还添加了类型机制,这是一种为用户提供了方便使用自定义类型的机制(具有详细的API中文文档)。

    libconfig,(支持C/C++语言)提供配置文件的操作库。下面是它的一个配置文件示例:

# Example application configuration file

title = "Test Application"; // scalar value
version = 1; // int, int64, float, bool, string

app: // group
{
  user:
  {
    name = "Q.yuhen";
    code = "xxx-xxx-xxx";
    tags = ["t1", "t2", "t3"]; // array
    data = ( "Hello", 1234 ); // list
  }
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个常用的语音转文字开源是CMU Sphinx。CMU Sphinx是一个基于C语言开发的语音识别引擎,提供了多种语音识别算法和工具,包括语音识别、语音合成、关键词检测等。CMU Sphinx支持多种语言,包括英文、中文、日语等。 以下是使用CMU Sphinx进行语音转文字的基本步骤: 1. 下载和安装CMU Sphinx。可以从其官方网站(http://cmusphinx.sourceforge.net/)下载源代码,并按照其说明进行编译和安装。 2. 准备语音文件。将需要转换为文字的语音文件保存为WAV格式,并确保其采样率为16kHz或8kHz,位深度为16位。 3. 使用CMU Sphinx进行语音识别。可以使用以下代码作为参考: ``` #include <pocketsphinx.h> int main(int argc, char* argv[]) { ps_decoder_t *ps; cmd_ln_t *config; FILE *fh; char const *hyp, *uttid; int16 buf[512]; int rv; int32 score; config = cmd_ln_init(NULL, ps_args(), TRUE, "-hmm", MODELDIR "/en-us/en-us", "-lm", MODELDIR "/en-us/en-us.lm.bin", "-dict", MODELDIR "/en-us/cmudict-en-us.dict", NULL); if (config == NULL) return 1; ps = ps_init(config); if (ps == NULL) return 1; fh = fopen("test.wav", "rb"); if (fh == NULL) return 1; rv = ps_start_utt(ps); while (!feof(fh)) { size_t nsamp; nsamp = fread(buf, 2, 512, fh); rv = ps_process_raw(ps, buf, nsamp, FALSE, FALSE); } rv = ps_end_utt(ps); hyp = ps_get_hyp(ps, &score); printf("Recognized: %s\n", hyp); fclose(fh); ps_free(ps); cmd_ln_free_r(config); return 0; } ``` 这段代码使用了英文语音模型,如果需要使用其他语言模型,可以修改参数中的路径。 4. 编译并运行程序。可以使用以下命令编译程序: ``` gcc -o test test.c -I/usr/local/include -L/usr/local/lib -lpocketsphinx -lsphinxbase ``` 然后运行程序: ``` ./test ``` 如果一切正常,程序将会输出语音对应的文字结果。 请注意,以上只是一个简单的示例,实际使用时还需要根据具体情况进行适当的修改和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值