标签: audio-processing

音乐识别与信号处理

我想建立类似于TunaticMidomi的东西(如果你不确定他们做了什么的话就试试看)我想知道我必须使用哪些算法; 我对这些应用程序的工作原理是这样的:

  1. 有一个有几首歌的大数据库
  2. 1中的每首歌曲.降低质量/比特率(例如64kbps)并计算声音"哈希"
  3. 有你想要识别的音乐的声音/摘录
  4. 对于3中的歌曲.降低质量/比特率(再次达到64kbps)并计算声音"哈希"
  5. 如果4.声音散列在2.中的任何一个中.声音散列返回匹配的音乐

我虽然因为环境噪声和编码差异而降低了质量/比特率.

我在这里走在正确的轨道上吗?任何人都可以提供任何具体的文档或示例吗?Midori似乎甚至认识到hum's,这真是令人印象深刻!他们是怎么做到的?

声音哈希存在还是我刚刚制作的东西?如果他们这样做,我该如何计算它们?更重要的是,我如何检查是否child-hashfather-hash

我将如何使用Python(可能是内置模块)或PHP构建类似的系统

一些例子(最好是Python或PHP)将不胜感激.提前致谢!

php python audio signal-processing audio-processing

14
推荐指数
3
解决办法
8499
查看次数

Haskell中的音频和信号处理

你知道Haskell中音频合成/信号处理的活跃尝试吗?既可以进行现场演出,还可以进行离线处理?我不是在寻找依赖外部工具的库(比如绑定到SuperCollider).

我找到了合成器,但它已经很久没有更新了.

dsp也很有趣.但是它维持了吗?

对于纯信号处理,也有长石.它得以维持和发展.也许它可以用作构建面向音频的信号处理库的未来基础.

有类似的套餐吗?

haskell signal-processing audio-processing

14
推荐指数
2
解决办法
3092
查看次数

deeplearning4j - 使用RNN/LSTM进行音频信号处理

我正在尝试使用deeplearning4j训练RNN进行数字(音频)信号处理.我们的想法是拥有2个.wav文件:一个是录音,第二个是相同的录音但是经过处理(例如使用低通滤波器).RNN的输入是第一个(未处理的)音频记录,输出是第二个(已处理的)音频记录.

我已经使用了dl4j示例中的GravesLSTMCharModellingExample,并且大部分都使用了CharacterIterator类来接受音频数据而不是文本.

我使用dl4j处理音频的第一个项目基本上与GravesLSTMCharModellingExample做同样的事情,但生成音频而不是文本,使用11025Hz 8位单声道音频,这是有效的(对于一些非常有趣的结果).因此,在这种情况下使用音频的基础知识似乎有效.

因此,第2步是将其用于音频处理而不是音频生成.

不幸的是,我没有取得多大成功.它似乎能够做的最好的是输出一个非常嘈杂的输入版本.

作为"健全性检查",我已经测试了输入和输出使用相同的音频文件,我希望它能够快速收敛到模型,只需复制输入.但事实并非如此.再次,经过长时间的训练,它似乎能够做的就是产生一个噪音更大的输入版本.

我猜的最相关的代码是DataSetIterator.next()方法(改编自示例的CharacterIterator类),现在看起来像这样:

