c – 如何使用soxlib for iOS来消除开始和结束的沉默

c – 如何使用soxlib for iOS来消除开始和结束的沉默,第1张

概述任务是从录音的开始和结束按阈值消除静音. 我使用这个sox端口到iOS. https://github.com/shieldlock/SoX-iPhone-Lib/ 我发现命令行sox工具通过以下命令完成我的任务: sox in.wav out.wav silence 1 0.1 1% reverse silence 1 0.1 1% reverse (摘自:http://digitalcardb 任务是从录音的开始和结束按阈值消除静音.
我使用这个sox端口到iOS.
https://github.com/shieldlock/SoX-iPhone-Lib/

我发现命令行sox工具通过以下命令完成我的任务:

sox in.wav out.wav silence 1 0.1 1% reverse silence 1 0.1 1% reverse

(摘自:http://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/)

但我不能像iOS这样在iOS lib格式中翻译它:

sox_create_effect(sox_find_effect("silence"));args[0] = "2000",assert(sox_effect_options(e,1,args) == SOX_SUCCESS);assert(sox_add_effect(chain,e,&in->signal,&in->signal) == SOX_SUCCESS);

我需要为完成这项任务提供哪些参数?

解决方法 因为sox in.wav out.wav silence 1 0.1 1%反向静默1 0.1 1%反向是两个不同命令行的串联:

sox in.wav temp.wav silence 1 0.1 1% reversesox temp.wav out.wav silence 1 0.1 1% reverse

在你的链中创造两个沉默效果.一旦效果修剪文件的开头并将反向复制管道传递到临时目标,然后从temp的开头剪切下一个并将其反转回完成的目标.

但是传递什么参数(args)?免责声明:我没什么经验,不能测试这个,但我相信它应该是这些字符串:

args[1] = "1";args[2] = "0.1";args[3] = "1%";args[4] = "reverse";e = sox_create_effect(sox_find_effect("silence"));args[0] = "2000",&infile->signal,&tempfile->signal) == SOX_SUCCESS);free(e);e = sox_create_effect(sox_find_effect("silence"));args[0] = "2000",&tempfile->signal,&outfile->signal) == SOX_SUCCESS);free(e);sox_flow_effects(chain,NulL,NulL);
总结

以上是内存溢出为你收集整理的c – 如何使用soxlib for iOS来消除开始和结束的沉默全部内容,希望文章能够帮你解决c – 如何使用soxlib for iOS来消除开始和结束的沉默所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1226886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存