小编jak*_*ake的帖子

'ISO C99在可变参数宏中需要至少一个"..."参数'当专门使用c11和-Wno-variadic-macros时

我有一个简单的:#define log(text, ...) fprintf(stderr, "stuff before" text "stuff after", ## __VA_ARGS__);触发:error: ISO C99 requires at least one argument for the "..." in a variadic macro [-Werror]

应该使用-std=c11-Wno-variadic-macros不是修复此错误/警告?

#pragma GCC system_header在定义日志之前抛出头文件修复了这个问题(没有必要测试输出的二进制文件是否有效......)但这看起来有点hacky,我不完全确定这个的后果.

以下是预期行为的示例:https://stackoverflow.com/a/31327708/5698848

来自GNU

-Wvariadic-macros

    Warn if variadic macros are used in ISO C90 mode, or if the GNU alternate syntax is used in ISO C99 mode.
    This is enabled by either -Wpedantic or -Wtraditional.
    To inhibit the warning messages, use …
Run Code Online (Sandbox Code Playgroud)

macros gcc variadic-macros

3
推荐指数
1
解决办法
3941
查看次数

如何使用ffmpeg可靠地同时改变音调和速度

我知道如何用atempo改变速度,但是音频文件有点失真,而且我找不到改变音调的可靠方法。(例如,将速度和音调提高140%)

Sox有一个速度选项,但会截断音量,并且不如ffmpeg广泛可用。mplayer有一个速度选项,可以很好地运行,但是如果没有其他库,我将无法输出。

我似乎了解ffmpeg没有办法改变音调(也许最近才这样做?),但是有办法改变频率或其他一些标志来模仿改变音调吗?看起来很远,找不到合适的解决方案。

编辑:asetrate:48k * 1.4(假设最初为48k)似乎不起作用,但是失真和音高实际上并没有太大变化。

Edit2:https ://superuser.com/a/1076762 这个答案有点奏效,但是质量比sox speed 1.4选项低得多

audio ffmpeg tempo pitch

1
推荐指数
2
解决办法
5261
查看次数

标签 统计

audio ×1

ffmpeg ×1

gcc ×1

macros ×1

pitch ×1

tempo ×1

variadic-macros ×1