我想建立类似于Tunatic或Midomi的东西(如果你不确定他们做了什么的话就试试看)我想知道我必须使用哪些算法; 我对这些应用程序的工作原理是这样的:
我虽然因为环境噪声和编码差异而降低了质量/比特率.
我在这里走在正确的轨道上吗?任何人都可以提供任何具体的文档或示例吗?Midori似乎甚至认识到hum's,这真是令人印象深刻!他们是怎么做到的?
声音哈希存在还是我刚刚制作的东西?如果他们这样做,我该如何计算它们?更重要的是,我如何检查是否child-hash在father-hash?
我将如何使用Python(可能是内置模块)或PHP构建类似的系统?
一些例子(最好是Python或PHP)将不胜感激.提前致谢!
我正在尝试使用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) 我毕业后就是电子和电信专业的学生.我将参与一个涉及我对DSP,音乐和音频知识的项目.我已经知道所有基本的数学仪器和我需要管理的所有东西,例如FFT,循环卷积ecc ecc.
我想学习C++编程基本上是出于一个原因:它在专业领域非常重要!我认为它是最常用于编写音频应用程序的应用程序之一,尤其是当它涉及实时处理时.
好的,在这个小小的介绍之后我想首先知道,哪些是最常用的库,用于c ++中的音频处理?我长时间在网上看,但我找不到工作的东西.(我使用eclipse CDT环境在linux下工作).
然后我想知道是否有很好的资源来学习如何编写一些工作代码,例如如何编写一个简单的低通滤波器.基本上现在我不会写实时应用程序,我想从处理WAV文件开始,甚至更好的MP3文件,所以基本上是在样本矢量上.
让我们说基本上现在我想从音频文件中提取波形,并将其保存为缩略图或PNG图像.
好的,现在我认为这就是我所需要的.
关于这个的任何想法,建议,图书馆,书籍,有趣的资料来源?
非常感谢您提供任何答案.
乔瓦尼.
我需要制作一个Android应用程序,可以识别我创建的某些声音文件,并在识别时执行操作.所以类似于Shazam/Soundhound,但有我自己的声音文件.是否有任何API或SDK或其他东西?我读过关于Echoprint的内容,但我知道它适用于Windows和iOS,对我来说似乎很难.那会有用吗?或者还有其他选择吗?
PS:为了说清楚,我不想要语音识别或文本到语音.我的声音文件可以有音乐,失真的声音,效果等
我只是想知道在Java或C#中是否存在库或外部库中的任何构建,它允许我获取音频文件并解析它并从中提取文本.
我需要申请这样做,但我不知道从哪里可以开始.
我正在尝试创建一个项目,从互联网上提取实时流音频文件,并连续采样音频,寻找给定时间段内最主要的频率.这个想法是,如果它在一段时间(几秒)内检测到让我们说440Hz的频率,则意味着在直播流上播放了特定的音调.一旦它检测到特定的音调,我就会在程序中做一些其他的事情.直播是流言,单音或沉默.
我能够做到这一点,得到一个概念证明工作,读取我从在线音调发生器生成的文件.当我传入该文件时,它正确地识别频率(它仅关闭1或2 Hz).当我拉入实时流时,我得到的频率数据类似于:17704Hz.我的猜测是它来自直播的"噪音".
我正在使用npm模块node-pitchfinder并audio-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) 这是我在堆栈上的第一篇文章.到目前为止,这个网站非常有用,但我是一个新手,需要清楚解释我的问题,这与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) 我有一系列MIDI音符以MIDI音符编号的形式存储在数组中.有没有一种算法可以让我获得这些音符所代表的歌曲的关键和音阶?
我想使用bash脚本将audio.mp3音轨添加到无声的video.mp4文件中,"cvlc""ffmpeg"命令行的正确语法是什么?
我用VLC和--no-audio选项录制了视频,因此没有可以从原始视频复制的比特率或编码等设置.