File size: 993 Bytes
bcd261a
a35c07a
 
bcd261a
a35c07a
bcd261a
a35c07a
bcd261a
a35c07a
5b4ba91
bcd261a
a35c07a
bcd261a
 
a35c07a
bcd261a
 
 
 
 
 
a35c07a
bcd261a
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import torch
import streamlit as st
import numpy as np
import torchaudio
import torch.nn as nn
import torch.nn.functional as F
from model import SpeechSeparationModel

# ตรวจสอบว่าไฟล์โมเดลอยู่ที่ไหน
MODEL_PATH = "speech_separation_model (1).pth"

# โหลดโมเดล Speech Separation
@st.cache_resource
def load_model():
    model = SpeechSeparationModel()  # ตรวจสอบว่า SpeechSeparationModel ถูก import
    model.load_state_dict(torch.load(MODEL_PATH, map_location="cpu"))
    model.eval()
    return model

model = load_model()

# ฟังก์ชันแยกเสียงพูดโดยใช้โมเดล
def separate_speech(audio_signal, sample_rate):
    audio_tensor = torch.tensor(audio_signal).float().unsqueeze(0).unsqueeze(0)  # (batch, channel, length)
    with torch.no_grad():
        separated_audio = model(audio_tensor).squeeze().numpy()
    return separated_audio