MCPcopy Create free account
hub / github.com/DamRsn/NeuralNote / resampleBuffer

Function resampleBuffer

Lib/Utils/AudioUtils.cpp:70–93  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

68}
69
70void resampleBuffer(const AudioBuffer<float>& inBuffer,
71 AudioBuffer<float>& outBuffer,
72 double inSourceSampleRate,
73 double inTargetSampleRate)
74{
75 if (inSourceSampleRate == inTargetSampleRate) {
76 outBuffer.makeCopyOf(inBuffer);
77 return;
78 }
79
80 Resampler resampler;
81 // Prepare resampler
82 resampler.prepareToPlay(inSourceSampleRate, inBuffer.getNumSamples(), inTargetSampleRate);
83 auto num_expected_samples_after_resample = resampler.getNumOutSamplesOnNextProcessBlock(inBuffer.getNumSamples());
84
85 outBuffer.setSize(inBuffer.getNumChannels(), num_expected_samples_after_resample);
86
87 for (int ch = 0; ch < inBuffer.getNumChannels(); ch++) {
88 resampler.reset();
89 int num_samples_after_resample = resampler.processBlock(
90 inBuffer.getReadPointer(ch), outBuffer.getWritePointer(ch), inBuffer.getNumSamples());
91 jassertquiet(num_samples_after_resample == num_expected_samples_after_resample);
92 }
93}
94
95bool _loadMP3File(const std::string& filename, juce::AudioBuffer<float>& outBuffer, double& outSampleRate)
96{

Callers 2

prepareToPlayMethod · 0.85
onFileDropMethod · 0.85

Calls 4

prepareToPlayMethod · 0.45
resetMethod · 0.45
processBlockMethod · 0.45

Tested by

no test coverage detected