Skip to content

Title #40

@abbazallamuratov247-hue

Description

import os
import sys
from pathlib import Path

--- 1. FFmpeg yo'lini TIZIMGA tanitish (Importlardan oldin!) ---

Winget orqali o'rnatilgan yo'lni tekshiramiz

ffmpeg_links = os.path.expandvars(r"%LOCALAPPDATA%\Microsoft\WinGet\Links")

Agar bu yo'l mavjud bo'lsa, uni Windows-ning vaqtinchalik PATH ro'yxatiga qo'shamiz

if os.path.exists(ffmpeg_links):
os.environ["PATH"] += os.pathsep + ffmpeg_links

ENDI pydub-ni import qilamiz. Endi u xatolik bermaydi, chunki tizimdan topadi.

from pydub import AudioSegment, effects

--- 2. Funksiya ---

def normalize_audio(input_folder, output_folder, target_sr=16000):
input_path = Path(input_folder)
output_path = Path(output_folder)

# Papka yaratish
output_path.mkdir(parents=True, exist_ok=True)

# .wav fayllar ro'yxati
audio_files = list(input_path.glob("*.wav"))

if not audio_files:
    print(f"⚠️ {input_folder} papkasida fayllar topilmadi!")
    return

print(f"🚀 {len(audio_files)} ta audio bilan ishlash boshlandi...")

for audio_file in audio_files:
    try:
        # Audioni yuklash va ishlov berish
        audio = AudioSegment.from_file(audio_file)
        audio = audio.set_frame_rate(target_sr).set_channels(1)
        normalized_audio = effects.normalize(audio)

        # Saqlash
        file_name = audio_file.name
        normalized_audio.export(output_path / file_name, format="wav")
        print(f"✅ Tayyor: {file_name}")

    except Exception as e:
        print(f"❌ Xatolik {audio_file.name}: {e}")

--- 3. Ishga tushirish ---

INPUT_DIR = "dataset_folder/cleaned_speech"
OUTPUT_DIR = "dataset_folder/normalized_speech"

if name == "main":
normalize_audio(INPUT_DIR, OUTPUT_DIR)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions