标签: waveform

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

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

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

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

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

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

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

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

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

乔瓦尼.

c++ eclipse linux waveform audio-processing

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

使用CoreAudio创建简单波形

我是CoreAudio的新手,我希望使用CA通过扬声器输出一个具有给定频率和幅度的简单正弦波和方波.我不想使用声音文件,因为我想合成声音.

我需要做什么?你能给我一个例子或教程吗?谢谢.

cocoa waveform objective-c core-audio

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

在Python中生成音频波形图形

可能吗?我想要运行一批音频文件并从中生成图形波形文件.与SoundCloud显示的类似,但也许我正在寻找的模块将提供更多选项.

那里有什么?有什么好的?

python audio waveform

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

Android:正弦波生成

我正在尝试使用AudioTrack生成正弦波,方波和锯齿波.然而,这个创建的音频听起来并不像纯正弦波,但是它有一些其他的波形覆盖.在第一个例子中使用方法时,我将如何获得纯正弦波,就像在第二个代码示例中那样?由于顶部示例仅围绕第二个中使用的某些算法移动,它们不应该产生相同的波吗?

@Override
        protected Void doInBackground(Void... foo) {
            short[] buffer = new short[1024];
            this.track = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, minBufferSize, AudioTrack.MODE_STREAM);
            float samples[] = new float[1024];

            this.track.play();

            while (true) {
                for (int i = 0; i < samples.length; i++) {
                    samples[i] = (float) Math.sin( (float)i * ((float)(2*Math.PI) * frequency / 44100));    //the part that makes this a sine wave....
                    buffer[i] = (short) (samples[i] * Short.MAX_VALUE);
                }
                this.track.write( buffer, 0, samples.length );  //write to the audio buffer.... and start all over …
Run Code Online (Sandbox Code Playgroud)

java android waveform

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

Python/Django中的音频波形可视化

我已经浏览了Stack Overflow以获得答案,但似乎没有给出正确答案或方向......

我的项目将允许用户上传WAV,最终将使用服务器上的FFmpeg将其转换为低质量的MP3,并且它将全部存储并在Amazon S3上提供.下一个障碍是如何从这个上传的声音中提取可靠的波形可视化.我在Linux Ubuntu 10上使用Python和Django在这个项目的VPS上...

我,至少需要某种方向......我迷失在哪里开始寻找这样的工具?

python django audio visualization waveform

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

正弦波在给定时间内从f1缓慢上升到f2

我正在编写交流程序,以产生一个正弦波,在给定时间间隔内缓慢地将频率从f1加速到f2.

我已经编写了这个c程序,将频率从0到10 Hz加速,但问题是360度完成后频率会发生变化.如果我尝试在0到360度之间改变频率,那么转换不平滑且突然.

这是我用过的罪的等式y =幅度*sin(频率*相位)

int main(int argc, char *argv[]) {

double y, freq,phase;
int count; // for convenience of plotting in matlab so all the waves are spread on x axis.
  for (freq = 0; freq < 10; freq+=1) {
      for (phase = 0; phase < 360; phase++) { // phase is 360 degrees
      y = 3 * sin((count*6.283185)+(freq*(phase*(3.14159/180))));   
    printf("%f %f %f \n", freq, phase, y);
   }
  count++;
  }
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
  1. 如何在给定时间段内平滑地改变频率?
  2. 我应该研究傅立叶变换吗?

c c++ algorithm math waveform

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

如何将十六进制值字符串转换为整数列表?

我有一长串十六进制值,它们看起来都像这样:

'\x00\x00\x00\x01\x00\x00\x00\xff\xff\x00\x00'
Run Code Online (Sandbox Code Playgroud)

实际字符串是1024帧的波形.我想将这些十六进制值转换为整数值列表,例如:

[0, 0, 0, 1, 0, 0, 0, 255, 255, 0, 0]
Run Code Online (Sandbox Code Playgroud)

如何将这些十六进制值转换为整数?

python audio hex waveform signal-processing

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

在iOS中从音频中提取高音和低音

我正在寻找一种方法来获取歌曲中的高音和低音数据,增加一些时间(例如0.1秒),范围为0.0到1.0.我已经google了一下,但是找不到任何与我正在寻找的东西相近的东西.最终我希望能够在播放歌曲时表现高音和低音水平.

谢谢!

audio waveform extract ios

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

具有Waveform.js和scrubber功能的Soundcloud自定义播放器

我正在为我的网站使用自定义Soundcloud播放器waveform.js来生成波形.它工作得很好,但缺乏擦洗功能.我该如何添加?

我不是一个JS向导,仍然在学习我的方式所以我会非常感谢任何帮助或建议!

更新IV:我找到了一种将画布生成的波形包含在原始SoundCloud自定义播放器中的新方法sc-player.js.

首先,我找到了一行代码,负责播放器的HTML结构,并添加id="waveform"sc-waveform container第529行:

.append('<div class="sc-time-span"><div class="sc-waveform-container" id="waveform">
       </div><div class="sc-buffer"></div><div class="sc-played"></div></div>')
Run Code Online (Sandbox Code Playgroud)

然后我更新了676行,替换imgcanvas

    $available = $scrubber.find('.sc-waveform-container canvas'),
Run Code Online (Sandbox Code Playgroud)

接下来,我找到了一段代码,负责在340行嵌入波形的原始图像并将其评论出来:

 // $('.sc-waveform-container', $player).html('<img src="' + track.waveform_url +'" />');
Run Code Online (Sandbox Code Playgroud)

然后我在页面底部发布了以下代码:

<script>
    SC.get("/tracks/80348246", function(track){
        var waveform = new Waveform({
            container: document.getElementById("waveform"),
            height: 40,
            innerColor: '#ffffff'   
        });
        waveform.dataFromSoundCloudTrack(track); 
    });
    //----------- end of insterted waveform.js code ----------------------
</script>
Run Code Online (Sandbox Code Playgroud)

结果非常有希望,现在我有完全可定制的波形和洗涤器也正常工作.但是仍然有一些我想解决的问题.

  1. 在Chrome中,当我按下播放和暂停时,然后单击波形,曲目开始播放,但播放按钮不会改变其状态.然后需要双击它来停止轨道.

  2. 缓冲区和进度条仍然只是sc-player后台的div.我怎么能联系sc-player.jswaveform.js在一起,使波形画布上产生(例如如在进度http://waveformjs.org/)?

任何想法如何解决这些问题?

这是现场网站上的播放器:http: //www.code.spik3s.com/rnr/

javascript html5 waveform soundcloud

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

SoundCloud就像波形搜索条一样?

这是声云搜索栏的图像: 在此输入图像描述

声音云实际上会在歌曲播放之前计算波形,并将其添加为搜索栏的背景.

我试图添加一些基于android-visualizer的可视化.但我需要的是使用可视化工具作为音频搜索栏的背景.任何指针都非常有用,因为我确信可能会有一些代码开始.

谢谢.

android waveform audio-streaming android-seekbar

9
推荐指数
0
解决办法
3140
查看次数