From 5b0e50eaa665ba6db2929b7631cbb2b9bfdce000 Mon Sep 17 00:00:00 2001
From: Josh Ziegler <josh@pylon.com>
Date: Thu, 26 May 2022 16:20:09 -0400
Subject: [PATCH] avoid mutable default in aligner

---
 tortoise/utils/wav2vec_alignment.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tortoise/utils/wav2vec_alignment.py b/tortoise/utils/wav2vec_alignment.py
index bfcb7e1..f78c806 100644
--- a/tortoise/utils/wav2vec_alignment.py
+++ b/tortoise/utils/wav2vec_alignment.py
@@ -7,13 +7,15 @@ from transformers import Wav2Vec2ForCTC, Wav2Vec2FeatureExtractor, Wav2Vec2CTCTo
 from tortoise.utils.audio import load_audio
 
 
-def max_alignment(s1, s2, skip_character='~', record={}):
+def max_alignment(s1, s2, skip_character='~', record=None):
     """
     A clever function that aligns s1 to s2 as best it can. Wherever a character from s1 is not found in s2, a '~' is
     used to replace that character.
 
     Finally got to use my DP skills!
     """
+    if record is None:
+        record = {}
     assert skip_character not in s1, f"Found the skip character {skip_character} in the provided string, {s1}"
     if len(s1) == 0:
         return ''
@@ -145,4 +147,3 @@ class Wav2VecAlignment:
             start, stop = nri
             output_audio.append(audio[:, alignments[start]:alignments[stop]])
         return torch.cat(output_audio, dim=-1)
-