diff --git a/DISCLAIMER b/DISCLAIMER
old mode 100644
new mode 100755
diff --git a/Dockerfile b/Dockerfile
old mode 100644
new mode 100755
diff --git a/INDEX_MODEL_LICENSE b/INDEX_MODEL_LICENSE
old mode 100644
new mode 100755
diff --git a/LICENSE b/LICENSE
old mode 100644
new mode 100755
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
diff --git a/README_EN.md b/README_EN.md
old mode 100644
new mode 100755
diff --git a/api_example.py b/api_example.py
old mode 100644
new mode 100755
diff --git a/api_server.py b/api_server.py
old mode 100644
new mode 100755
diff --git a/assets/jay_promptvn.wav b/assets/jay_promptvn.wav
old mode 100644
new mode 100755
diff --git a/assets/speaker.json b/assets/speaker.json
old mode 100644
new mode 100755
diff --git a/assets/vo_card_klee_endOfGame_fail_01.wav b/assets/vo_card_klee_endOfGame_fail_01.wav
old mode 100644
new mode 100755
diff --git a/convert_hf_format.py b/convert_hf_format.py
old mode 100644
new mode 100755
diff --git a/convert_hf_format.sh b/convert_hf_format.sh
old mode 100644
new mode 100755
diff --git a/docker-compose.yaml b/docker-compose.yaml
old mode 100644
new mode 100755
diff --git a/examples/cases.jsonl b/examples/cases.jsonl
old mode 100644
new mode 100755
diff --git a/examples/emo_hate.wav b/examples/emo_hate.wav
old mode 100644
new mode 100755
diff --git a/examples/emo_sad.wav b/examples/emo_sad.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_01.wav b/examples/voice_01.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_02.wav b/examples/voice_02.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_03.wav b/examples/voice_03.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_04.wav b/examples/voice_04.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_05.wav b/examples/voice_05.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_06.wav b/examples/voice_06.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_07.wav b/examples/voice_07.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_08.wav b/examples/voice_08.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_09.wav b/examples/voice_09.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_10.wav b/examples/voice_10.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_11.wav b/examples/voice_11.wav
old mode 100644
new mode 100755
diff --git a/examples/voice_12.wav b/examples/voice_12.wav
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/ECAPA_TDNN.py b/indextts/BigVGAN/ECAPA_TDNN.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/__init__.py b/indextts/BigVGAN/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/activations.py b/indextts/BigVGAN/activations.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/cuda/.gitignore b/indextts/BigVGAN/alias_free_activation/cuda/.gitignore
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/cuda/__init__.py b/indextts/BigVGAN/alias_free_activation/cuda/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/cuda/activation1d.py b/indextts/BigVGAN/alias_free_activation/cuda/activation1d.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/cuda/anti_alias_activation.cpp b/indextts/BigVGAN/alias_free_activation/cuda/anti_alias_activation.cpp
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/cuda/anti_alias_activation_cuda.cu b/indextts/BigVGAN/alias_free_activation/cuda/anti_alias_activation_cuda.cu
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/cuda/compat.h b/indextts/BigVGAN/alias_free_activation/cuda/compat.h
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/cuda/load.py b/indextts/BigVGAN/alias_free_activation/cuda/load.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/cuda/type_shim.h b/indextts/BigVGAN/alias_free_activation/cuda/type_shim.h
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/torch/__init__.py b/indextts/BigVGAN/alias_free_activation/torch/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/torch/act.py b/indextts/BigVGAN/alias_free_activation/torch/act.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/torch/filter.py b/indextts/BigVGAN/alias_free_activation/torch/filter.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_activation/torch/resample.py b/indextts/BigVGAN/alias_free_activation/torch/resample.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_torch/__init__.py b/indextts/BigVGAN/alias_free_torch/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_torch/act.py b/indextts/BigVGAN/alias_free_torch/act.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_torch/filter.py b/indextts/BigVGAN/alias_free_torch/filter.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/alias_free_torch/resample.py b/indextts/BigVGAN/alias_free_torch/resample.py
old mode 100644
new mode 100755
index 1cf4d54..f762cf5
--- a/indextts/BigVGAN/alias_free_torch/resample.py
+++ b/indextts/BigVGAN/alias_free_torch/resample.py
@@ -20,14 +20,16 @@ class UpSample1d(nn.Module):
                                       half_width=0.6 / ratio,
                                       kernel_size=self.kernel_size)
         self.register_buffer("filter", filter)
