اذهب إلى المحتوى

السؤال

نشر (معدل)

اريد عندما يكتب المستخدم طلب معين مثلا تلاوة سورة الفاتحه يتم جلب الرابط وتشغيله في واجهه موقع مثلا باستخدام flask 

هل هناك مثال او كود لتنفيذ هذا المشروع البسيط 

تم التعديل في بواسطة Ismail Ali2
خطأ لعوي

Recommended Posts

  • 1
نشر

يمكن استخدام واجهة Flask لإنشاء تطبيق ويب بسيط يمكنه استخدام وظيفة التحدث إلى النص (Text-to-Speech) لتحويل النص إلى صوت وجلب الملف الصوتي المولد.

واستخدام واجهة البرمجة الخاصة بخدمة تحويل النص إلى كلام مثل Google Text-to-Speech أو IBM Watson Text-to-Speech للقيام بذلك.

والخطوات الأساسية لإنشاء التطبيق هي:

1- تثبيت Flask وأي مكتبات أخرى ذات الصلة (مثل requests).

pip install flask
pip install requests

2- إنشاء ملف تطبيق Flask وتعريف المسارات والدوال اللازمة. يمكن إضافة مسار الصفحة الرئيسية ومسارات أخرى لتشغيل وظائف معينة.

3- استخدام دالة Flask.request لالتقاط النص المدخل من المستخدم.

4- استخدام وظيفة requests.post لإرسال النص المدخل إلى خدمة تحويل النص إلى كلام (Text-to-Speech) والحصول على الملف الصوتي المولد.

5- تحويل الملف الصوتي المستلم إلى تنسيق يمكن تشغيله في المتصفح، مثل تنسيق MP3.

6- إرسال الملف الصوتي إلى العميل (المتصفح) باستخدام Flask.send_file.

7- تحديد الصيغة المناسبة لملف الصوتي لتشغيله في متصفح الويب (مثل HTML5 audio).

و استخدم الكود التالي كنموذج لإنشاء التطبيق:

from flask import Flask, request, send_file
import requests

app = Flask(__name__)

@app.route('/')
def index():
    return '<h1>Text-to-Speech App</h1>'

@app.route('/text-to-speech', methods=['POST'])
def text_to_speech():
    # get text from request
    text = request.form['text']

    # set up API request
    url = 'https://texttospeech.googleapis.com/v1/text:synthesize?key=YOUR_API_KEY'
    headers = {'Content-Type': 'application/json'}
    data = {
        'input': {'text': text},
        'voice': {'languageCode': 'en-US', 'name': 'en-US-Wavenet-D'},
        'audioConfig': {'audioEncoding': 'MP3'}
    }

    # make API request
    response = requests.post(url, headers=headers, json=data)

    # save

 

  • 0
نشر
بتاريخ 6 دقائق مضت قال Mustafa Suleiman:

يمكن استخدام واجهة Flask لإنشاء تطبيق ويب بسيط يمكنه استخدام وظيفة التحدث إلى النص (Text-to-Speech) لتحويل النص إلى صوت وجلب الملف الصوتي المولد. يمكن استخدام واجهة البرمجة الخاصة بخدمة تحويل النص إلى كلام مثل Google Text-to-Speech أو IBM Watson Text-to-Speech للقيام بذلك.

والخطوات الأساسية لإنشاء التطبيق هي:

1- تثبيت Flask وأي مكتبات أخرى ذات الصلة (مثل requests).

pip install flask
pip install requests

2- إنشاء ملف تطبيق Flask وتعريف المسارات والدوال اللازمة. يمكن إضافة مسار الصفحة الرئيسية ومسارات أخرى لتشغيل وظائف معينة.

3- استخدام دالة Flask.request لالتقاط النص المدخل من المستخدم.

4- استخدام وظيفة requests.post لإرسال النص المدخل إلى خدمة تحويل النص إلى كلام (Text-to-Speech) والحصول على الملف الصوتي المولد.

5- تحويل الملف الصوتي المستلم إلى تنسيق يمكن تشغيله في المتصفح، مثل تنسيق MP3.

6- إرسال الملف الصوتي إلى العميل (المتصفح) باستخدام Flask.send_file.

7- تحديد الصيغة المناسبة لملف الصوتي لتشغيله في متصفح الويب (مثل HTML5 audio).

و استخدم الكود التالي كنموذج لإنشاء التطبيق:

from flask import Flask, request, send_file
import requests

app = Flask(__name__)

@app.route('/')
def index():
    return '<h1>Text-to-Speech App</h1>'

@app.route('/text-to-speech', methods=['POST'])
def text_to_speech():
    # get text from request
    text = request.form['text']

    # set up API request
    url = 'https://texttospeech.googleapis.com/v1/text:synthesize?key=YOUR_API_KEY'
    headers = {'Content-Type': 'application/json'}
    data = {
        'input': {'text': text},
        'voice': {'languageCode': 'en-US', 'name': 'en-US-Wavenet-D'},
        'audioConfig': {'audioEncoding': 'MP3'}
    }

    # make API request
    response = requests.post(url, headers=headers, json=data)

    # save

 

