على ما أذكر ، نعم هذا ممكن ، ولكنها غير مجانية من Google .
إذا كان مقدم الخدمة Google ، وترغبي في استخدام Google Cloud Speech-to-Text ، يجب أن تتبع الخطوات التالية:
أولاً الحصول على مفتاح API:
انتقل إلى Google Cloud Console وقومي بإنشاء مشروع جديد ( كتجربة مجانية طبعاً ).
انتقل إلى "APIs & Services" > "Dashboard" وقومي بتفعيل خدمة Cloud Speech-to-Text API لمشروعك.
وستحصلي على مفتاح API من قسم "Credentials".
الآن إعداد Google Cloud Speech-to-Text في VBA:
قومي بتحميل وتثبيت مكتبة HTTPRequests ، في VBA إذا لم تكن مثبتة بالفعل.
استخدم الكود التالي كمثال للاتصال بخدمة Google Cloud Speech-to-Text
Function ConvertSpeechToText(audioFilePath As String) As String
Dim apiUrl As String
Dim apiKey As String
Dim audioData As String
Dim http As Object
' تعيين قيم apiUrl وapiKey وaudioData باستخدام مفتاح API الخاص بك
apiUrl = "https://speech.googleapis.com/v1/speech:recognize?key=YOUR_API_KEY"
apiKey = "your_api_key"
' قراءة بيانات الصوت من ملف
' يمكنك ضبط هذا بناءً على كيفية تخزين الصوت في مشروعك
' على سبيل المثال، يمكنك استخدام دالة FileToString لقراءة الصوت من ملف
' audioData = FileToString(audioFilePath)
' إرسال الطلب إلى Google Cloud Speech-to-Text API
Set http = CreateObject("MSXML2.ServerXMLHTTP")
http.Open "POST", apiUrl, False
http.setRequestHeader "Content-Type", "application/json"
' تكوين جسم الطلب
Dim jsonBody As String
jsonBody = "{""config"": {""encoding"": ""LINEAR16"",""sampleRateHertz"": 16000,""languageCode"": ""en-US""},""audio"": {""content"": """ & audioData & """}}"
http.send jsonBody
' معالجة الاستجابة
If http.Status = 200 Then
' تحديث حقل النص في قاعدة البيانات
ConvertSpeechToText = http.responseText
Else
' معالجة الأخطاء هنا
ConvertSpeechToText = "Error: " & http.Status & " - " & http.statusText
End If
End Function
لم تتم التجربة طبعاً
ولكن كفكرة أعتقد أنها ممكنة ، وبانتظار الأساتذة مشاركتنا خبرتهم