+        self.stride_2d = (self.stride, 1)
 
     # x: [B, C, T]
     def forward(self, x):
         _, C, _ = x.shape
 
         x = F.pad(x, (self.pad, self.pad), mode='replicate')
-        x = self.ratio * F.conv_transpose1d(
-            x, self.filter.expand(C, -1, -1), stride=self.stride, groups=C)
+        x = self.ratio * F.conv_transpose2d(
+            x.unsqueeze(-1), self.filter.expand(C, -1, -1).unsqueeze(-1), stride=self.stride_2d, groups=C)
+        x = x.squeeze(-1)
         x = x[..., self.pad_left:-self.pad_right]
 
         return x
@@ -46,4 +48,4 @@ class DownSample1d(nn.Module):
     def forward(self, x):
         xx = self.lowpass(x)
 
-        return xx
\ No newline at end of file
+        return xx
diff --git a/indextts/BigVGAN/bigvgan.py b/indextts/BigVGAN/bigvgan.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/models.py b/indextts/BigVGAN/models.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/nnet/CNN.py b/indextts/BigVGAN/nnet/CNN.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/nnet/__init__.py b/indextts/BigVGAN/nnet/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/nnet/linear.py b/indextts/BigVGAN/nnet/linear.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/nnet/normalization.py b/indextts/BigVGAN/nnet/normalization.py
old mode 100644
new mode 100755
diff --git a/indextts/BigVGAN/utils.py b/indextts/BigVGAN/utils.py
old mode 100644
new mode 100755
diff --git a/indextts/__init__.py b/indextts/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/cli.py b/indextts/cli.py
old mode 100644
new mode 100755
diff --git a/indextts/gpt/__init__.py b/indextts/gpt/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/gpt/conformer/__init__.py b/indextts/gpt/conformer/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/gpt/conformer/attention.py b/indextts/gpt/conformer/attention.py
old mode 100644
new mode 100755
diff --git a/indextts/gpt/conformer/embedding.py b/indextts/gpt/conformer/embedding.py
old mode 100644
new mode 100755
diff --git a/indextts/gpt/conformer/subsampling.py b/indextts/gpt/conformer/subsampling.py
old mode 100644
new mode 100755
diff --git a/indextts/gpt/conformer_encoder.py b/indextts/gpt/conformer_encoder.py
old mode 100644
new mode 100755
diff --git a/indextts/gpt/index_tts_gpt2_vllm_v1.py b/indextts/gpt/index_tts_gpt2_vllm_v1.py
old mode 100644
new mode 100755
index 2a26b85..9966f97
--- a/indextts/gpt/index_tts_gpt2_vllm_v1.py
+++ b/indextts/gpt/index_tts_gpt2_vllm_v1.py
@@ -11,11 +11,10 @@ from vllm.config import CacheConfig, VllmConfig
 from vllm.distributed.parallel_state import (
     get_pp_group, get_tensor_model_parallel_world_size)
 from vllm.model_executor.layers.logits_processor import LogitsProcessor
-from vllm.model_executor.layers.sampler import SamplerOutput, get_sampler
 from vllm.model_executor.layers.vocab_parallel_embedding import (
     ParallelLMHead, VocabParallelEmbedding)
 from vllm.model_executor.model_loader.weight_utils import default_weight_loader
-from vllm.model_executor.sampling_metadata import SamplingMetadata
+from vllm.v1.sample.metadata import SamplingMetadata
 from vllm.sequence import IntermediateTensors
 from vllm.model_executor.models.interfaces import SupportsPP
 
