美文网首页
processing实现圆形频谱图

processing实现圆形频谱图

作者: ylylhl | 来源:发表于2018-06-10 20:53 被阅读0次

帮基友做的作业里的一部分,写完以后她说用不到这个就发出来了()
大概就是监听了一下麦克风然后转角度,写的很傻
有参考openprocessing上的代码
对没错搜到的所有代码都是p5.js(……) java模式表示死亡xxx

import ddf.minim.*;
import ddf.minim.analysis.*;

Minim minim;
AudioInput in;
FFT fft;

int h,m,s;
float[] fftReal;
void setup() {
  //窗口大小
  size(800, 600);
  minim = new Minim(this);
  in = minim.getLineIn();
  //FFT(int timeSize, float sampleRate) 
  //通过一个timeSize大小并且采样速率为sampleRate的缓冲区构造FFT 
  fft = new FFT(in.bufferSize(), in.sampleRate());
}
void draw(){
  background(0);
  fft.forward(in.mix);
  //时钟的部分
  //显示时间
  //textFont(createFont("Helvetica", 65));
  textFont(createFont("lcdD", 65));
  textAlign(CENTER);
  fill(255);
  h=hour();
  m=minute();
  s=second();
  if(m<10 && s<10){text(h+":"+"0"+m+":"+"0"+s,width/2,height/2+100/3-3);}
  else if(m<10 && s>=10){text(h+":"+"0"+m+":"+s,width/2,height/2+100/3-3);}
  else if(m>=10 && s<10){text(h+":"+m+":"+"0"+s,width/2,height/2+100/3-3);}
  else if(m>=10 && s>=10){text(h+":"+m+":"+s,width/2,height/2+100/3-3);}
  textAlign(LEFT);
  textFont(createFont("Helvetica", 11));

  //显示圆形频谱
  fftReal = fft.getSpectrumReal();
  //fftImag = fft.getSpectrumImaginary();
  float ang=0;
  float angle=PI/40;
  int circRad = 180;
  int circThick = 5;
  int maxSpectrum = 80;
  for(int i = 0; i < maxSpectrum; i+=1) {
    float dist = fftReal[i];
    //float dist2 = fftReal[i+1];
    stroke(fftReal[i], 125, 186);
    //stroke(255, 236, 149);
    strokeWeight(3);
    line(width/2 - cos(ang)*(circRad+dist+circThick), height/2 + sin(ang)*(circRad+dist+circThick), width/2 - cos(ang)*(circRad-dist-circThick), height/2 + sin(ang)*(circRad-dist-circThick));
    //line(width/2 - cos(ang)*(circRad+dist+circThick), height/2 + sin(ang)*(circRad+dist+circThick), width/2 - cos(ang+angle)*(circRad+dist2+circThick), height/2 + sin(ang+angle)*(circRad+dist2+circThick));
    //line(width/2 - cos(ang)*(circRad-dist-circThick), height/2 + sin(ang)*(circRad-dist-circThick), width/2 - cos(ang+angle)*(circRad-dist2-circThick), height/2 + sin(ang+angle)*(circRad-dist2-circThick));
    ang+=angle;  
  }  
  strokeWeight(1);
}
……并没有背景,因为懒直接截了作业的图(

相关文章

  • processing实现圆形频谱图

    帮基友做的作业里的一部分,写完以后她说用不到这个就发出来了()大概就是监听了一下麦克风然后转角度,写的很傻有参考o...

  • 安卓自定义瀑布图控件

    引言 之前写过电平图和频谱图的实现的文章,在这片文章中,我将要讲解频谱瀑布图的实现。 频谱瀑布图又叫谱阵图,它是将...

  • python图像傅里叶变换 高低通滤波

    今日份需求:1,将双通道的神经网络输出进行傅里叶变换,获取频谱图2,获得频谱图之后将频谱图分离成频率直方图那样的看...

  • Android 圆形,包边,Vip标签,进度效果

    实现圆形图片的一些常见功能 1.实现功能: 2.引用 3:方法说明: 总结 VipImageView 是一个圆形图...

  • 一步一步教你实现iOS音频频谱动画(一)

    一步一步教你实现iOS音频频谱动画(一) 一步一步教你实现iOS音频频谱动画(一)

  • android图片圆形实现方式

    此篇是我圆形图片学习总结的文章,最终实现的效果图如下 文章参考 Android圆形图片不求人,自定义View实现(...

  • 频谱图分析

    李佳 学号19011210599 【嵌牛导读】频谱图的分析方法 【嵌牛鼻子】频谱 时域 FFT2函数 log 变...

  • 音频深度学习

    对音频文件通过FFT转换为频谱图,灰度图,inflat然后当图片训

  • tableau实现圆形条形图

    平时在接需求的时候,对方会要求做一些不是tableau自带的图形,比如圆柱图,虽然和条形图表示意思是一样的,但是可...

  • 【R】R代码记录

    R包——Mutational Pattern画突变频谱图 效果图:原文:https://www.jianshu.c...

网友评论

      本文标题:processing实现圆形频谱图

      本文链接:https://www.haomeiwen.com/subject/xzjqeftx.html