问题标签 [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 回答
39 浏览

tarsosdsp - 执行 FFT.forwardTransform() 时单击声音

我试图在使用 TarsosDSP 库收听声音的同时可视化声音的 FFT。但是,当听它时,正在播放一个响亮的咔哒声,我似乎无法理解这是从哪里来的。这发生在 PC 上。

由于我的代码中的所有内容都保持不变,因此我将其范围缩小到 FFT.forwardTransform() 函数。

这是我的应用程序的基本布线:

应用程序.java:

该文件是一个 1.85Mb 的 wav 文件。bufferSize 是 1536 sampleRate 是 44100

FFTProcessor.java 基本上看起来像这样:

我尝试通过引入一种节流形式来限制执行,认为这可能会有所帮助。我也尝试不使用缓冲输入,以防缓冲区不足。

但是问题仍然存在,我开始对下一步尝试什么想法没有想法。

感谢任何指点,谢谢!

0 投票
0 回答
51 浏览

java - TarsosDSP,IllegalStateException

我正在将 TarsosDSP 用于 android 项目,但出现此错误:

Unable to start activity ComponentInfo{com.example.song2sheet/com.example.song2sheet.RecordingActivity}: java.lang.IllegalStateException: startRecording() called on an uninitialized AudioRecord.

根据我所读到的,要开始取样,我所需要的就是这个

但如上所示,我收到了 IllegalStateException。

我是否从这段代码中遗漏了一些东西,因为错误是在第一行抛出的?

任何帮助都会很重要。

谢谢。

0 投票
0 回答
332 浏览

flutter - 是否可以在 Flutter 中使用 TarsosDSP 实时创建音高图?

或者有没有更好的方法来做到这一点?

https://github.com/JorenSix/TarsosDSP

https://matt.aimonetti.net/posts/2019-07-drawing-waveforms-in-flutter/

0 投票
1 回答
140 浏览

java - TarsosDSP Android 应用低通滤波器并保存到 wav 会产生不稳定的结果

我正在使用 TarsosDSP 库在 wav 文件上应用低通滤波器。这是代码。

它提供输出,但输出断断续续,甚至没有过滤。这里看看原始的wav文件和输出的wav文件。

原来的

过滤

我尝试了从 2 到 4096 的不同缓冲区大小,但每次输出都是断断续续的,或者音频没有被过滤。有人可以指出我这里可能出了什么问题。

0 投票
1 回答
175 浏览

android - 使用 TarsosDSP 修复 Kotlin 中的“摇晃”音高检测

我正在编写一个乐器调音器应用程序(现在从吉他开始)。对于音高检测,我使用的是 TarsosDSP。它确实可以正确检测音高,但是它很不稳定——例如,我会在我的吉他上敲击(正确调音的)D 弦,它会正确地将其识别为 D,但片刻之后它会循环播放一堆随机笔记很快。我不确定如何最好地解决这个问题。这是我负责检测音高的代码:

然后我编写了一个函数,该函数应该检测与当前音高最近的音符。此外,我还尝试通过编写一个函数来获得“不那么不稳定”的结果,该函数应该以 hz 为单位找到最接近的音高,然后将该结果用于最接近的音符函数,认为这样我可能会得到更少不同的结果(即使它应该是一样的,我也没有注意到任何区别)。下面是两个函数:

有什么想法可以让我获得更一致的结果吗?谢谢!

0 投票
0 回答
25 浏览

android - 如何在 Android 上使用 tarsosDSP 获取当前声音的所有频率(使用 FFT_YIN)

这是获取峰值频率的 FFT_YIN 算法的代码

公共 PitchDetectionResult getPitch(final float[] audioBuffer) {

但是我想通过 TarsosDSP 的 FFT_YIN 算法得到当前声音的所有频率。谢谢

0 投票
0 回答
13 浏览

android - 如何在播放时识别音频文件的内容/在播放时更改音高值?

我正在尝试创建一个音乐应用程序,该应用程序通过使用 Tarsosdsp .jar 获取音高频率值来帮助识别音频内容。在播放音频时,我可以提取音高值并根据我创建 arraylist.for 的值例如音频包含(sa,re,ga,..)。我的问题是代码对于某些音频文件可以正常工作,但是对于某些音频文件,音高值是错误的?通过点击链接https://0110.be/tags/TarsosDSP?fbclid=IwAR2DhvxBSXcfg6yQ37yhleMSUs1O4tyyHa9YgayZBW1EEgylf2DdRSYb3ec我写了逻辑

0 投票
0 回答
39 浏览

java - 使用 Tarsosdsp 实现麦克风音频增益

我正在尝试使用 Tarsosdsp 库来增加麦克风音量。我写了一些代码,但声音似乎根本没有改变。

公共类 MainActivity 扩展 AppCompatActivity {

有人可以告诉我我做错了什么,或者是否有示例代码可以做到这一点,我将不胜感激。

0 投票
0 回答
15 浏览

java - tarsosdsp 运行时无法在其他应用上使用麦克风

我正在尝试使用 tarsosdsp 增加麦克风音量。我尝试使用录音机,但它一直说我的应用程序正在使用麦克风,我需要关闭我的应用程序才能工作。有人可以指导我如何在允许其他应用程序使用麦克风的同时增加麦克风音量吗?这是我的以下代码:

0 投票
0 回答
23 浏览

android - 用于音高检测的带有 Speex 回声消除的 TarsosDSP

在我的情况下,Speex 回声消除工作正常。它提供输出作为缓冲区。我想将该缓冲区作为输入到 TarsosDSP 中,它将检测清洁声音的音高。我该怎么做?