@@ -264,7 +263,6 @@ class GPT2TTSModel(nn.Module, SupportsPP, SupportsMultiModal):
                                       bias=True)
 
         self.logits_processor = LogitsProcessor(config.vocab_size)
-        self.sampler = get_sampler()
         self.make_empty_intermediate_tensors = (
             self.transformer.make_empty_intermediate_tensors)
 
@@ -316,7 +314,7 @@ class GPT2TTSModel(nn.Module, SupportsPP, SupportsMultiModal):
         if multimodal_embeddings is not None \
             and len(multimodal_embeddings) != 0:
             inputs_embeds = merge_multimodal_embeddings(
-                input_ids, inputs_embeds, multimodal_embeddings,
+                input_ids, inputs_embeds.float(), multimodal_embeddings,
                 PLACEHOLDER_TOKEN_ID)
         return inputs_embeds
 
@@ -353,17 +351,9 @@ class GPT2TTSModel(nn.Module, SupportsPP, SupportsMultiModal):
         hidden_states: torch.Tensor,
         sampling_metadata: SamplingMetadata,
     ) -> Optional[torch.Tensor]:
-        logits = self.logits_processor(self.lm_head, hidden_states,
-                                       sampling_metadata)
+        logits = self.logits_processor(self.lm_head, hidden_states)
         return logits
 
-    def sample(
-        self,
-        logits: torch.Tensor,
-        sampling_metadata: SamplingMetadata,
-    ) -> Optional[SamplerOutput]:
-        next_tokens = self.sampler(logits, sampling_metadata)
-        return next_tokens
 
     def load_weights(self, weights: Iterable[Tuple[str, torch.Tensor]]) -> Set[str]:
         params_dict = dict(self.named_parameters(remove_duplicate=False))
diff --git a/indextts/gpt/model.py b/indextts/gpt/model.py
old mode 100644
new mode 100755
diff --git a/indextts/gpt/model_v2.py b/indextts/gpt/model_v2.py
old mode 100644
new mode 100755
diff --git a/indextts/gpt/model_vllm.py b/indextts/gpt/model_vllm.py
old mode 100644
new mode 100755
diff --git a/indextts/gpt/model_vllm_v2.py b/indextts/gpt/model_vllm_v2.py
old mode 100644
new mode 100755
diff --git a/indextts/gpt/perceiver.py b/indextts/gpt/perceiver.py
old mode 100644
new mode 100755
diff --git a/indextts/infer.py b/indextts/infer.py
old mode 100644
new mode 100755
diff --git a/indextts/infer_vllm.py b/indextts/infer_vllm.py
old mode 100644
new mode 100755
index 4a4b541..426165a
--- a/indextts/infer_vllm.py
+++ b/indextts/infer_vllm.py
@@ -8,6 +8,8 @@ from typing import List
 import numpy as np
 import sentencepiece as spm
 import torch
+import torch_npu
+from torch_npu.contrib import transfer_to_npu
 import torchaudio
 from torch.nn.utils.rnn import pad_sequence
 from omegaconf import OmegaConf
@@ -27,6 +29,9 @@ from indextts.utils.front import TextNormalizer, TextTokenizer
 
 import matplotlib.pyplot as plt
 
+torch.npu.config.allow_internal_format = False
+os.environ["VLLM_USE_V1"] = "1"
+torch.npu.set_compile_mode(jit_compile=False)
 
 # def fade_in_out(wav, fade_in=int(24000*0.05), fade_out=int(24000*0.05)):
 #     wav = wav.astype(np.float32)