public DataSet next(int num) {
    if (exampleStartOffsets.size() == 0)
        throw new NoSuchElementException();

    int currMinibatchSize = Math.min(num, exampleStartOffsets.size());
    // Allocate space:
    // Note the order here:
    // dimension 0 = number of examples in minibatch
    // dimension 1 = size of each vector (i.e., number of characters)
    // dimension 2 = length of each time series/example
    // Why 'f' order here? See http://deeplearning4j.org/usingrnns.html#data
    // section "Alternative: Implementing a custom …
Run Code Online (Sandbox Code Playgroud)

java machine-learning audio-processing deeplearning4j

13
推荐指数
1
解决办法
913
查看次数

如何编写C++音频处理应用程序?

我毕业后就是电子和电信专业的学生.我将参与一个涉及我对DSP,音乐和音频知识的项目.我已经知道所有基本的数学仪器和我需要管理的所有东西,例如FFT,循环卷积ecc ecc.

我想学习C++编程基本上是出于一个原因:它在专业领域非常重要!我认为它是最常用于编写音频应用程序的应用程序之一,尤其是当它涉及实时处理时.

好的,在这个小小的介绍之后我想首先知道,哪些是最常用的库,用于c ++中的音频处理?我长时间在网上看,但我找不到工作的东西.(我使用eclipse CDT环境在linux下工作).

然后我想知道是否有很好的资源来学习如何编写一些工作代码,例如如何编写一个简单的低通滤波器.基本上现在我不会写实时应用程序,我想从处理WAV文件开始,甚至更好的MP3文件,所以基本上是在样本矢量上.

让我们说基本上现在我想从音频文件中提取波形,并将其保存为缩略图或PNG图像.

好的,现在我认为这就是我所需要的.

关于这个的任何想法,建议,图书馆,书籍,有趣的资料来源?

非常感谢您提供任何答案.

乔瓦尼.

c++ eclipse linux waveform audio-processing

12
推荐指数
2
解决办法
2万
查看次数

声音识别API,SDK(Android)

我需要制作一个Android应用程序,可以识别我创建的某些声音文件,并在识别时执行操作.所以类似于Shazam/Soundhound,但有我自己的声音文件.是否有任何API或SDK或其他东西?我读过关于Echoprint的内容,但我知道它适用于Windows和iOS,对我来说似乎很难.那会有用吗?或者还有其他选择吗?

PS:为了说清楚,我不想要语音识别或文本到语音.我的声音文件可以有音乐,失真的声音,效果等

audio android audio-processing

12
推荐指数
1
解决办法
7020
查看次数

将音频转换为文本

我只是想知道在Java或C#中是否存在库或外部库中的任何构建,它允许我获取音频文件并解析它并从中提取文本.

我需要申请这样做,但我不知道从哪里可以开始.

c# java speech-recognition audio-processing

11
推荐指数
2
解决办法
2万
查看次数

查找样本中最主要的音频

我正在尝试创建一个项目,从互联网上提取实时流音频文件,并连续采样音频,寻找给定时间段内最主要的频率.这个想法是,如果它在一段时间(几秒)内检测到让我们说440Hz的频率,则意味着在直播流上播放了特定的音调.一旦它检测到特定的音调,我就会在程序中做一些其他的事情.直播是流言,单音或沉默.

我能够做到这一点,得到一个概念证明工作,读取我从在线音调发生器生成的文件.当我传入该文件时,它正确地识别频率(它仅关闭1或2 Hz).当我拉入实时流时,我得到的频率数据类似于:17704Hz.我的猜测是它来自直播的"噪音".

我正在使用npm模块node-pitchfinderaudio-analyer完成大部分处理

关于如何获得单音的任何想法?

const fs = require('fs');
const fsa = require('fs-extra');
const Lame     = require('lame');
const Speaker  = require('speaker');
const Volume   = require('pcm-volume');
const Analyser = require('audio-analyser')
const request  = require('request')
const Chunker  = require('stream-chunker');
const { YIN } = require('node-pitchfinder')
const detectPitch = YIN({ sampleRate: 44100})
//const BUFSIZE  = 64;
const BUFSIZE  = 500;


var decoder   = new Lame.Decoder(); 
decoder.on('format', function(format){onFormat(format)});

var chunker  = Chunker(BUFSIZE);
chunker.pipe(decoder);  




var options = {
    url: …
Run Code Online (Sandbox Code Playgroud)

javascript fft audio-streaming node.js audio-processing

11
推荐指数
1
解决办法
258
查看次数

Python:改变音频文件的音高

这是我在堆栈上的第一篇文章.到目前为止,这个网站非常有用,但我是一个新手,需要清楚解释我的问题,这与Python中的音调转换音频有关.我安装了当前的模块:numpy,scipy,pygame和scikits"samplerate"api.

我的目标是采用立体声文件,并以尽可能少的步骤以不同的音高播放.目前,我使用pygame.sndarray将文件加载到数组中,然后使用scikits.samplerate.resample应用samplerate转换,然后将输出转换回声音对象以使用pygame进行回放.问题是垃圾音频来自我的扬声器.当然,我错过了几个步骤(除了对数学和音频一无所知).

谢谢.

import time, numpy, pygame.mixer, pygame.sndarray
from scikits.samplerate import resample

pygame.mixer.init(44100,-16,2,4096)

# choose a file and make a sound object
sound_file = "tone.wav"
sound = pygame.mixer.Sound(sound_file)

# load the sound into an array
snd_array = pygame.sndarray.array(sound)

# resample. args: (target array, ratio, mode), outputs ratio * target array.
# this outputs a bunch of garbage and I don't know why.
snd_resample = resample(snd_array, 1.5, "sinc_fastest")

# take the resampled array, make it an object and stop playing after …
Run Code Online (Sandbox Code Playgroud)

python pygame scipy audio-processing

10
推荐指数
1
解决办法
6998
查看次数

是否有算法从一系列音符中获取歌曲的音阶和键?

我有一系列MIDI音符以MIDI音符编号的形式存储在数组中.有没有一种算法可以让我获得这些音符所代表的歌曲的关键和音阶?

algorithm midi audio-processing

9
推荐指数
2
解决办法
5914
查看次数

如何使用VLC或FFMPEG命令行将外部音频轨道添加到视频文件

我想使用bash脚本将audio.mp3音轨添加到无声的video.mp4文件中,"cvlc""ffmpeg"命令行的正确语法是什么?

我用VLC和--no-audio选项录制了视频,因此没有可以从原始视频复制的比特率或编码等设置.

ffmpeg vlc video-processing audio-processing

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