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

Function loadAudioFile

Lib/Utils/AudioUtils.cpp:13–41  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11namespace AudioUtils
12{
13bool loadAudioFile(const juce::File& inFile, AudioBuffer<float>& outBuffer, double& outSampleRate)
14{
15 if (inFile.getFileExtension() == ".mp3") {
16 return _loadMP3File(inFile.getFullPathName().toStdString(), outBuffer, outSampleRate);
17 }
18
19 // Register different audio formats
20 auto audio_format_manager = createAudioFormatManager();
21
22 std::unique_ptr<juce::AudioFormatReader> format_reader;
23 format_reader.reset(audio_format_manager->createReaderFor(inFile));
24
25 // Verify format reader is not null
26 if (!format_reader)
27 return false;
28
29 // Get properties of input audio
30 outSampleRate = format_reader->sampleRate;
31 int num_source_samples = static_cast<int>(format_reader->lengthInSamples);
32 int num_channels = (int) format_reader->numChannels;
33
34 outBuffer.setSize(num_channels, num_source_samples);
35
36 // Read source file. If not successful, return false
37 if (!format_reader->read(&outBuffer, 0, num_source_samples, 0, true, true))
38 return false;
39
40 return true;
41}
42
43StringArray getSupportedAudioFileExtensions()
44{

Callers 2

stopRecordingMethod · 0.85
onFileDropMethod · 0.85

Calls 3

_loadMP3FileFunction · 0.85
createAudioFormatManagerFunction · 0.85
resetMethod · 0.45

Tested by

no test coverage detected