ممتاز جدا اخي الفاضل .. معلومات قيمة ... لكن للتوضيح اريد المستخدم يكتب مصلا قران كريم ... فيتم استدعاء رابط من الانترنت بصيغة mp3 ثم عرضه للمستخدم علي flask ... للتبسيط .. كأنه شات المستخدم يكتب مثلا قران بصوت الشيخ كذا فيتم الرد وجلب رابط من الانترنت بالملف المطلوب وعرضه للمستخدم 

  • 1
نشر

من الممكن تنفيذ ذلك من خلال تحديد مسار الملف الصوتي المستلم من خلال الطلب السابق باستخدام Flask.send_file.

واستخدام مواقع مثل Quran.com للبحث عن المقاطع الصوتية المطلوبة من القرآن الكريم.

مثال بسيط:

from flask import Flask, request, send_file
import requests

app = Flask(__name__)

@app.route('/')
def index():
    return '<h1>Text-to-Speech App</h1>'

@app.route('/text-to-speech', methods=['POST'])
def text_to_speech():
    # get text from request
    text = request.form['text']

    # set up API request
    url = 'https://texttospeech.googleapis.com/v1/text:synthesize?key=YOUR_API_KEY'
    headers = {'Content-Type': 'application/json'}
    data = {
        'input': {'text': text},
        'voice': {'languageCode': 'en-US', 'name': 'en-US-Wavenet-D'},
        'audioConfig': {'audioEncoding': 'MP3'}
    }

    # make API request
    response = requests.post(url, headers=headers, json=data)

    # save audio file
    with open('output.mp3', 'wb') as f:
        f.write(response.content)

    # send audio file to client
    return send_file('output.mp3', as_attachment=True)

@app.route('/quran-recitation', methods=['POST'])
def quran_recitation():
    # get surah and reciter from request
    surah = request.form['surah']
    reciter = request.form['reciter']

    # search for audio file on Quran.com
    url = f'https://quran.com/{surah}/{reciter}/'
    response = requests.get(url)

    # extract audio file url from response
    audio_url = 'https:' + response.text.split('src="')[-1].split('"')[0]

    # download audio file
    response = requests.get(audio_url)

    # save audio file
    with open('quran_recitation.mp3', 'wb') as f:
        f.write(response.content)

    # send audio file to client
    return send_file('quran_recitation.mp3', as_attachment=True)

if __name__ == '__main__':
    app.run()

في المثال، تم إضافة مسار جديد '/quran-recitation' يقوم بالبحث عن المقطع الصوتي المطلوب عبر موقع Quran.com، ويمكن تحديد رقم السورة واسم القارئ عبر الطلب.

 

  • 0
نشر
بتاريخ منذ ساعة مضت قال Mustafa Suleiman:

من الممكن تنفيذ ذلك من خلال تحديد مسار الملف الصوتي المستلم من خلال الطلب السابق باستخدام Flask.send_file.

واستخدام مواقع مثل Quran.com للبحث عن المقاطع الصوتية المطلوبة من القرآن الكريم.

مثال بسيط:

from flask import Flask, request, send_file
import requests

app = Flask(__name__)

@app.route('/')
def index():
    return '<h1>Text-to-Speech App</h1>'

@app.route('/text-to-speech', methods=['POST'])
def text_to_speech():
    # get text from request
    text = request.form['text']

    # set up API request
    url = 'https://texttospeech.googleapis.com/v1/text:synthesize?key=YOUR_API_KEY'
    headers = {'Content-Type': 'application/json'}
    data = {
        'input': {'text': text},
        'voice': {'languageCode': 'en-US', 'name': 'en-US-Wavenet-D'},
        'audioConfig': {'audioEncoding': 'MP3'}
    }

    # make API request
    response = requests.post(url, headers=headers, json=data)

    # save audio file
    with open('output.mp3', 'wb') as f:
        f.write(response.content)

    # send audio file to client
    return send_file('output.mp3', as_attachment=True)

@app.route('/quran-recitation', methods=['POST'])
def quran_recitation():
    # get surah and reciter from request
    surah = request.form['surah']
    reciter = request.form['reciter']

    # search for audio file on Quran.com
    url = f'https://quran.com/{surah}/{reciter}/'
    response = requests.get(url)

    # extract audio file url from response
    audio_url = 'https:' + response.text.split('src="')[-1].split('"')[0]

    # download audio file
    response = requests.get(audio_url)

    # save audio file
    with open('quran_recitation.mp3', 'wb') as f:
        f.write(response.content)

    # send audio file to client
    return send_file('quran_recitation.mp3', as_attachment=True)

if __name__ == '__main__':
    app.run()

في المثال، تم إضافة مسار جديد '/quran-recitation' يقوم بالبحث عن المقطع الصوتي المطلوب عبر موقع Quran.com، ويمكن تحديد رقم السورة واسم القارئ عبر الطلب.

 

اشكرك

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...