pitch tracking working on some basic level

This commit is contained in:
Trent
2017-06-26 23:31:34 -04:00
parent 4681319591
commit 35aee551c0
7 changed files with 45 additions and 28 deletions

View File

@@ -1,5 +1,6 @@
#include "PluginProcessor.h"
#include "PluginEditor.h"
#include <math.h>
LampshadeAudioProcessor::LampshadeAudioProcessor()
#ifndef JucePlugin_PreferredChannelConfigurations
@@ -93,6 +94,7 @@ bool LampshadeAudioProcessor::isBusesLayoutSupported (const BusesLayout& layouts
void LampshadeAudioProcessor::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages)
{
static float incrementer;
const int totalNumInputChannels = getTotalNumInputChannels();
const int totalNumOutputChannels = getTotalNumOutputChannels();
@@ -106,12 +108,17 @@ void LampshadeAudioProcessor::processBlock (AudioSampleBuffer& buffer, MidiBuffe
buffer.clear(i, 0, buffer.getNumSamples());
float pitch = myYin.getPitch(buffer.getWritePointer (0)); // returns Pitch in Hertz
printf("pitch: %f", pitch);
static float myPitch;
if(pitch > 0) { myPitch = pitch; }
for (int channel = 0; channel < totalNumInputChannels; ++channel) {
//float* channelData = buffer.getWritePointer (channel);
float* channel1Data = buffer.getWritePointer (0);
float* channel2Data = buffer.getWritePointer (1);
for(int i=0; i < buffer.getNumSamples(); i++){
incrementer += (myPitch / 4000);
channel1Data[i] = sin(incrementer) * 0.1;
channel2Data[i] = channel1Data[i];
}
printf("%f\n",channel1Data[0]);
}
bool LampshadeAudioProcessor::hasEditor() const

View File

@@ -1,12 +1,13 @@
#include "Yin.h"
#include <stdlib.h>
#include <stdio.h>
//#include "WProgram.h"
void Yin::initialize(float yinSampleRate,int yinBufferSize){
bufferSize = yinBufferSize;
sampleRate = yinSampleRate;
halfBufferSize = bufferSize / 2;
threshold = 0.15;
threshold = 0.01;
probability = 0.0;
//initialize array and set it to zero
yinBuffer = (float *) malloc(sizeof(float)* halfBufferSize);
@@ -137,6 +138,7 @@ int Yin::absoluteThreshold(){
break;
}
}
// if no pitch found, tau => -1
if (tau == halfBufferSize || yinBuffer[tau] >= threshold) {
tau = -1;

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,4 @@
<REAPER_PROJECT 0.1 "5.40/OSX64" 1498529808
<REAPER_PROJECT 0.1 "5.40/OSX64" 1498532532
RIPPLE 0
GROUPOVERRIDE 0 0 0
AUTOXFADE 1
@@ -39,11 +39,11 @@
TEMPOENVLOCKMODE 1
ITEMMIX 0
DEFPITCHMODE 589824
TAKELANE 1
TAKELANE 0
SAMPLERATE 44100 0 0
<RENDER_CFG
>
LOCK 1
LOCK 16385
<METRONOME 6 2
VOL 0.25 0.125
FREQ 800 1600 1
@@ -64,27 +64,13 @@
MASTERHWOUT 0 0 1 0 0 0 0 -1
MASTER_NCH 2 2
MASTER_VOLUME 1 0 -1 -1 1
MASTER_FX 1
MASTER_FX 0
MASTER_SEL 0
<MASTERFXLIST
WNDRECT 34 368 639 377
WNDRECT 34 68 839 677
SHOW 0
LASTSEL 0
DOCKED 0
BYPASS 0 0 0
<AU "AU: yourcompany: lampshade" "yourcompany: lampshade" "" 1635083896 1382378611 1298230901
6QMAAAAAAAACAAAAAQAAAAAAAAACAAAAAAAAAAIAAAABAAAAAAAAAAIAAAAAAAAAkgIAADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CjwhRE9D
VFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQi
Pgo8cGxpc3QgdmVyc2lvbj0iMS4wIj4KPGRpY3Q+Cgk8a2V5PmRhdGE8L2tleT4KCTxkYXRhPgoJPC9kYXRhPgoJPGtleT5lbGVtZW50LW5hbWU8L2tleT4KCTxkaWN0
PgoJCTxrZXk+MTwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PjA8L2tleT4KCQkJPHN0cmluZz5JbnB1dDwvc3RyaW5nPgoJCTwvZGljdD4KCQk8a2V5PjI8L2tleT4KCQk8
ZGljdD4KCQkJPGtleT4wPC9rZXk+CgkJCTxzdHJpbmc+T3V0cHV0PC9zdHJpbmc+CgkJPC9kaWN0PgoJPC9kaWN0PgoJPGtleT5tYW51ZmFjdHVyZXI8L2tleT4KCTxp
bnRlZ2VyPjEyOTgyMzA5MDE8L2ludGVnZXI+Cgk8a2V5Pm5hbWU8L2tleT4KCTxzdHJpbmc+VW50aXRsZWQ8L3N0cmluZz4KCTxrZXk+c3VidHlwZTwva2V5PgoJPGlu
dGVnZXI+MTM4MjM3ODYxMTwvaW50ZWdlcj4KCTxrZXk+dHlwZTwva2V5PgoJPGludGVnZXI+MTYzNTA4Mzg5NjwvaW50ZWdlcj4KCTxrZXk+dmVyc2lvbjwva2V5PgoJ
PGludGVnZXI+MDwvaW50ZWdlcj4KPC9kaWN0Pgo8L3BsaXN0PgoBAAAAAAAAAAAA
>
FLOATPOS 0 0 0 0
FXID {3568A34C-460C-D046-82F7-7D87378ABB20}
WAK 0
>
<MASTERPLAYSPEEDENV
ACT 0
@@ -103,7 +89,7 @@
<PROJBAY
>
<TRACK {0285AA2F-2341-854C-BBEE-985C6E7A9ADD}
NAME ""
NAME "0001 3-Audio"
PEAKCOL 16576
BEAT -1
AUTOMODE 0
@@ -114,8 +100,8 @@
BUSCOMP 0 0
SHOWINMIX 1 0.6667 0.5 1 0.5 0 0 0
FREEMODE 0
SEL 0
REC 1 0 0 0 0 0 0
SEL 1
REC 0 0 0 0 0 0 0
VU 2
TRACKHEIGHT 0 0
INQ 0 0 0 0.5 100 0 0 100
@@ -126,7 +112,7 @@
MIDIOUT -1
MAINSEND 1 0
<FXCHAIN
WNDRECT 125 469 639 376
WNDRECT 125 169 839 676
SHOW 0
LASTSEL 0
DOCKED 0
@@ -140,5 +126,27 @@
FXID {B7DD42FB-8D0E-C24C-924A-407EC4334EB7}
WAK 0
>
<ITEM
POSITION 0
SNAPOFFS 0
LENGTH 2.368
LOOP 1
ALLTAKES 0
FADEIN 1 0.01 0 1 0 0
FADEOUT 1 0.01 0 1 0 0
MUTE 0
SEL 0
IGUID {40DBFCD1-92BE-4748-9291-13EFE644D598}
IID 1
NAME "0001 3-Audio.wav"
VOLPAN 1 0 1 -1
SOFFS 0
PLAYRATE 1 1 0 -1 0 0.0025
CHANMODE 0
GUID {76289E0D-F3CA-8942-B926-B9E354D05BC9}
<SOURCE WAVE
FILE "test Project/Samples/Recorded/0001 3-Audio.wav"
>
>
>
>