@@ -104,11 +109,12 @@ class IndexTTS:
 
         vllm_dir = os.path.join(model_dir, "gpt")
         engine_args = AsyncEngineArgs(
-            model=vllm_dir,
-            tensor_parallel_size=1,
-            dtype="auto",
-            gpu_memory_utilization=gpu_memory_utilization,
-            # enforce_eager=True,
+                model=vllm_dir,
+                tensor_parallel_size=1,
+                dtype="auto",
+                gpu_memory_utilization=gpu_memory_utilization,
+                compilation_config={"cudagraph_mode": "FULL_DECODE_ONLY"},
+                # async_scheduling=True
         )
         indextts_vllm = AsyncLLM.from_engine_args(engine_args)
 
@@ -123,6 +129,7 @@ class IndexTTS:
         self.gpt.eval()
         print(">> GPT weights restored from:", self.gpt_path)
 
+        self.use_cuda_kernel = False
         if self.use_cuda_kernel:
             # preload the CUDA kernel for BigVGAN
             try:
@@ -141,7 +148,7 @@ class IndexTTS:
         self.bigvgan = self.bigvgan.to(self.device)
         # remove weight norm on eval mode
         self.bigvgan.remove_weight_norm()
-        self.bigvgan.eval()
+        self.bigvgan.eval().half()
         print(">> bigvgan weights restored from:", self.bigvgan_path)
         self.bpe_path = os.path.join(self.model_dir, "bpe.model")  # self.cfg.dataset["bpe_model"]
         self.normalizer = TextNormalizer()
@@ -192,11 +199,11 @@ class IndexTTS:
         auto_conditioning = []
         for ap_ in audio_prompt:
             audio, sr = torchaudio.load(ap_)
-            audio = torch.mean(audio, dim=0, keepdim=True)
+            audio = torch.mean(audio.to(self.device), dim=0, keepdim=True)
             if audio.shape[0] > 1:
                 audio = audio[0].unsqueeze(0)
-            audio = torchaudio.transforms.Resample(sr, 24000)(audio)
-            cond_mel = MelSpectrogramFeatures()(audio).to(self.device)
+            audio = torchaudio.transforms.Resample(sr, 24000).to(self.device)(audio)
+            cond_mel = MelSpectrogramFeatures().to(self.device)(audio)
             # cond_mel_frame = cond_mel.shape[-1]
             auto_conditioning.append(cond_mel)
 
@@ -214,7 +221,7 @@ class IndexTTS:
             speech_conditioning_latent_ = self.gpt.get_conditioning(
                 cond_mel,  # .half()
                 torch.tensor([cond_mel.shape[-1]], device=self.device)
-            )
+            ).to(torch.bfloat16)
             speech_conditioning_latent.append(speech_conditioning_latent_)
         speech_conditioning_latent = torch.stack(speech_conditioning_latent).sum(dim=0)
         speech_conditioning_latent = speech_conditioning_latent / len(auto_conditioning)
@@ -250,16 +257,17 @@ class IndexTTS:
                                 return_latent=True, clip_inputs=False)
 
                 m_start_time = time.perf_counter()
-                wav, _ = self.bigvgan(latent, [ap_.transpose(1, 2) for ap_ in auto_conditioning])
+                with torch.autocast(device_type="npu",dtype=torch.float16):
+                    wav, _ = self.bigvgan(latent, [ap_.transpose(1, 2) for ap_ in auto_conditioning])
                 bigvgan_time += time.perf_counter() - m_start_time
                 wav = wav.squeeze(1)
 
                 wav = torch.clamp(32767 * wav, -32767.0, 32767.0)
                 print(f"wav shape: {wav.shape}", "min:", wav.min(), "max:", wav.max())
                 # wavs.append(wav[:, :-512])
-                wavs.append(wav.cpu())  # to cpu before saving
+                wavs.append(wav)
+        end_time = time.perf_counter()  # to cpu before saving
         torch.cuda.empty_cache()
-        end_time = time.perf_counter()
 
         wav = torch.cat(wavs, dim=1)
         wav_length = wav.shape[-1] / sampling_rate
@@ -332,7 +340,8 @@ class IndexTTS:
                                 return_latent=True, clip_inputs=False)
 
                 m_start_time = time.perf_counter()
