gpt4 book ai didi

audio - 两个音频文件的频谱图(加在一起)

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

假设我有两个输入信号 f1f2。我可以添加这些信号以产生第三个信号 f3 = f1 + f2。然后,我会将 f3 的频谱图计算为 log(|stft(f3)|^2)

很遗憾,我没有原始信号 f1f2。但是,我有他们的频谱图 A = log(|stft(f1)|^2)B = log(|stft(f2)|^2)。我正在寻找的是一种使用 AB 尽可能接近地近似 log(|stft(f3)|^2) 的方法>。如果我们做一些数学运算,我们可以得出:

log(|stft(f1 + f2)|^2) = log(|stft(f1) + stft(f2)|^2)

表示 stft(f1) = x1 + i * y1 & stft(f2) = x2 + i * y2 写入

... = log(|x1 + i * y1 + x2 + i * y2|^2)

... = log((x1 + x2)^2 + (y1 + y2)^2)

... = log(x1^2 + x2^2 + y1^2 + y2^2 + 2 * (x1 * x2 + y1 * y2))

... = log(|stft(f1)|^2 + |stft(f2)|^2 + 2 * (x1 * x2 + y1 * y2))

所以此时我可以使用近似值:

log(|stft(f3)|^2) ~ log(exp(A) + exp(B))

但我会忽略最后一部分 2 * (x1 * x2 + y1 * y2)。所以我的问题是:是否有更好的近似值?

有什么想法吗?谢谢。

最佳答案

我不是 100% 理解您的符号,但我会试一试。时域中的加法对应于频域中的加法。添加两个时域信号 x1 和 x2 产生第三个时域信号 x3。 x1、x2和x3都有一个频域频谱,F(x1)、F(x2)和F(x3)。 F(x3) 也等于 F(x1) + F(x2),其中通过将 F(x1) 的实部与 F(x2) 的实部相加,并将 F(x1) 的虚部相加来执行加法) 到 F(x2) 的虚部。因此,如果 x1[0] 是 1+0j,x2[0] 是 0.5+0.5j,那么和就是 1.5+0.5j。从您的符号来看,您正在尝试添加幅度,在本例中为 |1+0j| + |0.5+0.5j| =开方(1*1)+开方(0.5*0.5+0.5*0.5)=开方(2)+开方(0.5)。显然不是一回事。我想你想要这样的东西:

log((|stft(a) + stft(b)|)^2) = log(|stft(a)|^2) + log(|stft(b)|^2)

关于audio - 两个音频文件的频谱图(加在一起),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36817236/

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