标签: audio-processing

语音处理中的矢量量化解释

我无法从本研究论文中确切地知道如何根据训练数据集再现标准矢量量化算法来确定未识别语音输入的语言.这是一些基本信息:

摘要信息 使用声学特征的语言识别(例如日语,英语,德语等)是当前语音技术的重要但难以解决的问题....本文使用的语音数据库包含20种语言:16个句子由4个男性和4个女性发出两次.每个句子的持续时间约为8秒.第一种算法基于标准矢量量化(VQ)技术.每种语言都有自己的VQ码本,替代文字.

识别算法 第一种算法基于标准矢量量化(VQ)技术.每种语言k都有自己的VQ码本,替代文字.在识别阶段,输入语音被量化替代文字并且计算累积的量化失真d_k.识别最小失真的语言.计算VQ失真,应用了几种LPC光谱失真度量......在这种情况下,WLR - 加权最小比率 - 距离:http://tinyurl.com/yc52gcl.

标准VQ算法:使用训练句子生成每种语言的 码本,alt文本http://tinyurl.com/y8csx6e.输入向量在句子中的累积距离,替代文字,定义为:alt文本http://tinyurl.com/ybynjc2

距离d可以是对应于声学特征的任何距离,并且它必须与用于码本生成的距离相同.每种语言都以其VQ码本为特征,替代文字.

我的问题是,我到底该怎么做?我有一套50个英文句子.在MATLAB中,我可以轻松计算任何给定信号的WLR.但是,我如何制定一个码本,因为我必须使用WLR为英语的"码本生成".我也很好奇如何将大小为16的VQ码本(被发现是最佳大小)与给定的输入信号进行比较.如果有人能帮我提取这篇论文,我会非常感激.

谢谢!

vector speech quantization audio-processing

5
推荐指数
1
解决办法
2574
查看次数

帮助实现这种节拍检测算法?

我最近试图实现这里找到的节拍检测代码,即Derivation和Combfilter算法#1 :: http://archive.gamedev.net/reference/programming/features/beatdetection/page2.asp

我不太确定我是否成功实施,因为我没有取得好成绩.我想知道是否有人成功地实现了这一点,或者仅仅是想要帮助一般的好人.这是我的实现:

