Ver código fonte

Add input audio field to expressivity/evaluate/pretssel_inference.py instead of hard coding (#212)

* Add input audio field

* cleaner way

---------

Co-authored-by: Peng-Jen Chen <pipibjc@devfair0728.h2.fair>
pipibjc 1 ano atrás
pai
commit
9733c30c9a

+ 11 - 1
src/seamless_communication/cli/expressivity/evaluate/pretssel_inference.py

@@ -61,10 +61,14 @@ def build_data_pipeline(
 ) -> DataPipeline:
     with open(args.data_file, "r") as f:
         header = f.readline().strip("\n").split("\t")
+        assert args.audio_field in header, f"Input file does not contain {args.audio_field} field"
 
     n_parallel = 4
 
-    split_tsv = StrSplitter(names=header)
+    split_tsv = StrSplitter(
+        names=["id", "audio"],
+        indices=[header.index("id"), header.index(args.audio_field)],
+    )
 
     pipeline_builder = read_text(args.data_file, rtrim=True).skip(1).map(split_tsv)
 
@@ -134,6 +138,12 @@ def main() -> None:
         help="Root directory for the audio filenames in the data file.",
         default="",
     )
+    parser.add_argument(
+        "--audio_field",
+        type=str,
+        help="Field that includes the input audio file paths.",
+        default="src_audio",
+    )
     parser.add_argument(
         "--ref_field",
         type=str,