19 <<
GetNSinks() <<
" outputs needed but just "
20 << _filenames.size() <<
" files provided" << std::ends;
32 const int frameSize = 512;
33 const int sampleRate = 48000;
35 std::vector<Audio> audioBuffers(_filenames.size());
36 std::vector<MonoAudioFileReader*> readers;
42 "Not all the network inputs could be fullfiled. Have you checked the IsWorking() method?");
44 std::ifstream checkfile(_filenames[fileIndex].c_str());
45 CLAM_ASSERT(checkfile.is_open(), std::string(std::string(
"Could not open one of the input files: ")+_filenames[fileIndex]).c_str());
47 readercfg.SetSourceFile(_filenames[fileIndex]);
48 readercfg.SetLoop(_enableLoopInputWavs);
52 readers.push_back(fileReader);
53 audioBuffers[fileIndex].SetSize( frameSize );
55 TData * buffer = &audioBuffers[fileIndex].GetBuffer()[0];
57 std::cout <<
" In " <<
SourceName(i) <<
":" << _filenames[fileIndex] << std::endl;
61 std::vector<MonoAudioFileWriter*> writers;
65 if (fileIndex>=_filenames.size())
68 "Not all the network outputs could be fullfiled.";
72 writercfg.SetTargetFile(_filenames[fileIndex]);
73 writercfg.SetSampleRate(sampleRate);
75 writers.push_back(fileWriter);
76 audioBuffers[fileIndex].SetSize( frameSize );
78 TData * buffer = &audioBuffers[fileIndex].GetBuffer()[0];
80 std::cout <<
" Out: " <<
SinkName(i) <<
":" << _filenames[fileIndex] << std::endl;
84 for (
unsigned i = 0; i<readers.size(); i++)
86 for (
unsigned i = 0; i<writers.size(); i++)
89 long iterationIndex = 0;
90 bool timeLimitedMode = _resultWavsTime > 0.001;
93 std::cout <<
"." << std::flush;
94 unsigned audioIndex =0;
95 bool someInputFinished=
false;
96 for (
unsigned i = 0; i<readers.size(); i++)
97 someInputFinished |= !readers[i]->Do(audioBuffers[audioIndex++]);
98 if (someInputFinished and not _enableLoopInputWavs )
break;
100 for (
unsigned i = 0; i<writers.size(); i++)
101 writers[i]->Do(audioBuffers[audioIndex++]);
102 if (timeLimitedMode and
float(iterationIndex*frameSize)/sampleRate > _resultWavsTime)
104 std::cout <<
"REACHED MAX TIME - finalizing"<< std::endl;
110 for (
unsigned i = 0; i<readers.size(); i++)
112 for (
unsigned i = 0; i<writers.size(); i++)
130 _filenames.push_back(filename);
135 _filenames.push_back(filename);