diff --git a/libraries/audio/src/AudioEditBuffer.h b/libraries/audio/src/AudioEditBuffer.h deleted file mode 100644 index 66639f20bb..0000000000 --- a/libraries/audio/src/AudioEditBuffer.h +++ /dev/null @@ -1,112 +0,0 @@ -// -// AudioEditBuffer.h -// hifi -// -// Created by Craig Hansen-Sturm on 8/29/14. -// Copyright 2014 High Fidelity, Inc. -// -// Distributed under the Apache License, Version 2.0. -// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html -// - -#ifndef hifi_AudioEditBuffer_h -#define hifi_AudioEditBuffer_h - -template< typename T > -class AudioEditBuffer : public AudioFrameBuffer { - -public: - - AudioEditBuffer(); - AudioEditBuffer(const uint32_t channelCount, const uint32_t frameCount); - ~AudioEditBuffer(); - - bool getZeroCrossing(uint32_t start, bool direction, float32_t epsilon, uint32_t& zero); - - void linearFade(uint32_t start, uint32_t stop, bool increasing); - void exponentialFade(uint32_t start, uint32_t stop, bool increasing); -}; - -template< typename T > -AudioEditBuffer::AudioEditBuffer() : - AudioFrameBuffer() { -} - -template< typename T > -AudioEditBuffer::AudioEditBuffer(const uint32_t channelCount, const uint32_t frameCount) : - AudioFrameBuffer(channelCount, frameCount) { -} - -template< typename T > - AudioEditBuffer::~AudioEditBuffer() { -} - -template< typename T > -inline bool AudioEditBuffer::getZeroCrossing(uint32_t start, bool direction, float32_t epsilon, uint32_t& zero) { - - zero = this->_frameCount; - - if (direction) { // scan from the left - if (start < this->_frameCount) { - for (uint32_t i = start; i < this->_frameCount; ++i) { - for (uint32_t j = 0; j < this->_channelCount; ++j) { - if (this->_frameBuffer[j][i] >= -epsilon && this->_frameBuffer[j][i] <= epsilon) { - zero = i; - return true; - } - } - } - } - } else { // scan from the right - if (start != 0 && start < this->_frameCount) { - for (uint32_t i = start; i != 0; --i) { - for (uint32_t j = 0; j < this->_channelCount; ++j) { - if (this->_frameBuffer[j][i] >= -epsilon && this->_frameBuffer[j][i] <= epsilon) { - zero = i; - return true; - } - } - } - } - } - - return false; -} - -template< typename T > -inline void AudioEditBuffer::linearFade(uint32_t start, uint32_t stop, bool increasing) { - - if (start >= stop || start > this->_frameCount || stop > this->_frameCount ) { - return; - } - - uint32_t count = stop - start; - float32_t delta; - float32_t gain; - - if (increasing) { // 0.0 to 1.0f in delta increments - delta = 1.0f / (float32_t)count; - gain = 0.0f; - } else { // 1.0f to 0.0f in delta increments - delta = -1.0f / (float32_t)count; - gain = 1.0f; - } - - for (uint32_t i = start; i < stop; ++i) { - for (uint32_t j = 0; j < this->_channelCount; ++j) { - this->_frameBuffer[j][i] *= gain; - } - gain += delta; - } -} - -template< typename T > -inline void AudioEditBuffer::exponentialFade(uint32_t start, uint32_t stop, bool increasing) { - // TBD -} - -typedef AudioEditBuffer< float32_t > AudioEditBufferFloat32; -typedef AudioEditBuffer< int32_t > AudioEditBufferSInt32; - -#endif // hifi_AudioEditBuffer_h - diff --git a/libraries/audio/src/Sound.cpp b/libraries/audio/src/Sound.cpp index bbd6af5465..ff80ba08a9 100644 --- a/libraries/audio/src/Sound.cpp +++ b/libraries/audio/src/Sound.cpp @@ -26,7 +26,6 @@ #include "AudioRingBuffer.h" #include "AudioFormat.h" #include "AudioBuffer.h" -#include "AudioEditBuffer.h" #include "AudioLogging.h" #include "Sound.h" @@ -69,7 +68,6 @@ void Sound::downloadFinished(const QByteArray& data) { interpretAsWav(rawAudioByteArray, outputAudioByteArray); downSample(outputAudioByteArray); - trimFrames(); } else if (fileName.endsWith(RAW_EXTENSION)) { // check if this was a stereo raw file // since it's raw the only way for us to know that is if the file was called .stereo.raw @@ -80,7 +78,6 @@ void Sound::downloadFinished(const QByteArray& data) { // Process as RAW file downSample(rawAudioByteArray); - trimFrames(); } else { qCDebug(audio) << "Unknown sound file type"; } @@ -141,26 +138,6 @@ void Sound::downSample(const QByteArray& rawAudioByteArray) { } } -void Sound::trimFrames() { - - const uint32_t inputFrameCount = _byteArray.size() / sizeof(int16_t); - const uint32_t trimCount = 1024; // number of leading and trailing frames to trim - - if (inputFrameCount <= (2 * trimCount)) { - return; - } - - int16_t* inputFrameData = (int16_t*)_byteArray.data(); - - AudioEditBufferFloat32 editBuffer(1, inputFrameCount); - editBuffer.copyFrames(1, inputFrameCount, inputFrameData, false /*copy in*/); - - editBuffer.linearFade(0, trimCount, true); - editBuffer.linearFade(inputFrameCount - trimCount, inputFrameCount, false); - - editBuffer.copyFrames(1, inputFrameCount, inputFrameData, true /*copy out*/); -} - // // Format description from https://ccrma.stanford.edu/courses/422/projects/WaveFormat/ // diff --git a/libraries/audio/src/Sound.h b/libraries/audio/src/Sound.h index 91dbef8c6a..6baf691957 100644 --- a/libraries/audio/src/Sound.h +++ b/libraries/audio/src/Sound.h @@ -38,7 +38,6 @@ private: bool _isStereo; bool _isReady; - void trimFrames(); void downSample(const QByteArray& rawAudioByteArray); void interpretAsWav(const QByteArray& inputAudioByteArray, QByteArray& outputAudioByteArray);