-                wav, _ = self.bigvgan(latent, [ap_.transpose(1, 2) for ap_ in auto_conditioning])
+                with torch.autocast(device_type="npu",dtype=torch.float16):
+                    wav, _ = self.bigvgan(latent, [ap_.transpose(1, 2) for ap_ in auto_conditioning])
                 bigvgan_time += time.perf_counter() - m_start_time
                 wav = wav.squeeze(1)
 
@@ -363,11 +372,12 @@ class IndexTTS:
         auto_conditioning = []
         for ap_ in audio_paths:
             audio, sr = torchaudio.load(ap_)
-            audio = torch.mean(audio, dim=0, keepdim=True)
+            audio = torch.mean(audio.to(self.device), dim=0, keepdim=True)
             if audio.shape[0] > 1:
                 audio = audio[0].unsqueeze(0)
-            audio = torchaudio.transforms.Resample(sr, 24000)(audio)
-            cond_mel = MelSpectrogramFeatures()(audio).to(self.device)
+            sampler = torchaudio.transforms.Resample(sr, 24000).to(self.device)
+            audio = sampler(audio)
+            cond_mel = MelSpectrogramFeatures().to(self.device)(audio)
             # cond_mel_frame = cond_mel.shape[-1]
             auto_conditioning.append(cond_mel)
 
