* 快速分类音频并把yml格式结果存在训练根目录里 (#190) * Add files via upload * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Update models.py * Update webui.py * Update infer.py * Create compress_model.py * 重新提交,更新Gradio推理UI (#193) * Update webui.py * Update webui.py * 更新 train_ms.py * 更新 models.py * 更新 models.py * 更新 models.py * 更新 train_ms.py * 更新 train_ms.py * 更新 models.py * Update preprocess_text.py * Update config.json * Update train_ms.py * Update webui.py (#206) * Add files via upload (#209) * Update train_ms.py * Update train_ms.py * Update preprocess_text.py * Update train_ms.py * fix (#211) * Update emotion_clustering.py * Add files via upload * Update emotion_clustering.py * add cluster center save * Add files via upload * Update config.py * Update default_config.yml * Update config.py * Update config.py * Update emotion_clustering.py * Update emotion_clustering.py * Update config.py * Update emotion_clustering.py * Update emotion_clustering.py * Update webui.py * Update emotion_clustering.py * Update commons.py * Update emotion_clustering.py * Update webui.py * Update webui.py * Add files via upload * Update train_ms.py * Update train_ms.py * Update train_ms.py * Update train_ms.py * Update train_ms.py * Update webui.py * Update emotion_clustering.py * Update emotion_clustering.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix default_config.yml. * Update infer.py * feat: support infer 2.1 models * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix: support infer 2.1 models 兼容bug修复 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update train_ms.py * Add CLAP * Fix data loader * Fix infer.py * Fix webui.py * Add prompt template * Update clap_gen.py * Fix wrong environ value * Add g for dur disc * Update clap_gen.py * Fix multilang generation * Update config.json * Prompt mode * Improve slice segments performance * Add preprocess webui * Update webui_preprocess.py * Update webui_preprocess.py * Update config.py * Update default_config.yml * Update config.py * Update clap_gen.py * Delete emo_gen.py * Delete get_emo.py * Delete emotional/wav2vec2-large-robust-12-ft-emotion-msp-dim directory * Update README.md * Update README * Split val per lang * Delete emotion_clustering.py * Update default_config.yml * Update default_config.yml * Update config.py * Update preprocess_text.py * Update webui_preprocess.py * Update defalut_config.yml * Update webui_preprocess.py * Update preprocess_text.py * Random augmentation for CLAP * Update data_utils.py * Update preprocess_text.py * Add vq for CLAP features to avoid overfitting * Random dummy inputs * Update webui.py * Update models.py * Update infer.py * Apply Code Formatter Change * Update config.json * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: YYuX-1145 <138500330+YYuX-1145@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Sora <654163754@qq.com> Co-authored-by: Sihan Wang <wangsihan1995@gmail.com> Co-authored-by: Stardust-minus <Stardust-minus@users.noreply.github.com>
72 lines
1.8 KiB
Python
72 lines
1.8 KiB
Python
import os
|
|
import argparse
|
|
import librosa
|
|
from multiprocessing import Pool, cpu_count
|
|
|
|
import soundfile
|
|
from tqdm import tqdm
|
|
|
|
from config import config
|
|
|
|
|
|
def process(item):
|
|
wav_name, args = item
|
|
wav_path = os.path.join(args.in_dir, wav_name)
|
|
if os.path.exists(wav_path) and wav_path.lower().endswith(".wav"):
|
|
wav, sr = librosa.load(wav_path, sr=args.sr)
|
|
soundfile.write(os.path.join(args.out_dir, wav_name), wav, sr)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument(
|
|
"--sr",
|
|
type=int,
|
|
default=config.resample_config.sampling_rate,
|
|
help="sampling rate",
|
|
)
|
|
parser.add_argument(
|
|
"--in_dir",
|
|
type=str,
|
|
default=config.resample_config.in_dir,
|
|
help="path to source dir",
|
|
)
|
|
parser.add_argument(
|
|
"--out_dir",
|
|
type=str,
|
|
default=config.resample_config.out_dir,
|
|
help="path to target dir",
|
|
)
|
|
parser.add_argument(
|
|
"--processes",
|
|
type=int,
|
|
default=0,
|
|
help="cpu_processes",
|
|
)
|
|
args, _ = parser.parse_known_args()
|
|
# autodl 无卡模式会识别出46个cpu
|
|
if args.processes == 0:
|
|
processes = cpu_count() - 2 if cpu_count() > 4 else 1
|
|
else:
|
|
processes = args.processes
|
|
pool = Pool(processes=processes)
|
|
|
|
tasks = []
|
|
|
|
for dirpath, _, filenames in os.walk(args.in_dir):
|
|
if not os.path.isdir(args.out_dir):
|
|
os.makedirs(args.out_dir, exist_ok=True)
|
|
for filename in filenames:
|
|
if filename.lower().endswith(".wav"):
|
|
tasks.append((filename, args))
|
|
|
|
for _ in tqdm(
|
|
pool.imap_unordered(process, tasks),
|
|
):
|
|
pass
|
|
|
|
pool.close()
|
|
pool.join()
|
|
|
|
print("音频重采样完毕!")
|