3 #ifndef SPECTMORPH_AUDIO_HH 4 #define SPECTMORPH_AUDIO_HH 8 #include "smgenericin.hh" 9 #include "smgenericout.hh" 13 #define SPECTMORPH_BINARY_FILE_VERSION 14 14 #define SPECTMORPH_SUPPORT_MULTI_CHANNEL 0 32 std::vector<uint16_t>
mags;
40 freqs_f (
size_t i)
const 42 return sm_ifreq2freq (freqs[i]);
46 mags_f (
size_t i)
const 48 return sm_idb2factor (mags[i]);
52 phases_f (
size_t i)
const 54 const double factor = 2.0 * M_PI / 65536.0;
55 return phases[i] * factor;
59 noise_f (
size_t i)
const 61 return sm_idb2factor (noise[i]);
80 SPECTMORPH_CLASS_NON_COPYABLE (
Audio);
93 float fundamental_freq = 0;
95 float frame_size_ms = 0;
96 float frame_step_ms = 0;
97 float attack_start_ms = 0;
98 float attack_end_ms = 0;
100 LoopType loop_type = LOOP_NONE;
103 int zero_values_at_start = 0;
104 int sample_count = 0;
106 float original_samples_norm_db = 0;
109 Error load (
const std::string& filename, AudioLoadOptions load_options = AUDIO_LOAD_DEBUG);
111 Error save (
const std::string& filename)
const;
114 Audio *clone()
const;
116 static bool loop_type_to_string (LoopType loop_type, std::string& s);
117 static bool string_to_loop_type (
const std::string& s, LoopType& loop_type);
std::vector< float > original_samples
original time domain signal as samples (debugging only)
Definition: smaudio.hh:105
Generic Input Stream.
Definition: smgenericin.hh:17
Audio sample containing many blocks.
Definition: smaudio.hh:78
std::vector< float > original_fft
original zeropadded FFT data - for debugging only
Definition: smaudio.hh:34
Block of audio data, encoded in SpectMorph parametric format.
Definition: smaudio.hh:27
std::vector< uint16_t > noise
noise envelope, representing the original signal minus sine components
Definition: smaudio.hh:30
std::vector< uint16_t > freqs
frequencies of the sine components of this frame
Definition: smaudio.hh:31
std::vector< AudioBlock > contents
the actual frame data
Definition: smaudio.hh:107
std::vector< uint16_t > phases
phases of the sine components
Definition: smaudio.hh:33
Definition: smadsrenvelope.hh:8
std::vector< uint16_t > mags
magnitudes of the sine components
Definition: smaudio.hh:32
Generic Output Stream.
Definition: smgenericout.hh:17
std::vector< float > debug_samples
original audio samples for this frame - for debugging only
Definition: smaudio.hh:35