diff --git a/indextts/infer_vllm_v2.py b/indextts/infer_vllm_v2.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/__init__.py b/indextts/s2mel/dac/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/__main__.py b/indextts/s2mel/dac/__main__.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/model/__init__.py b/indextts/s2mel/dac/model/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/model/base.py b/indextts/s2mel/dac/model/base.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/model/dac.py b/indextts/s2mel/dac/model/dac.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/model/discriminator.py b/indextts/s2mel/dac/model/discriminator.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/model/encodec.py b/indextts/s2mel/dac/model/encodec.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/nn/__init__.py b/indextts/s2mel/dac/nn/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/nn/layers.py b/indextts/s2mel/dac/nn/layers.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/nn/loss.py b/indextts/s2mel/dac/nn/loss.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/nn/quantize.py b/indextts/s2mel/dac/nn/quantize.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/utils/__init__.py b/indextts/s2mel/dac/utils/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/utils/decode.py b/indextts/s2mel/dac/utils/decode.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/dac/utils/encode.py b/indextts/s2mel/dac/utils/encode.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/hf_utils.py b/indextts/s2mel/hf_utils.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/.ipynb_checkpoints/audio-checkpoint.py b/indextts/s2mel/modules/.ipynb_checkpoints/audio-checkpoint.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/.ipynb_checkpoints/commons-checkpoint.py b/indextts/s2mel/modules/.ipynb_checkpoints/commons-checkpoint.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/.ipynb_checkpoints/diffusion_transformer-checkpoint.py b/indextts/s2mel/modules/.ipynb_checkpoints/diffusion_transformer-checkpoint.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/.ipynb_checkpoints/flow_matching-checkpoint.py b/indextts/s2mel/modules/.ipynb_checkpoints/flow_matching-checkpoint.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/.ipynb_checkpoints/length_regulator-checkpoint.py b/indextts/s2mel/modules/.ipynb_checkpoints/length_regulator-checkpoint.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/alias_free_torch/__init__.py b/indextts/s2mel/modules/alias_free_torch/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/alias_free_torch/act.py b/indextts/s2mel/modules/alias_free_torch/act.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/alias_free_torch/filter.py b/indextts/s2mel/modules/alias_free_torch/filter.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/alias_free_torch/resample.py b/indextts/s2mel/modules/alias_free_torch/resample.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/audio.py b/indextts/s2mel/modules/audio.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/activations.py b/indextts/s2mel/modules/bigvgan/activations.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/__init__.py b/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/activation1d.py b/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/activation1d.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/anti_alias_activation.cpp b/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/anti_alias_activation.cpp
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/anti_alias_activation_cuda.cu b/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/anti_alias_activation_cuda.cu
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/compat.h b/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/compat.h
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/load.py b/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/load.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/type_shim.h b/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/type_shim.h
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/__init__.py b/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/act.py b/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/act.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/filter.py b/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/filter.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/resample.py b/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/resample.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/bigvgan.py b/indextts/s2mel/modules/bigvgan/bigvgan.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/config.json b/indextts/s2mel/modules/bigvgan/config.json
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/env.py b/indextts/s2mel/modules/bigvgan/env.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/meldataset.py b/indextts/s2mel/modules/bigvgan/meldataset.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/bigvgan/utils.py b/indextts/s2mel/modules/bigvgan/utils.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/campplus/DTDNN.py b/indextts/s2mel/modules/campplus/DTDNN.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/campplus/classifier.py b/indextts/s2mel/modules/campplus/classifier.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/campplus/layers.py b/indextts/s2mel/modules/campplus/layers.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/commons.py b/indextts/s2mel/modules/commons.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/diffusion_transformer.py b/indextts/s2mel/modules/diffusion_transformer.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/encodec.py b/indextts/s2mel/modules/encodec.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/flow_matching.py b/indextts/s2mel/modules/flow_matching.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/gpt_fast/.ipynb_checkpoints/model-checkpoint.py b/indextts/s2mel/modules/gpt_fast/.ipynb_checkpoints/model-checkpoint.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/gpt_fast/generate.py b/indextts/s2mel/modules/gpt_fast/generate.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/gpt_fast/model.py b/indextts/s2mel/modules/gpt_fast/model.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/gpt_fast/quantize.py b/indextts/s2mel/modules/gpt_fast/quantize.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/hifigan/f0_predictor.py b/indextts/s2mel/modules/hifigan/f0_predictor.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/hifigan/generator.py b/indextts/s2mel/modules/hifigan/generator.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/layers.py b/indextts/s2mel/modules/layers.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/length_regulator.py b/indextts/s2mel/modules/length_regulator.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/__init__.py b/indextts/s2mel/modules/openvoice/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/api.py b/indextts/s2mel/modules/openvoice/api.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/attentions.py b/indextts/s2mel/modules/openvoice/attentions.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/checkpoints_v2/converter/config.json b/indextts/s2mel/modules/openvoice/checkpoints_v2/converter/config.json
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/commons.py b/indextts/s2mel/modules/openvoice/commons.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/mel_processing.py b/indextts/s2mel/modules/openvoice/mel_processing.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/models.py b/indextts/s2mel/modules/openvoice/models.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/modules.py b/indextts/s2mel/modules/openvoice/modules.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/openvoice_app.py b/indextts/s2mel/modules/openvoice/openvoice_app.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/se_extractor.py b/indextts/s2mel/modules/openvoice/se_extractor.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/transforms.py b/indextts/s2mel/modules/openvoice/transforms.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/openvoice/utils.py b/indextts/s2mel/modules/openvoice/utils.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/quantize.py b/indextts/s2mel/modules/quantize.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/rmvpe.py b/indextts/s2mel/modules/rmvpe.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/vocos/__init__.py b/indextts/s2mel/modules/vocos/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/vocos/heads.py b/indextts/s2mel/modules/vocos/heads.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/vocos/helpers.py b/indextts/s2mel/modules/vocos/helpers.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/vocos/loss.py b/indextts/s2mel/modules/vocos/loss.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/vocos/models.py b/indextts/s2mel/modules/vocos/models.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/vocos/modules.py b/indextts/s2mel/modules/vocos/modules.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/vocos/pretrained.py b/indextts/s2mel/modules/vocos/pretrained.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/vocos/spectral_ops.py b/indextts/s2mel/modules/vocos/spectral_ops.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/modules/wavenet.py b/indextts/s2mel/modules/wavenet.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/optimizers.py b/indextts/s2mel/optimizers.py
old mode 100644
new mode 100755
diff --git a/indextts/s2mel/wav2vecbert_extract.py b/indextts/s2mel/wav2vecbert_extract.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/__init__.py b/indextts/utils/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/arch_util.py b/indextts/utils/arch_util.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/checkpoint.py b/indextts/utils/checkpoint.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/common.py b/indextts/utils/common.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/feature_extractors.py b/indextts/utils/feature_extractors.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/front.py b/indextts/utils/front.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/__init__.py b/indextts/utils/maskgct/models/codec/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/amphion_codec/codec.py b/indextts/utils/maskgct/models/codec/amphion_codec/codec.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/amphion_codec/quantize/__init__.py b/indextts/utils/maskgct/models/codec/amphion_codec/quantize/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/amphion_codec/quantize/factorized_vector_quantize.py b/indextts/utils/maskgct/models/codec/amphion_codec/quantize/factorized_vector_quantize.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/amphion_codec/quantize/lookup_free_quantize.py b/indextts/utils/maskgct/models/codec/amphion_codec/quantize/lookup_free_quantize.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/amphion_codec/quantize/residual_vq.py b/indextts/utils/maskgct/models/codec/amphion_codec/quantize/residual_vq.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/amphion_codec/quantize/vector_quantize.py b/indextts/utils/maskgct/models/codec/amphion_codec/quantize/vector_quantize.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/amphion_codec/vocos.py b/indextts/utils/maskgct/models/codec/amphion_codec/vocos.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/codec_dataset.py b/indextts/utils/maskgct/models/codec/codec_dataset.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/codec_inference.py b/indextts/utils/maskgct/models/codec/codec_inference.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/codec_sampler.py b/indextts/utils/maskgct/models/codec/codec_sampler.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/codec_trainer.py b/indextts/utils/maskgct/models/codec/codec_trainer.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/__init__.py b/indextts/utils/maskgct/models/codec/facodec/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/__init__.py b/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/act.py b/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/act.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/filter.py b/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/filter.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/resample.py b/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/resample.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/facodec_dataset.py b/indextts/utils/maskgct/models/codec/facodec/facodec_dataset.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/facodec_inference.py b/indextts/utils/maskgct/models/codec/facodec/facodec_inference.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/facodec_trainer.py b/indextts/utils/maskgct/models/codec/facodec/facodec_trainer.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/modules/JDC/__init__.py b/indextts/utils/maskgct/models/codec/facodec/modules/JDC/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/modules/JDC/bst.t7 b/indextts/utils/maskgct/models/codec/facodec/modules/JDC/bst.t7
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/modules/JDC/model.py b/indextts/utils/maskgct/models/codec/facodec/modules/JDC/model.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/modules/attentions.py b/indextts/utils/maskgct/models/codec/facodec/modules/attentions.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/modules/commons.py b/indextts/utils/maskgct/models/codec/facodec/modules/commons.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/modules/gradient_reversal.py b/indextts/utils/maskgct/models/codec/facodec/modules/gradient_reversal.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/modules/layers.py b/indextts/utils/maskgct/models/codec/facodec/modules/layers.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/modules/quantize.py b/indextts/utils/maskgct/models/codec/facodec/modules/quantize.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/modules/style_encoder.py b/indextts/utils/maskgct/models/codec/facodec/modules/style_encoder.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/modules/wavenet.py b/indextts/utils/maskgct/models/codec/facodec/modules/wavenet.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/facodec/optimizer.py b/indextts/utils/maskgct/models/codec/facodec/optimizer.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/kmeans/repcodec_model.py b/indextts/utils/maskgct/models/codec/kmeans/repcodec_model.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/kmeans/vocos.py b/indextts/utils/maskgct/models/codec/kmeans/vocos.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/melvqgan/melspec.py b/indextts/utils/maskgct/models/codec/melvqgan/melspec.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/README.md b/indextts/utils/maskgct/models/codec/ns3_codec/README.md
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/__init__.py b/indextts/utils/maskgct/models/codec/ns3_codec/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/__init__.py b/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/act.py b/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/act.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/filter.py b/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/filter.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/resample.py b/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/resample.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/facodec.py b/indextts/utils/maskgct/models/codec/ns3_codec/facodec.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/gradient_reversal.py b/indextts/utils/maskgct/models/codec/ns3_codec/gradient_reversal.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/melspec.py b/indextts/utils/maskgct/models/codec/ns3_codec/melspec.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/quantize/__init__.py b/indextts/utils/maskgct/models/codec/ns3_codec/quantize/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/quantize/fvq.py b/indextts/utils/maskgct/models/codec/ns3_codec/quantize/fvq.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/quantize/rvq.py b/indextts/utils/maskgct/models/codec/ns3_codec/quantize/rvq.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/ns3_codec/transformer.py b/indextts/utils/maskgct/models/codec/ns3_codec/transformer.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/speechtokenizer/model.py b/indextts/utils/maskgct/models/codec/speechtokenizer/model.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/speechtokenizer/modules/__init__.py b/indextts/utils/maskgct/models/codec/speechtokenizer/modules/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/speechtokenizer/modules/conv.py b/indextts/utils/maskgct/models/codec/speechtokenizer/modules/conv.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/speechtokenizer/modules/lstm.py b/indextts/utils/maskgct/models/codec/speechtokenizer/modules/lstm.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/speechtokenizer/modules/norm.py b/indextts/utils/maskgct/models/codec/speechtokenizer/modules/norm.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/__init__.py b/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/ac.py b/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/ac.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/core_vq.py b/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/core_vq.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/distrib.py b/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/distrib.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/vq.py b/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/vq.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/speechtokenizer/modules/seanet.py b/indextts/utils/maskgct/models/codec/speechtokenizer/modules/seanet.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/codec/vevo/vevo_repcodec.py b/indextts/utils/maskgct/models/codec/vevo/vevo_repcodec.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/tts/maskgct/ckpt/wav2vec2bert_stats.pt b/indextts/utils/maskgct/models/tts/maskgct/ckpt/wav2vec2bert_stats.pt
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/tts/maskgct/llama_nar.py b/indextts/utils/maskgct/models/tts/maskgct/llama_nar.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct/models/tts/maskgct/maskgct_s2a.py b/indextts/utils/maskgct/models/tts/maskgct/maskgct_s2a.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/maskgct_utils.py b/indextts/utils/maskgct_utils.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/text_utils.py b/indextts/utils/text_utils.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/typical_sampling.py b/indextts/utils/typical_sampling.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/utils.py b/indextts/utils/utils.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/webui_utils.py b/indextts/utils/webui_utils.py
old mode 100644
new mode 100755
diff --git a/indextts/utils/xtransformers.py b/indextts/utils/xtransformers.py
old mode 100644
new mode 100755
diff --git a/indextts/vqvae/__init__.py b/indextts/vqvae/__init__.py
old mode 100644
new mode 100755
diff --git a/indextts/vqvae/xtts_dvae.py b/indextts/vqvae/xtts_dvae.py
old mode 100644
new mode 100755
diff --git a/patch_vllm.py b/patch_vllm.py
old mode 100644
new mode 100755
diff --git a/requirements.txt b/requirements.txt
old mode 100644
new mode 100755
diff --git a/simple_test.py b/simple_test.py
old mode 100644
new mode 100755
diff --git a/tools/i18n/i18n.py b/tools/i18n/i18n.py
old mode 100644
new mode 100755
diff --git a/tools/i18n/locale/en_US.json b/tools/i18n/locale/en_US.json
old mode 100644
new mode 100755
diff --git a/tools/i18n/scan_i18n.py b/tools/i18n/scan_i18n.py
old mode 100644
new mode 100755
diff --git a/webui.py b/webui.py
old mode 100644
new mode 100755
diff --git a/webui_v2.py b/webui_v2.py
old mode 100644
new mode 100755