Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: webrtc/modules/audio_processing/test/conversational_speech/generator.cc

Issue 2808053002: Conversational Speech tool completed (Closed)
Patch Set: merge Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include <iostream> 11 #include <iostream>
12 12
13 #include "gflags/gflags.h" 13 #include "gflags/gflags.h"
14 #include "webrtc/base/logging.h" 14 #include "webrtc/base/ptr_util.h"
15 #include "webrtc/modules/audio_processing/test/conversational_speech/config.h" 15 #include "webrtc/modules/audio_processing/test/conversational_speech/config.h"
16 #include "webrtc/modules/audio_processing/test/conversational_speech/timing.h"
17 #include "webrtc/modules/audio_processing/test/conversational_speech/wavreader_f actory.h"
18 #include "webrtc/modules/audio_processing/test/conversational_speech/multiend_ca ll.h"
19 #include "webrtc/modules/audio_processing/test/conversational_speech/simulator.h "
16 #include "webrtc/test/testsupport/fileutils.h" 20 #include "webrtc/test/testsupport/fileutils.h"
17 21
18 namespace webrtc { 22 namespace webrtc {
19 namespace test { 23 namespace test {
20 namespace { 24 namespace {
21 25
22 // Adapting DirExists/FileExists interfaces to DEFINE_validator. 26 // Adapting DirExists/FileExists interfaces to DEFINE_validator.
23 auto dir_exists = [](const char* c, const std::string& dirpath) { 27 auto dir_exists = [](const char* c, const std::string& dirpath) {
24 return DirExists(dirpath); 28 return DirExists(dirpath);
25 }; 29 };
(...skipping 15 matching lines...) Expand all
41 DEFINE_string(t, "", "Path to the timing text file"); 45 DEFINE_string(t, "", "Path to the timing text file");
42 DEFINE_validator(t, file_exists); 46 DEFINE_validator(t, file_exists);
43 DEFINE_string(o, "", "Output wav files destination path"); 47 DEFINE_string(o, "", "Output wav files destination path");
44 DEFINE_validator(o, dir_exists); 48 DEFINE_validator(o, dir_exists);
45 49
46 } // namespace 50 } // namespace
47 51
48 int main(int argc, char* argv[]) { 52 int main(int argc, char* argv[]) {
49 google::SetUsageMessage(kUsageDescription); 53 google::SetUsageMessage(kUsageDescription);
50 google::ParseCommandLineFlags(&argc, &argv, true); 54 google::ParseCommandLineFlags(&argc, &argv, true);
51
52 conversational_speech::Config config(FLAGS_i, FLAGS_t, FLAGS_o); 55 conversational_speech::Config config(FLAGS_i, FLAGS_t, FLAGS_o);
53 56
54 // TODO(alessiob): remove line below once debugged. 57 // Load timing.
55 rtc::LogMessage::LogToDebug(rtc::LS_VERBOSE); 58 std::vector<conversational_speech::Turn> timing =
56 LOG(LS_VERBOSE) << "i = " << config.audiotracks_path(); 59 conversational_speech::LoadTiming(config.timing_filepath());
57 LOG(LS_VERBOSE) << "t = " << config.timing_filepath(); 60
58 LOG(LS_VERBOSE) << "o = " << config.output_path(); 61 // Parse timing and audio tracks.
62 auto wavreader_factory = rtc::MakeUnique<
63 conversational_speech::WavReaderFactory>();
64 conversational_speech::MultiEndCall multiend_call(
65 timing, config.audiotracks_path(), std::move(wavreader_factory));
66
67 // Generate output audio tracks.
68 auto generated_audiotrack_pairs = conversational_speech::Simulate(
69 multiend_call, config.output_path());
70
71 // Show paths to created audio tracks.
72 std::cout << "Output files:" << std::endl;
73 for (const auto& output_paths_entry : *generated_audiotrack_pairs) {
74 std::cout << " speaker: " << output_paths_entry.first << std::endl;
75 std::cout << " near end: " << output_paths_entry.second.near_end
76 << std::endl;
77 std::cout << " far end: " << output_paths_entry.second.far_end
78 << std::endl;
79 }
59 80
60 return 0; 81 return 0;
61 } 82 }
62 83
63 } // namespace test 84 } // namespace test
64 } // namespace webrtc 85 } // namespace webrtc
65 86
66 int main(int argc, char* argv[]) { 87 int main(int argc, char* argv[]) {
67 return webrtc::test::main(argc, argv); 88 return webrtc::test::main(argc, argv);
68 } 89 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698