问题标签 [wave]

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 投票
3 回答
11212 浏览

c# - 从波形文件中获取频率和幅度

我想使用 c# 从波形文件中获取频率和幅度。我尝试了 NAudio 和 FFT,但结果一无所获。你能帮我吗。

如果哪里不对,不要责骂。我是新手。

0 投票
1 回答
456 浏览

windows - waveOutGetPosition 总是返回零

waveOutWrite用来写几个小缓冲区(每个 80 毫秒)。当他们正在播放时,我正在调用这个函数来获取播放位置:

以下是相关的附加内容:

waveOutGetPosition 返回 0(无错误),但 mmtime.val 始终为零。MSDN 并不清楚“播放位置”相对于什么,只是它在 waveOutOpen 和 waveOutReset 上被重置。但它是否总是在多个 waveOutWrite() 调用中继续增加?关于为什么它总是为我返回零的任何想法?

0 投票
1 回答
613 浏览

java - 如何在 Java 中创建带有一些修改的音频正弦波文件?

我想创建一个正弦波文件并在特定时间间隔对正弦函数应用一些修改,例如幅度变化等。关于如何去做的任何建议?相当于https://ccrma.stanford.edu/software/stk/hello.html这个 c++ 库。关于java中一些好的外部库有什么建议吗?

0 投票
1 回答
284 浏览

jquery - mouseenter/mouseleave 不需要的挥动效果

我对 JQuery 相当陌生。话虽如此,我正在尝试使用.mouseenter导致图像尺寸变大并在 上恢复到正常尺寸的.mouseleavea ,它可以工作,但我的问题是它会启动一个随机循环次数的波浪效果。如果我将鼠标悬停在它们上面,它会变得非常疯狂。

jQuery

html

我已经在网上找了大约 2 个小时了,我的第一个问题已经解决了这个波浪效果是我的最后一个

0 投票
1 回答
2188 浏览

audio - 正确解码/编码原始 PCM 数据

我正在用 C++ 编写我的 WAVE 解码器/编码器。我已经设法在不同的样本大小(8、16 和 32)之间正确转换,但我需要一些关于通道和频率的帮助。

渠道:

如果我想从立体声转换为单声道:

  1. 我只从一个通道(哪个通道?1 还是 2?)获取数据?
  2. 还是我从通道 1 和 2 中取平均值作为单声道。

如果我想从单声道转换为立体声:(我知道这不是很科学)

  1. 我可以简单地将来自单个通道的样本添加到两个立体声通道中吗?
  2. 有没有更科学的方法来做到这一点(例如:插值)?

采样率:

如何更改采样率(重新采样),例如:从 44100 Hz 到 22050 Hz:

  1. 我是否只需为新的(较低频率)值取 2 个连续样本的平均值?
  2. 还有更多的科学算法吗?
0 投票
1 回答
266 浏览

android - 更改 mp3 文件中的波头

是否可以更改现有 mp3 文件中的波头?我需要它是每个样本 8 或 16 位。

关于如何进行的任何提示?我完全被困住了。

非常感谢你

0 投票
0 回答
441 浏览

android - Android SDK Visualizer getWaveForm 方法

当我调用 Visualizer 类的 getWaveForm 方法时,我使用这个 http://vprbbc.streamguys.net/vprbbc24.mp3音频完美地获取数据。但是当我尝试使用 4/5 秒长度的音频时,有时它会在我的字节数组中返回全部 -128,有时它会返回不同的值。但是不同的值是正确的,所有的-128 值都不正确。

这不可能是一个解决方案,我需要一个稳定的解决方案。我需要 getWaveForm 方法将返回不同的值(不是全部 -128)。

任何想法?

-Arefin

0 投票
1 回答
3594 浏览

c - 读取 wav 文件,计算持续时间 / data_size 总是错误的

我正在尝试读取由 ffmpeg 生成的 wav 文件

ffmpeg -i av

FFmpeg 生成一个头大小为 18 但没有任何扩展数据的 wav 文件。

这是我的数据结构:

如果我把它们读出来,我会得到我的 wav 文件的以下结果:

我现在尝试使用公式计算以秒为单位的长度

并获得以下输出:

但是当我在 iTunes 中打开我的文件时,我得到的长度是 3:31。我也尝试过使用其他声音文件,但我总是有点过分。

我还尝试过对我的 wav 文件进行 hexdump。与我执行 for (i < data_size; i += 2) printf("%02x", data[i]) 相比,hexdump 显示的输出更少

所以我不知何故读得太远了?

我在整个互联网上搜索了有关公式的信息,但我有点卡住了,因为我总是得出相同的结果。

http://www-mmsp.ece.mcgill.ca/documents/audioformats/wave/wave.html

您可以阅读以下声明:

“WAVE 文件通常具有在声音数据(数据块)之前或之后的信息块。一些程序(天真地)假设对于 PCM 数据,文件头正好是 44 字节长,并且文件的其余部分包含声音数据。这不是一个安全的假设。”

这可能是我做错了什么。但是我怎样才能得到正确的 sound_chuck_data_size 呢?

编辑

lile gcb在下面指出一切都很好。解决方案是时间以十进制时间存储,我必须将其转换为常规时间:-) 这就是我想出的,它工作正常:

0 投票
3 回答
1430 浏览

c# - 如何将 8 位无符号波形文件转换为 8 位有符号波形文件?

我正在使用 NAudio 和 C# 将波形文件转换为 48,000、8bit、Mono。我将转换后的数据存储在字节数组中。我的代码如下。它工作正常,但是新的波形文件数据是未签名的,我需要它来签名。

我尝试在数据转换后循环遍历字节数组,并从每个字节中减去 128,这是我在此站点上找到的解决方案。

这种工作,但不是万无一失的,我相信必须有更好的方法。任何建议将不胜感激。谢谢。

0 投票
1 回答
48 浏览

ios - iOS 看似相同但行为不同的字符串

我将 WAV 文件名存储在一个数组中,包括扩展名。当我尝试加载它时,它需要删除扩展。如果我对扩展进行子串化,它会异常终止,而看似相同的字符串在硬编码时可以正常工作。

我也尝试使用stringByDeletingPathExtension方法,但同样崩溃。

此代码导致崩溃

但是这段代码执行