nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
audio_io.hpp File Reference
#include <cstdint>
#include <memory_resource>
#include <nk/value/value.hpp>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  nk::audio::AudioData
 Decoded audio waveform data and basic metadata. More...
struct  nk::audio::AudioInfo
 Audio file metadata container (info = audioinfo(filename)). More...

Functions

AudioData nk::audio::audioreadFromBytes (const std::uint8_t *data, std::size_t len, int64_t startSample=1, int64_t endSample=-1, bool nativeType=false, std::pmr::memory_resource *mr=nullptr)
 Decodes audio from raw memory buffer, sniffing format automatically ([y, Fs] = audioread(bytes)).
AudioData nk::audio::audioreadFromBytes (const std::string &bytes, int64_t startSample=1, int64_t endSample=-1, bool nativeType=false, std::pmr::memory_resource *mr=nullptr)
 Decodes audio from string memory buffer (audioread(bytes)).
AudioInfo nk::audio::audioinfoFromBytes (const std::uint8_t *data, std::size_t len)
 Reads audio metadata from memory buffer without decoding audio samples (info = audioinfo(bytes)).
AudioInfo nk::audio::audioinfoFromBytes (const std::string &bytes)
 Reads audio metadata from string memory buffer (info = audioinfo(bytes)).
std::vector< std::uint8_t > nk::audio::audiowriteToBytes (const Value &y, double sampleRate, const std::string &format="wav", uint16_t bitsPerSample=16, const std::string &title="", const std::string &artist="", const std::string &comment="")
 Encodes audio matrix y into memory byte buffer (bytes = audiowrite(y, Fs, ...)).
AudioData nk::audio::audioread (const std::string &path, int64_t startSample=1, int64_t endSample=-1, bool nativeType=false, std::pmr::memory_resource *mr=nullptr)
 Reads audio file from filesystem ([y, Fs] = audioread(filename)).
AudioInfo nk::audio::audioinfo (const std::string &path)
 Returns audio file metadata (info = audioinfo(filename)).
void nk::audio::audiowrite (const std::string &path, const Value &y, double sampleRate, uint16_t bitsPerSample=16, const std::string &title="", const std::string &artist="", const std::string &comment="")
 Writes audio data matrix y to file on disk (audiowrite(filename, y, Fs)).