//Cycle through Tempo's (60 to 200) incrementing each time by 10
for (int i = (int)mintempo; i <= maxtempo; i += 10)
{
    //Clear variables to be used
    curtempo = i;
    fftPulse.Clear();
    offset = 0;
    energy = 0;
    short[] prevBuffer = null;

    //Calculate ti
    ti = (60 / curtempo) * 44100;
    ti = Math.Round(ti, 0);

    //Generate pulse train
    for (int j = 0; j < pulseTrain.Length; j++)
    {
        if ((j % ti) == 0)
            pulseTrain[j] = …
Run Code Online (Sandbox Code Playgroud)

c# algorithm audio-processing

5
推荐指数
1
解决办法
1450
查看次数

分析音频以自动创建吉他英雄级别

我正在尝试创建类似吉他 - 英雄的游戏(类似这样),我希望能够分析用户给出的音频文件并自动创建关卡,但我不知道该怎么做.

我想也许我应该使用BPM检测算法并在一些节拍和轨道上放置箭头,但我不知道如何实现这些.

另外,我正在使用NAudio的BlockAlignReductionStream,它有一个复制byte []数据的Read方法,但是当我读取2声道音频文件时会发生什么?它从第一个通道读取1个字节,从第二个通道读取1个字节吗?(因为它表示16位PCM)并且24位和32位浮点运行同样如此?

.net c# naudio audio-processing

5
推荐指数
1
解决办法
2964
查看次数

如何模拟音频处理中的乙烯基划痕效应?

我试图做一个简单的"虚拟划痕",但我不知道它背后的理论.由于我在google上发现没什么用,我在这里问:

  • 划伤(向前移动轨道)会发生什么?我是否提高样本的音高和/或速度?
  • 如何使用音频处理算法模拟这种现象?

示例代码/教程将受到热烈欢迎:-)

java android signal-processing audio-processing

5
推荐指数
1
解决办法
2082
查看次数

Aubio用于Android上的BPM跟踪

我正在开发一个需要BPM跟踪的Android音频项目.我决定编写自己的不是一个好主意,在环顾四周之后,我发现了一些可以进行BPM跟踪的库,例如aubio,vamp,echonest等.出了很多,aubio似乎是一个不错的选择.问题是我找不到可以帮助理解我如何使用库的好文档,例如,哪种输入音频格式是兼容的(我应该在将音频传递给函数之前对其进行预处理)等.

你能指点我一些开源项目的文档或aubio的实现(在android上会是一个奖励).

如果你认为有更简单的方法(另一个算法/库)来移植到android(最好是在c),请告诉我.

谢谢.

c android audio-processing aubio beat-detection

5
推荐指数
1
解决办法
1506
查看次数

使用Mutagen处理所有接受的文件类型

为了处理mutagen,.ogg,.apev2,.wma,flac,mp4和asf所接受的每种文件类型,我需要做什么?(我排除了mp3,因为它上面有最多的文档)

如果知道如何完成这项工作的人可以提供一些伪代码来解释所使用的技术,我将不胜感激.我想要提取的主要标签是标题,文件的艺术家,专辑(如果有).

从哪儿开始?

python audio audio-processing mutagen audioformat

5
推荐指数
1
解决办法
3133
查看次数

使用 Web Audio API 的和弦检测算法

首先我试图实现这个和弦检测算法:http : //www.music.mcgill.ca/~jason/mumt621/papers5/fujishima_1999.pdf

我最初实现了使用我的麦克风的算法,但它不起作用。作为测试,我创建了三个振荡器来制作交流和弦,但算法仍然不起作用。我想我应该只看到 C、E 和 G 的更高数字,但我看到所有音符的数字。我的算法实现有问题吗?还是我的 N、fref 或 fs 值?

这是包含重要部分的代码片段:

// Set audio Context
window.AudioContext = window.AudioContext || window.webkitAudioContext;

var mediaStreamSource = null;
var analyser = null;
var N = 4096;//8192;//2048; // Samples of Sound
var bufferLen = null;
var buffer = null;
var PCP = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; // Pitch Class Profiles
var fref = 261.63; // Reference frequency middle C (C4)
// fref = 65.4; …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm audio audio-processing web-audio-api

5
推荐指数
1
解决办法
1149
查看次数

用python验证mp3文件的最佳方法

我必须检测文件是否是有效的 mp3 文件。到目前为止,我找到了两个解决方案,包括:

  1. 来自 Peter Carroll 的这个解决方案

  2. 使用try-catch表达式:

try:
    _ = librosa.get_duration(filename=mp3_file_path)
    return True
except:
    return False
Run Code Online (Sandbox Code Playgroud)

上述两种解决方案都有效,但可能有一些缺点,第一个解决方案似乎太复杂而第二个解决方案太慢(以秒为单位,取决于音频的长度)。所以我想知道是否有更好的方法用python验证mp3文件?

谢谢。

python audio-processing

5
推荐指数
1
解决办法
668
查看次数

为什么我的 8kHz wav 文件的 mel 特征在 sr = 16kHz 和 44.1kHz 中的提取方式不同

我目前正在从我的婴儿哭声数据集中提取 mel 特征,wav 文件的采样率为 8kHz、16 位、单声道和大约 7 秒。

sr = 16000 时的梅尔谱图 sr = 44100 时的梅尔谱图

但是正如您所看到的,每当我以不同的采样率提取特征时sr,梅尔谱图的值都会发生变化。我认为由于wav文件的采样率为8kHz,如果我将采样率设置为16kHz以上,赫兹的值必须相同。

我将 wav 文件的采样率 8kHz 转换为 44.1kHz 并再次提取,但没有任何变化。

这是我的代码:

import librosa.display  
import matplotlib.pyplot as plt  
import numpy as np  

sr = 44100 # or 16000 
frame_length = 0.1  
frame_stride = 0.01  
path = '...'
train = []  

j, sr = librosa.load(path + '001.wav', sr, duration = 5.0)   
input_nfft = int(round(sr*frame_length))   
input_stride = int(round(sr*frame_stride))   
mel = librosa.feature.melspectrogram(j, n_mels = 128, n_fft = input_nfft, …
Run Code Online (Sandbox Code Playgroud)

python audio audio-processing librosa

5
推荐指数
1
解决办法
986
查看次数

Julia 是否支持音频处理

我想在低级别播放音频。我想要读取 mp3 文件和创建音频文件(两个通道都可以独立控制)等功能。能够在代码笔记本(我正在使用 Pluto)中即时收听生成的音频将不胜感激。是否有任何软件包可以实现这一目标?我发现了这个:https : //github.com/JuliaAudio/MP3.jl/但它似乎没有得到维护,在尝试安装它时我遇到了一个错误,说“没有项目文件”,这似乎是一个新的要求对于最近添加的 julia 包。

我对 Julia 完全陌生,并且有 python 和 javascript 经验。决定用 Julia 而不是 Python 来做这个项目,只是为了学习这门语言。

audio-processing julia

5
推荐指数
1
解决办法
239
查看次数