Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -15,33 +15,14 @@ from Text2List import text_to_list # Converts a text string into a list of wor
|
|
| 15 |
from convert2list import convert_to_list # Converts processed text into a structured list.
|
| 16 |
from processDoubles import process_doubles # Handles repeated words or numbers in speech recognition output.
|
| 17 |
from replaceWords import replace_words # Replaces specific words in the recognized text with alternatives.
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
# Initialize ASR model pipeline
|
| 20 |
asr_model = pipeline("automatic-speech-recognition", model="cdactvm/w2v-bert-punjabi")
|
| 21 |
|
| 22 |
|
| 23 |
-
# Function to apply a high-pass filter
|
| 24 |
-
def high_pass_filter(audio, sr, cutoff=300):
|
| 25 |
-
nyquist = 0.5 * sr
|
| 26 |
-
normal_cutoff = cutoff / nyquist
|
| 27 |
-
b, a = butter(1, normal_cutoff, btype='high', analog=False)
|
| 28 |
-
filtered_audio = lfilter(b, a, audio)
|
| 29 |
-
return filtered_audio
|
| 30 |
-
|
| 31 |
-
# Function to apply wavelet denoising
|
| 32 |
-
def wavelet_denoise(audio, wavelet='db1', level=1):
|
| 33 |
-
import pywt
|
| 34 |
-
coeffs = pywt.wavedec(audio, wavelet, mode='per')
|
| 35 |
-
sigma = np.median(np.abs(coeffs[-level])) / 0.5
|
| 36 |
-
uthresh = sigma * np.sqrt(2 * np.log(len(audio)))
|
| 37 |
-
coeffs[1:] = [pywt.threshold(i, value=uthresh, mode='soft') for i in coeffs[1:]]
|
| 38 |
-
return pywt.waverec(coeffs, wavelet, mode='per')
|
| 39 |
-
|
| 40 |
-
# Function to apply a Wiener filter for noise reduction
|
| 41 |
-
def apply_wiener_filter(audio):
|
| 42 |
-
return wiener(audio)
|
| 43 |
-
|
| 44 |
-
|
| 45 |
# Function to handle speech recognition
|
| 46 |
def recognize_speech(audio_file):
|
| 47 |
audio, sr = librosa.load(audio_file, sr=16000)
|
|
|
|
| 15 |
from convert2list import convert_to_list # Converts processed text into a structured list.
|
| 16 |
from processDoubles import process_doubles # Handles repeated words or numbers in speech recognition output.
|
| 17 |
from replaceWords import replace_words # Replaces specific words in the recognized text with alternatives.
|
| 18 |
+
from highPassFiler import high_pass_filter
|
| 19 |
+
form WaveletDenoise import wavelet_denoise
|
| 20 |
+
fomr applyWienerFilter import apply_wiener_filter
|
| 21 |
|
| 22 |
# Initialize ASR model pipeline
|
| 23 |
asr_model = pipeline("automatic-speech-recognition", model="cdactvm/w2v-bert-punjabi")
|
| 24 |
|
| 25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
# Function to handle speech recognition
|
| 27 |
def recognize_speech(audio_file):
|
| 28 |
audio, sr = librosa.load(audio_file, sr=16000)
|