gpt4 book ai didi

audio - 如何在 SuperCollider 中以分贝为单位设置音量?

转载 作者:行者123 更新时间:2023-12-02 22:22:26 25 4
gpt4 key购买 nike

我有一个简单的 SinOsc,它播放 432 hz 的音调。我希望能够将该音调设置为 -97 dB。这是我到目前为止所拥有的:

{
SinOsc.ar(432, 0, 0.01 /*edit this for volume*/, 0)
}.play;

尽管我可以看到如何编辑音量,但我看不到设置精确 dB 级别的方法。

如果您想知道我为什么要这样做,我需要一个音调来测试 24 位与 16 位音频。

如何设置精确的 dB 级别或进行监控以显示我处于什么级别?

最佳答案

啊,很高兴在热门问题中看到 SuperCollider 问题。

我相信您正在寻找的方法是 .dbamp .见 docs .

示例: (来自 The SuperCollider Book,第 2 章)

/* Figure 2.6 */
(
SynthDef(\UGen_ex6, {arg gate = 1, roomsize = 200, revtime = 450;
var src, env, gverb;
env = EnvGen.kr(Env([0, 1, 0], [1, 4], [4, -4], 1), gate, doneAction: 2);
src = Resonz.ar(
Array.fill(4, {Dust.ar(6)}),
1760 * [1, 2.2, 3.95, 8.76] +
Array.fill(4, {LFNoise2.kr(1, 20)}),
0.01).sum * 30.dbamp;
gverb = GVerb.ar(
src,
roomsize,
revtime,
// feedback loop damping
0.99,
// input bw of signal
LFNoise2.kr(0.1).range(0.9, 0.7),
// spread
LFNoise1.kr(0.2).range(0.2, 0.6),
// almost no direct source
-60.dbamp,
// some early reflection
-18.dbamp,
// lots of the tail
3.dbamp,
roomsize);
Out.ar(0, gverb * env)
}).add;
)
a = Synth(\UGen_ex6);

关于audio - 如何在 SuperCollider 中以分贝为单位设置音量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42999663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com