Skip to content

Commit

Permalink
comit all
Browse files Browse the repository at this point in the history
  • Loading branch information
njfamirm committed Dec 2, 2024
1 parent b34407d commit 1492924
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 10 deletions.
8 changes: 1 addition & 7 deletions openai_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,7 @@ def transcribe_audio(client, audio_path):

# post-process assistant
def post_process_assistant(client, full_transcript):
system_prompt = """You are a helpful assistant that adds punctuation to Persian text, corrects spelling mistakes, and ensures proper religious references for Shiite matters.
You are familiar with the grammar, punctuation rules of the Persian language, and Arabic phrases commonly used in Shiite discourse.
Preserve the original words and only insert necessary punctuation such as periods, commas, capitalization, symbols like Rial signs or percentage signs, and formatting.
- When referring to the names of the Imams, you should use "(علیه‌السلام)" and similar phrases.
- Arabic phrases such as Quranic verses and narrations may be used within the speech. Please write them with correct diacritics.
Avoid changing the words or sentence structure. If necessary, use a Persian dictionary to identify ambiguous words.
Your goal is to make the text as clear and readable as possible while maintaining its original meaning and religious context."""
system_prompt = """You are a helpful assistant that's corrects spelling mistakes. Avoid changing the words or sentence structure. If necessary, use a Persian dictionary to identify ambiguous words. """
logger.info('Starting punctuation...')
response = client.chat.completions.create(
model="gpt-3.5-turbo",
Expand Down
1 change: 1 addition & 0 deletions output/avanegar.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
در مورد وفا به عهد اجتماع قلوب بر وفائ به عهد یه سری نکاتی رو عرض کردم از یه منظر دیگه ای می خوام طرح یه بحثی کنم اینم بحثی که عرض می کنم گمانم بحث خیلی مهمیه و دامنه وحشیشم هم خیلی مفصله نمی دونم تو این یکی دو شبی که خدمت عزیزان هستم چقدرشو بتونم توضیح بدم پرونده خیلی مفصلی این پرونده مطلبی که می خوام عرض کنم و اون اینه که به عبارات مختلف این جملات رو شنیدید خیلی وقتا مطرح می شه که تکالیف ما در دوران غیبت امام زمان ع چیه مراجعه اگر بکنید به روایات و اون هایی که کتبی که در این زمینه نوشته شده چه کوچک بزرگ مسیر رفتن یه مطالبی رو بیان فرمودند نکته ای که می خوام بهش بپردازم اینه از این منظری که می خوام عرض کنم می خوایم دقت کنیم نمی خوایم بگیم آقا تکالیف ما در دوران غیبت چیست بسم اللهرحم این واجباتت را انجام بده محرماتت رو ترک کن خب جوابش ع امیده دیگه واقعا جواب اول ماجرا همینه دیگه تکالیف ما چیست انجام واجبات ترک محرمات تکلیف خاص ما در دوران غیبت چیست دعاورای فرج حضرت صرفا نمی خوایم با این دست فرمون بریم جلو می خوایام از یه زاویه ای به این قصه نگاه کنیم که شاید کم تر دقت کردیم دو سه تا جمله اول باید به عنوان مقدمه عرض کنم بعد وارد بشم و در موردش فکر کنیم ببینید ما یه وقت تکالیفمون رو به صورت فردی نگاه می کنیم تاثیره می خوام خیلی دقت کنید ببخشید مقدماتی هی دارم میگم که حواس جمع بشه تاثیر کارهامونم به صورت فردی نگاه می کنیم واقعا اگر به صورت فردی بخوایم نگاه کنیم و نسخه میپشیم همونی که عرض کردم آقا تو انجام واجبات ترک محرمات یه چیزایی توجه کن اما یه منظر دیگه ای که به نظرم خیلی مهمه و مورد غفلت ماها واقع شده اینه که من یک فرد از جامعه شیعه هستم یک نفرم از جامعه شیعه ای که در دوران غیبت امام زمان داره زندگی می کنه بلکه تا قبل از ظهور امام زمان ع از ابتدای خلقت توی حدیثی هست که حضرت می فرمایند عالم دو قسمت خلاصه به تعبیر من یه دوره دولت ابلیسه که تا پایان تا ابتدای ظهور امام زمان هیمنه و سیطره در عالم با دستگاه شیطانه یه طرف دولت آدمه دستگاه حق که از بعد از ظور اتفاق می افته به یه معنا اون چیزی که عرض می کنیم مال همه این قبل از ظهوره یعنی چه دوران غیبت امام زمان چه اون دورانی که ائمه بین مردم ظاهر بودن چه دوران خاتم ال انبیا چه قبلش
23 changes: 23 additions & 0 deletions recognize_google.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import speech_recognition as sr

def recognize_speech_from_mic():
recognizer = sr.Recognizer()
mic = sr.Microphone()

with mic as source:
print("Adjusting for ambient noise, please wait...")
recognizer.adjust_for_ambient_noise(source)
print("Listening...")
audio = recognizer.listen(source)

try:
print("Recognizing...")
text = recognizer.recognize_google(audio, language="fa-IR")
print("You said: " + text)
except sr.UnknownValueError:
print("Google Speech Recognition could not understand audio")
except sr.RequestError as e:
print(f"Could not request results from Google Speech Recognition service; {e}")

if __name__ == "__main__":
recognize_speech_from_mic()
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ transformers==4.42.3
accelerate==0.31.0
sentencepiece==0.2.0
jiwer==3.0.4
torchaudio==2.3.1
torchaudio==2.3.1
torchvision==0.19.0
Binary file modified voice_01.wav
Binary file not shown.
11 changes: 10 additions & 1 deletion wer-calculator.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import jiwer
from openai_api import post_process_assistant
from openai import OpenAI
from os import getenv

transcriptFileName = 'whisper-large-v3'
transcriptFileName = 'avanegar'

with open('output/original.txt', 'r') as file:
original = file.read()
Expand All @@ -9,6 +12,12 @@
with open(f"output/{transcriptFileName}.txt", 'r') as file:
transcrypt = file.read()

# client = OpenAI(api_key=getenv('OPENAI_API_KEY'))

# transcrypt = post_process_assistant(client, transcrypt).choices[0].message.content

print(transcrypt)

transforms = jiwer.Compose(
[
jiwer.ExpandCommonEnglishContractions(),
Expand Down
2 changes: 1 addition & 1 deletion whisper-large-v3.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
feature_extractor=processor.feature_extractor,
max_new_tokens=128,
chunk_length_s=30,
batch_size=16,
batch_size=1,
return_timestamps=True,
torch_dtype=torch_dtype,
device=device,
Expand Down

0 comments on commit 1492924

Please sign in to comment.