From e6f6ce0de19a89789b7c422d3ef2b0c7d179ae9b Mon Sep 17 00:00:00 2001 From: asb2m10 Date: Mon, 17 Mar 2014 13:49:38 -0400 Subject: [PATCH] Pitchbend step --- .../UserInterfaceState.xcuserstate | Bin 101126 -> 100486 bytes README.md | 12 +- Source/DXComponents.cpp | 19 +++ Source/DXComponents.h | 6 +- Source/GlobalEditor.cpp | 4 +- Source/ParamDialog.cpp | 2 + Source/PluginEditor.cpp | 8 +- Source/PluginFx.cpp | 117 +++++++++--------- Source/PluginProcessor.cpp | 2 - Source/msfa/dx7note.cc | 26 ++-- 10 files changed, 115 insertions(+), 81 deletions(-) diff --git a/Builds/MacOSX/Dexed.xcodeproj/project.xcworkspace/xcuserdata/asb2m10.xcuserdatad/UserInterfaceState.xcuserstate b/Builds/MacOSX/Dexed.xcodeproj/project.xcworkspace/xcuserdata/asb2m10.xcuserdatad/UserInterfaceState.xcuserstate index 4253be1498c0c08acc753159bcef0f91930ca407..750d638656f6f6b8c4566d73bebcb8e87074d0b9 100644 GIT binary patch literal 100486 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 RSMR+4`_KRX_t1c6{|78D0VDtb diff --git a/README.md b/README.md index 2428309..ebe6d29 100644 --- a/README.md +++ b/README.md @@ -24,17 +24,18 @@ Features Changelog --------- -#### Version 0.4.0 (current sprint) +#### Version 0.4.0 * Modulation wheel support * Now using the [Obxd](https://obxd.wordpress.com) 4-pole lowpass filter implementation * Pitchbend range / step -* Output VU status +* Output/Volume VU status Binary downloads ---------------- Dexed is not a finished product but it is stable enough to be used in a DAW environment: in normal operation it shouldn't crash and the VST state saving works. +* Version 0.4.0 [vst win32](http://le-son666.com/software/dexed/dexed-0.4.0-win32.zip) - [vst win64](http://le-son666.com/software/dexed/dexed-0.4.0-win64.zip) - [vst os x](http://le-son666.com/software/dexed/dexed-0.4.0-osx.vst.zip) * Version 0.3.0 [vst win32](http://le-son666.com/software/dexed/dexed-0.3.0-win32.zip) - [vst win64](http://le-son666.com/software/dexed/dexed-0.3.0-win64.zip) - [vst os x](http://le-son666.com/software/dexed/dexed-0.3.0-osx.vst.zip) Using as a DX7 editor @@ -57,6 +58,12 @@ digital circuit bending feel. Saving those corrupt/random sysex data will regenerate a 32 bulk program sysex dump with a valid checksum for your DX7 keyboard. I'm in now way responsible if this breaks your DX7 keyboard. +FAQ (possibly) +-------------- +* Some programs can generate distortion : This is because the voice summing still needs some tuning. You can simply lower the volume on those programs. +* Some sysex seems to be corrupted : Even if the sysex checksum doesn't match, Dexed will try to load it (this is a kind of randomize feature). Right now Dexed supports only original DX7 sysex, other DX family sysex (like the DX21) is considered as random data. +* Dexed doesn't receive/send parameter data from/to my DX7 : Most DX7 parameter change are done via sysex and very few VST host actually implements sysex. I'm planning to do a standalone executable to handle this issue. + Credits & thanks ---------------- * DX Synth engine : Raph Levien and the [msfa](https://code.google.com/p/music-synthesizer-for-android) team @@ -70,6 +77,7 @@ TODO - Dexed * Implement a better DX look and feel (amp, pitch, algo) * Various code cleanup * Standalone executable (for full support of the sysex editor) +* Midi sample resolution on DAW block size TODO - msfa ----------- diff --git a/Source/DXComponents.cpp b/Source/DXComponents.cpp index e0676de..9dcc162 100644 --- a/Source/DXComponents.cpp +++ b/Source/DXComponents.cpp @@ -437,6 +437,25 @@ void VuMeter::paint(Graphics &g) { } } +LcdDisplay::LcdDisplay() { + systemMsg << "*** DEXED FM synthesizer ***"; +} + +void LcdDisplay::timerCallback() { + systemMsg = "*** DEXED FM synthesizer ***"; + repaint(); +} + +void LcdDisplay::setSystemMsg(String msg) { + systemMsg = msg; + triggerAsyncUpdate(); +} + +void LcdDisplay::handleAsyncUpdate() { + repaint(); + startTimer(5000); +} + void LcdDisplay::paint(Graphics &g) { g.setColour(Colours::black.withAlpha(0.4f)); g.fillRoundedRectangle (0.0f, 0.0f, (float) getWidth(), (float) getHeight(), 1.0f); diff --git a/Source/DXComponents.h b/Source/DXComponents.h index 63d29a2..e4a22da 100644 --- a/Source/DXComponents.h +++ b/Source/DXComponents.h @@ -56,8 +56,12 @@ public : int totalBlocks; }; -class LcdDisplay : public Component { +class LcdDisplay : public Component, public Timer, public AsyncUpdater { + void timerCallback(); + void handleAsyncUpdate(); public: + LcdDisplay(); + void setSystemMsg(String msg); String systemMsg; String paramMsg; void paint(Graphics &g); diff --git a/Source/GlobalEditor.cpp b/Source/GlobalEditor.cpp index 65ac533..104903a 100644 --- a/Source/GlobalEditor.cpp +++ b/Source/GlobalEditor.cpp @@ -182,7 +182,6 @@ GlobalEditor::GlobalEditor () //[Constructor] You can add your own custom stuff here.. - lcdDisplay->systemMsg << "*** DEXED FM synthesizer ***"; vuOutput->totalBlocks = 6; //[/Constructor] @@ -448,8 +447,7 @@ void GlobalEditor::bind(DexedAudioProcessor *parent) { } void GlobalEditor::setSystemMessage(String msg) { - lcdDisplay->systemMsg = msg; - repaint(); + lcdDisplay->setSystemMsg(msg); } void GlobalEditor::setParamMessage(String msg) { diff --git a/Source/ParamDialog.cpp b/Source/ParamDialog.cpp index c9189ca..5ce2500 100644 --- a/Source/ParamDialog.cpp +++ b/Source/ParamDialog.cpp @@ -49,6 +49,7 @@ ParamDialog::ParamDialog () //[Constructor] You can add your own custom stuff here.. + pitchRange->setEnabled(pitchStep->getValue() == 0); //[/Constructor] } @@ -110,6 +111,7 @@ void ParamDialog::sliderValueChanged (Slider* sliderThatWasMoved) else if (sliderThatWasMoved == pitchStep) { //[UserSliderCode_pitchStep] -- add your slider handling code here.. + pitchRange->setEnabled(pitchStep->getValue() == 0); //[/UserSliderCode_pitchStep] } diff --git a/Source/PluginEditor.cpp b/Source/PluginEditor.cpp index 7292760..380e336 100644 --- a/Source/PluginEditor.cpp +++ b/Source/PluginEditor.cpp @@ -175,7 +175,6 @@ void DexedAudioProcessorEditor::buttonClicked(Button *buttonThatWasClicked) { return; } - if (buttonThatWasClicked == loadButton) { FileChooser fc ("Import original DX sysex...", File::nonexistent, "*.syx;*.SYX;*.*", 1); @@ -191,7 +190,9 @@ void DexedAudioProcessorEditor::buttonClicked(Button *buttonThatWasClicked) { } fp_in.read((char *)syx_data, 4104); fp_in.close(); - processor->importSysex((char *) &syx_data); + if ( processor->importSysex((char *) &syx_data) ) { + global.setSystemMessage(String("Unkown sysex format !?")); + } processor->setCurrentProgram(0); rebuildProgramCombobox(); programs.setSelectedId(processor->getCurrentProgram()+1, NotificationType::dontSendNotification); @@ -248,9 +249,6 @@ void DexedAudioProcessorEditor::buttonClicked(Button *buttonThatWasClicked) { } if (buttonThatWasClicked == aboutButton) { - /*AlertWindow::showMessageBoxAsync(AlertWindow::NoIcon, "DEXED - DX Emulator 0.4", "https://github.com/asb2m10/dexed\n" - "(c) 2013-2014 Pascal Gauthier\nUnder the GPL v2\n\n" - "Based on Music Synthesizer for Android\nhttps://code.google.com/p/music-synthesizer-for-android");*/ AboutBox about(this); about.runModalLoop(); return; diff --git a/Source/PluginFx.cpp b/Source/PluginFx.cpp index 149fe7c..4d9690d 100644 --- a/Source/PluginFx.cpp +++ b/Source/PluginFx.cpp @@ -75,11 +75,10 @@ void PluginFx::init(int sr) { uiCutoff = 1; uiReso = 0; - uiGain = 0.8; + uiGain = 1; pCutoff = -1; pReso = -1; - pGain = -1; } inline float PluginFx::NR24(float sample,float g,float lpc) { @@ -96,74 +95,72 @@ inline float PluginFx::NR(float sample, float g) { } void PluginFx::process(float *work, int sampleSize) { + if ( uiGain != 1 ) { + for(int i=0; i < sampleSize; i++ ) + work[i] *= uiGain; + } + // don't apply the LPF if the cutoff is to maximum - if ( uiCutoff != 1 ) { - if ( uiCutoff != pCutoff || uiReso != pReso ) { - rReso = (0.991-logsc(1-uiReso,0,0.991)); - R24 = 3.5 * rReso; + if ( uiCutoff == 1 ) + return; + + if ( uiCutoff != pCutoff || uiReso != pReso ) { + rReso = (0.991-logsc(1-uiReso,0,0.991)); + R24 = 3.5 * rReso; - float cutoffNorm = logsc(uiCutoff,60,19000); - rCutoff = (float)tan(cutoffNorm * sampleRateInv * juce::float_Pi); - - pCutoff = uiCutoff; - pReso = uiReso; + float cutoffNorm = logsc(uiCutoff,60,19000); + rCutoff = (float)tan(cutoffNorm * sampleRateInv * juce::float_Pi); - R = 1 - rReso; - } + pCutoff = uiCutoff; + pReso = uiReso; - // THIS IS MY FAVORITE 4POLE OBXd filter + R = 1 - rReso; + } - // maybe smooth this value - float g = rCutoff; - float lpc = g / (1 + g); + // THIS IS MY FAVORITE 4POLE OBXd filter - for(int i=0; i < sampleSize; i++ ) { - float s = work[i]; - s = s - 0.45*tptlpupw(c,s,15,sampleRateInv); - s = tptpc(d,s,bright); - - float y0 = NR24(s,g,lpc); - - //first low pass in cascade - double v = (y0 - s1) * lpc; - double res = v + s1; - s1 = res + v; - - //damping - s1 =atan(s1*rcor24)*rcor24Inv; - float y1= res; - float y2 = tptpc(s2,y1,g); - float y3 = tptpc(s3,y2,g); - float y4 = tptpc(s4,y3,g); - float mc; + // maybe smooth this value + float g = rCutoff; + float lpc = g / (1 + g); + + for(int i=0; i < sampleSize; i++ ) { + float s = work[i]; + s = s - 0.45*tptlpupw(c,s,15,sampleRateInv); + s = tptpc(d,s,bright); - switch(mmch) { - case 0: - mc = ((1 - mmt) * y4 + (mmt) * y3); - break; - case 1: - mc = ((1 - mmt) * y3 + (mmt) * y2); - break; - case 2: - mc = ((1 - mmt) * y2 + (mmt) * y1); - break; - case 3: - mc = y1; - break; - } + float y0 = NR24(s,g,lpc); - //half volume comp - work[i] = mc * (1 + R24 * 0.45); - } - } + //first low pass in cascade + double v = (y0 - s1) * lpc; + double res = v + s1; + s1 = res + v; + + //damping + s1 =atan(s1*rcor24)*rcor24Inv; + float y1= res; + float y2 = tptpc(s2,y1,g); + float y3 = tptpc(s3,y2,g); + float y4 = tptpc(s4,y3,g); + float mc; - if ( uiGain != pGain ) { - rGain = linsc(uiGain, 0, 1.25); - pGain = uiGain; + switch(mmch) { + case 0: + mc = ((1 - mmt) * y4 + (mmt) * y3); + break; + case 1: + mc = ((1 - mmt) * y3 + (mmt) * y2); + break; + case 2: + mc = ((1 - mmt) * y2 + (mmt) * y1); + break; + case 3: + mc = y1; + break; + } + + //half volume comp + work[i] = mc * (1 + R24 * 0.45); } - - for(int i=0; i < sampleSize; i++ ) - work[i] *= rGain; } /* diff --git a/Source/PluginProcessor.cpp b/Source/PluginProcessor.cpp index d8f6968..4cef115 100644 --- a/Source/PluginProcessor.cpp +++ b/Source/PluginProcessor.cpp @@ -63,7 +63,6 @@ DexedAudioProcessor::DexedAudioProcessor() { controllers.values_[kControllerPitchRange] = 3; controllers.values_[kControllerPitchStep] = 0; loadPreference(); - } DexedAudioProcessor::~DexedAudioProcessor() { @@ -87,7 +86,6 @@ void DexedAudioProcessor::prepareToPlay(double sampleRate, int samplesPerBlock) currentNote = 0; controllers.values_[kControllerPitch] = 0x2000; controllers.values_[kControllerModWheel] = 0; - sustain = false; extra_buf_size = 0; diff --git a/Source/msfa/dx7note.cc b/Source/msfa/dx7note.cc index 1926193..796f572 100755 --- a/Source/msfa/dx7note.cc +++ b/Source/msfa/dx7note.cc @@ -26,6 +26,14 @@ using namespace std; +void dexed_trace(const char *source, const char *fmt, ...); + +#ifdef _MSC_VER +#define TRACE(fmt, ...) dexed_trace(__FUNCTION__,fmt,##__VA_ARGS__) +#else +#define TRACE(fmt, ...) dexed_trace(__PRETTY_FUNCTION__,fmt,##__VA_ARGS__) +#endif + int32_t midinote_to_logfreq(int midinote) { const int base = 50857777; // (1 << 24) * (log(440) / log(2) - 69/12) const int step = (1 << 24) / 12; @@ -191,16 +199,18 @@ void Dx7Note::compute(int32_t *buf, int32_t lfo_val, int32_t lfo_delay, pitchmod += (((int64_t)pmd) * (int64_t)senslfo) >> 39; int pitchbend = ctrls->values_[kControllerPitch]; - int32_t pb; + int32_t pb = (pitchbend - 0x2000); - if ( ctrls->values_[kControllerPitchStep] == 0 ) { - pb = ((float)((pitchbend - 0x2000) << 11)) * ((float)ctrls->values_[kControllerPitchRange]) / 12.0; - } else { - int stp = 12 / ctrls->values_[kControllerPitchStep]; - pb = (pitchbend - 0x2000) / stp; - pb = (pb * stp) << 11; + if ( pb != 0 ) { + if ( ctrls->values_[kControllerPitchStep] == 0 ) { + pb = ((float)(pb << 11)) * ((float)ctrls->values_[kControllerPitchRange]) / 12.0; + } else { + int stp = 12 / ctrls->values_[kControllerPitchStep]; + pb = pb * stp / 8191; + pb = (pb * (8191/stp)) << 11; + } } - + pitchmod += pb; for (int op = 0; op < 6; op++) { params_[op].gain[0] = params_[op].gain[1];