您好我想知道如果使用Android音调生成器类可以在一个设备中创建音调并在另一个设备中侦听相同的音调.如果可能的话,我还有其他一些问题.
考虑到背景噪音是否可以只听这个特定音调?
这个过程会耗费资源吗?
我可以使用一种听不到人耳或接近它的音调吗?
最后我可以使用只能在发送设备几英尺处听到的音调吗?
非常感谢你的男人和女孩:)
编辑>感谢添加音频处理标签sabastian.更好的描述.
我正在尝试测量两个不同手机上扬声器到麦克风的音频路径,运行Android 2.3.5的htc Wildfire S和运行Android 4.0.3的htc One X. 使用Eclipse,我编写了一个使用android.media.MediaPlayer播放波形文件的应用程序.然而,我的录音表明,自动增益控制等应用于输出,因为大声文件被衰减,并且录音具有几乎相等的幅度,尽管播放的文件在各自的幅度上变化很大.
如何在输出之前关闭音频数据的任何处理?我想直接控制原始音频输出.
提前致谢.
我有一个16位PCM形式的波形文件.我有一个原始数据byte[]和一个提取样本的方法,我需要它们以浮点格式,即a float[]进行傅立叶变换.这是我的代码,这看起来不错吗?我正在使用Android等等javax.sound.sampled.
private static short getSample(byte[] buffer, int position) {
return (short) (((buffer[position + 1] & 0xff) << 8) | (buffer[position] & 0xff));
}
...
float[] samples = new float[samplesLength];
for (int i = 0;i<input.length/2;i+=2){
samples[i/2] = (float)getSample(input,i) / (float)Short.MAX_VALUE;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用此节拍检测算法在 python 中进行音频处理。我已经实现了上述文章中的第一个(非优化版本)。虽然它打印了一些结果,但我无法检测它是否具有一定的准确性,因为我不知道如何用它播放声音。
目前,我习惯Popen在进入计算循环之前用歌曲异步启动媒体播放器,但我不确定此策略是否有效并给出同步结果。
#!/usr/bin/python
import scipy.io.wavfile, numpy, sys, subprocess
# Some abstractions for computation
def sumsquared(arr):
sum = 0
for i in arr:
sum = sum + (i[0] * i[0]) + (i[1] * i[1])
return sum
if sys.argv.__len__() < 2:
print 'USAGE: wavdsp <wavfile>'
sys.exit(1)
numpy.set_printoptions(threshold='nan')
rate, data = scipy.io.wavfile.read(sys.argv[1])
# Beat detection algorithm begin
# the algorithm has been implemented as per GameDev Article
# Initialisation
data_len = data.__len__()
idx = 0
hist_last = …Run Code Online (Sandbox Code Playgroud) 我想获得音频信号的过零率.我试着编写这个公式的代码:

但我不是很了解整个公式.
为了处理我的代码我用块分割信号,我的意思是"帧阻塞".例如,每个块的长度为512(有512个信号样本).让我们说我有100个街区.那么过零率是否会为每个块返回一个值?我的意思是根据公式,我对整个信号有100个值吗?
而且我也不明白w()的意思.是用于窗口的汉明吗?它如何计算nm?它很可能是一个负数?
我很困惑请帮帮我?
我目前正在将libsndfile与PortAudio V19结合使用,从文件中读取音频数据并进行播放。(请注意,我是在运行 Raspbian 的 Raspberry Pi 上执行此操作。)我遇到的问题是,我需要实时动态控制以这种方式播放的每个音频样本的播放音量。我尝试使用系统调用通过 alsamixer 来操纵全局播放音量,这在我的用例中是一个可接受的解决方案,但延迟太高,无法正常工作。
我正在寻找的是两件事之一:
一个可以实时修改音频音量的库,可以通过作用于 libsndfile 检索到的原始音频数据,或者以最小延迟(亚毫秒)设置全局播放音量。该库必须是免费的并且可以在 Raspbian 上使用;许可不是问题。
需要对 libsndfile 检索到的音频数据应用数学变换,以便修改数据的音量级别,最好目标音量在 [0.0f, 1.0f] 范围内,其中 0.0f 表示无声, 1.0f 是文件的原始卷。
我尝试全面查找有关此主题的有用(免费)材料,但未能找到任何有帮助的内容。非常感谢任何帮助!
我试图找出是否有一种方法可以确定是否使用Dolby Pro Logic II数据对AAC编码的音轨进行了编码。有没有一种检查文件的方式,以便您可以查看此信息?例如,我已经在Handbrake中使用(截断为音频选项)对媒体文件进行了编码-E av_aac -B 320 --mixdown dpl2,这是显示的音频轨道mediainfo:
Audio #1
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 2h 5mn
Bit rate mode : Variable
Bit rate : 321 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 288 MiB (3%)
Title : Stereo / Stereo
Language : …Run Code Online (Sandbox Code Playgroud) 我是信号处理方面的新手,我在谷歌上搜索了许多频谱图术语,但我找不到任何关于频谱图类型差异的内容。谁能帮我解释一下下图中不同频谱图的定义和含义?谢谢!
P/s:频谱图和色度之间的区别是什么?色度用于什么以及何时使用?
我想实时获取从麦克风获取的语音输入的频率。我搜索了这个并了解了 FFT 和另外 2、3 种算法,但实现这些算法似乎非常复杂。
我正在寻找一个 C# 库,它使我能够简单地将频率放入数组中而无需实现它。
.net c# signal-processing frequency-analysis audio-processing
我试图从音频信号中提取MFCC矢量作为输入到递归神经网络.但是,我无法弄清楚如何使用Core Audio在Swift中获取原始音频帧.据推测,我必须进入低级才能获得该数据,但我找不到这方面的有用资源.
如何使用Swift获取所需的音频信号信息?
编辑:这个问题被标记为如何使用Swift在iOS中捕获音频样本的可能重复?.但是,那个特定的问题没有我想要的答案.也就是说,该问题的解决方案是创建一个AVAudioRecorder,它是我的问题解决方案的一个组件,而不是最终结果.
这个问题如何将WAV/CAF文件的样本数据转换为字节数组?更像是我前进的方向.解决方案是用Objective-C编写的,我想知道是否有办法在Swift中完成它.
audio-processing ×10
android ×3
audio ×3
c# ×2
.net ×1
aac ×1
adt ×1
c ×1
dolby ×1
eclipse ×1
handbrake ×1
htc-android ×1
ios ×1
java ×1
librosa ×1
libsndfile ×1
mfcc ×1
microphone ×1
naudio ×1
pcm ×1
portaudio ×1
python ×1
raspberry-pi ×1
swift4 ×1