commit 818da8a1a72980f63fa262566b1839f44bacd34a
parent b466a624876729b98b5a9384e1ce40cb479f644e
Author: jatinchowdhury18 <jatinchowdhury18@users.noreply.github.com>
Date: Fri, 15 Feb 2019 12:23:30 -0800
Update loss effect params
Diffstat:
6 files changed, 9 insertions(+), 23 deletions(-)
diff --git a/Paper/420_paper.pdf b/Paper/420_paper.pdf
Binary files differ.
diff --git a/Paper/420_paper.tex b/Paper/420_paper.tex
@@ -425,13 +425,6 @@ audible range. The output signal can be
recovered after the recording and playback processes
by subtracting out the bias current.
-\subsection{Tape Speed}
-The frequency response of the playback from a tape
-recorder is also dependent on the tape speed. Faster
-speeds typically correspond to better high-frequency
-response. In this case, we model the tape speed response
-as a simple low-pass filter.
-
%\newpage
\nocite{*}
\bibliographystyle{IEEEbib}
diff --git a/Plugin/Source/PluginProcessor.cpp b/Plugin/Source/PluginProcessor.cpp
@@ -28,7 +28,6 @@ ChowtapeModelAudioProcessor::ChowtapeModelAudioProcessor()
StringArray ({ "3.75 ips", "7.5 ips", "15 ips" }), 1));
tapeSpeed->addListener (this);
- speedFilter.setSpeed (*tapeSpeed);
lossEffects.setSpeed (*tapeSpeed);
hysteresis.setOverSamplingFactor (*overSampling);
}
@@ -46,10 +45,7 @@ void ChowtapeModelAudioProcessor::parameterValueChanged (int paramIndex, float n
else if (paramIndex == overSampling->getParameterIndex())
hysteresis.setOverSamplingFactor (*overSampling);
else if (paramIndex == tapeSpeed->getParameterIndex())
- {
- speedFilter.setSpeed (*tapeSpeed);
lossEffects.setSpeed (*tapeSpeed);
- }
}
//==============================================================================
@@ -118,7 +114,6 @@ void ChowtapeModelAudioProcessor::changeProgramName (int /*index*/, const String
void ChowtapeModelAudioProcessor::prepareToPlay (double sampleRate, int samplesPerBlock)
{
inGainProc.prepareToPlay (sampleRate, samplesPerBlock);
- speedFilter.prepareToPlay (sampleRate, samplesPerBlock);
hysteresis.prepareToPlay (sampleRate, samplesPerBlock);
lossEffects.prepareToPlay (sampleRate, samplesPerBlock);
outGainProc.prepareToPlay (sampleRate, samplesPerBlock);
@@ -127,7 +122,6 @@ void ChowtapeModelAudioProcessor::prepareToPlay (double sampleRate, int samplesP
void ChowtapeModelAudioProcessor::releaseResources()
{
inGainProc.releaseResources();
- speedFilter.releaseResources();
hysteresis.releaseResources();
lossEffects.releaseResources();
outGainProc.releaseResources();
@@ -166,7 +160,6 @@ void ChowtapeModelAudioProcessor::processBlock (AudioBuffer<float>& buffer, Midi
hysteresis.processBlock (buffer, midiMessages);
lossEffects.processBlock (buffer, midiMessages);
- speedFilter.processBlock (buffer, midiMessages);
outGainProc.processBlock (buffer, midiMessages);
}
diff --git a/Plugin/Source/PluginProcessor.h b/Plugin/Source/PluginProcessor.h
@@ -3,7 +3,6 @@
#include "../JuceLibraryCode/JuceHeader.h"
#include "Processors/Hysteresis/HysteresisProcessor.h"
#include "Processors/GainProcessor.h"
-#include "Processors/Speed Filters/SpeedFilterProcessor.h"
#include "Processors/Loss Effects/LossEffectsFilter.h"
//==============================================================================
@@ -59,7 +58,6 @@ public:
void parameterGestureChanged (int /*paramIndex*/, bool /*gestureIsStarting*/) override {}
private:
- SpeedFilterProcessor speedFilter;
HysteresisProcessor hysteresis;
LossEffectsFilter lossEffects;
diff --git a/Plugin/Source/Processors/Loss Effects/LossEffects.h b/Plugin/Source/Processors/Loss Effects/LossEffects.h
@@ -5,9 +5,9 @@
namespace
{
- constexpr float spacing = (float) 20e-6;
- constexpr float gap = (float) 5e-6;
- constexpr float thickness = (float) 35e-6;
+ constexpr float spacing = (float) 1e-9;
+ constexpr float gap = (float) 2e-6;
+ constexpr float thickness = (float) 10e-6;
constexpr float inchesToMeters = 0.0254f;
enum
diff --git a/Simulations/Loss_Effects.py b/Simulations/Loss_Effects.py
@@ -4,10 +4,10 @@ import scipy.signal as signal
# Constants
N = 100
-d = 20e-6 #Spacing between tape and head
-g = 5e-6 #Head gap width
+d = 1e-9 #Spacing between tape and head
+g = 2e-6 #Head gap width
delta = 35e-6 #Tape thickness
-v = 15 * 0.0254
+v = 7.5 * 0.0254
#f = np.linspace (0, 24000, N/2)
f = np.linspace (0, 48000, N)
@@ -39,7 +39,9 @@ w, H_t = signal.freqz (h)
# Plotting output
#plt.plot(n, h)
#plt.plot (w * 22000 / np.pi, abs (H_t))
-plt.semilogx (f[0:int (N/2)], 20 * np.log10 (H[0:int (N/2)]))
+plt.semilogx (f[0:int (N/2)], 10 * np.log10 (H[0:int (N/2)]))
+plt.axvline (x=15000)
+plt.axhline (y=-3)
plt.title ("Tape Loss Effects vs. Frequency")
plt.xlabel ("Frequency [Hz]")
plt.ylabel ("Amplitude [dB]")