问题标签 [tarsosdsp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1259 浏览

android - 在 Android 上使用 TarsosDSP 进行实时音高转换

这就是我想要的:
1. 播放歌曲时的实时音高变换。
2. 音高变化也应记录到文件中。

代码 :

但在这里我面临以下错误:

用于线

如果我删除此行,一切正常,只有歌曲不会记录到文件中。
请让我知道是否有人可以提供帮助。

0 投票
0 回答
101 浏览

java - 计算两个相同音调之间的音频样本数

我想计算时域中两个相同音调开头之间的声音样本数。音调是在随机时间点生成的。为此,我认为我需要为每个音频样本缓冲区做三件主要事情:

  1. 从缓冲区中识别所需的音调
  2. 找到该音调的第一个音频样本的位置
  3. 计算该样本与先前识别的音调的第一个样本之间的音频样本

如果该设计有意义,关于如何实现它的任何建议?我目前使用TarsosDSP Java 库进行声音处理。

0 投票
1 回答
509 浏览

signal-processing - 在 tarsos DSP 中实现带有音高检测的滤波器

我想在使用 tarsosDSP 进行音高检测之前过滤传入的音频。我试图在音高检测之前添加一个高通和低通滤波器。但是,即使在 300hz 或 6000Hz 范围之外,音高检测也会输出所有频率。代码有问题吗?

0 投票
1 回答
788 浏览

java - 在android上提取像MFCC这样的音频特征

我想从 android 上的音频文件中提取 MFCC。我到处搜索,但找不到任何工作代码。有人可以分享任何相同的工作代码吗?

0 投票
1 回答
1734 浏览

android - 在 android 的 TarsosDSP 库中使用 FFT

我刚开始使用TarsosDSP for android,我不知道如何使用 FFT。谁能给我一个样品?我只想读取一个文件并获得它的 FFT 输出。

0 投票
3 回答
234 浏览

android - Android 日志不打印

我正在使用TarsosDsp,但我不知道我的问题是否与库有关。如果有人能帮我解决这个问题,我会很高兴。这是我的代码:

}

问题是日志行

不打印任何东西。有什么帮助吗?这是我的日志:

PS 看起来进程功能没有运行。虽然 processingFinished 运行。

更新:这是处理程序的问题,我不知道为什么,但是当我将 run(View view) 中的代码移动到 onTouchEvent 时,它工作正常。

0 投票
2 回答
2310 浏览

android - 如何使用 TarsosDSP 获得 MFCC?

我到处搜索,但不知道如何在 Android 上使用 TarsosDSP 提取 MFCC 功能。我知道如何从文件中获取 FFT。有什么帮助吗?

0 投票
1 回答
115 浏览

java - 尝试使用 tarsosdsp audioEvent-Buffer 填充 audioBuffer 时出现乱码

我正在开发一个简单的 Beatbox 应用程序。首先我用纯 Java 编写了所有东西,然后我发现了奇妙的 tarsosdsp 框架。但是现在我遇到了一个我无法解决的问题。你能帮助我吗?

我正在设置一个 SilenceDetector - 效果很好。然后我想在处理方法中用来自 audioEvent 的数据填充一个 byte[] 缓冲区。我失败了......变量audioBuffer的类型是ByteArrayOutputStream,并且在运行时被重用。请参阅相关代码片段:

有什么建议么?

0 投票
1 回答
252 浏览

java - 音高检测的活动 TarsosDSP 没有重启

我在音乐应用程序中写了一个吉他调音器。单击按钮时,主要活动启动调谐器。调谐器工作正常。但是,如果我回到主要活动。Tuner 活动开始,但音高检测没有。线程不会因为录音机而停止。

我从主要活动启动了一个活动 Act_Accordage

这是我的 Act_Accordage 活动

0 投票
1 回答
1592 浏览

java - 如何实时获取特定频率音频信号的幅度android

我正在开发 lumiere 应用程序。我有一个特定频率的载波信号(更准确地说是 19.2 kHz),我需要在播放音频时获取它的幅度。我搜索了一些有关音频处理的信息,发现为了获得频谱,您必须使用 FFT 算法。

我已经尝试过 TarsosDSP 库及其 FFT 类。

然后我得到频带索引并计算它的幅度

但我得到错误的幅度。我有一个 19.2kHz 信号的音频文件,其振幅恒定为 0 dB,但 19207 Hz 振幅的结果值在 -39 dB 到 -46 dB 之间变化。我检查了相邻的频率,可能其中一些有 0 dB,但没有。我还检查了 -36 dB 和 -60 dB 的文件,但结果分别为 -39 到 -48 dB 和 -44 到 - 61 dB。

正如我们可以看到的最后一个文件,它很接近,但它不是恒定的,我无法预测它何时正确,何时错误。

如果有人遇到这个问题,请帮助我。如果您知道任何其他肯定可行的好的 FFT 库 - 告诉我

更新:好的,我已经添加了 TSG 的函数并在我的 fft.forwardTransform() 之前和之后调用它来比较结果;结果是:对于 0 dB 19.2kHz 音频文件:之前:-39 dB 之后 - 10 dB

对于 -36 dB 19.2kHz 音频文件:之前:-75 dB 之后:-46 dB

对于 -60 dB 19.2kHz 音频文件:之前:-97.7 dB 之后:-69 dB

现在结果是恒定的,不会随着时间或尝试而改变。我们还可以看到结果中存在一定的模式。在 fft 之前,结果与正确的结果不同,为 -39 dBs,之后为 -10dBs。所以问题是:为什么我们会犯这些错误?