docs: restructure documentation, add digital legacy report, and secure contracts
This commit is contained in:
@@ -0,0 +1,389 @@
|
||||
# تحليل الميزات الصوتية والموسيقى — سيرو
|
||||
## Audio & Music Features Analysis — Siro Platform
|
||||
|
||||
> **النسخة:** 1.0 | **تاريخ:** يوليو 2026 | **التصنيف:** داخلي | **إعداد:** فريق التحليل التقني
|
||||
|
||||
---
|
||||
|
||||
## 📋 فهرس المحتويات
|
||||
1. [ملخص الميزات الصوتية الحالية](#1-ملخص-الميزات-الصوتية-الحالية)
|
||||
2. [Text-to-Speech (TTS)](#2-text-to-speech-tts)
|
||||
3. [المؤثرات الصوتية والإشعارات](#3-المؤثرات-الصوتية-والإشعارات)
|
||||
4. [المكالمات الصوتية (WebRTC + Agora)](#4-المكالمات-الصوتية-webrtc--agora)
|
||||
5. [تسجيل الصوت](#5-تسجيل-الصوت)
|
||||
6. [البنية التحتية الصوتية (Backend)](#6-البنية-التحتية-الصوتية-backend)
|
||||
7. [الميزات الصوتية المفقودة — فرص الابتكار](#7-الميزات-الصوتية-المفقودة--فرص-الابتكار)
|
||||
8. [خطة تطوير الموسيقى والترفيه الصوتي](#8-خطة-تطوير-الموسيقى-والترفيه-الصوتي)
|
||||
9. [دراسة الجدوى — ميزة الموسيقى](#9-دراسة-الجدوى--ميزة-الموسيقى)
|
||||
|
||||
---
|
||||
|
||||
## 1. ملخص الميزات الصوتية الحالية
|
||||
|
||||
### التقييم: ⭐⭐⭐☆☆ (4/10)
|
||||
|
||||
| المجال | الحالة | التفاصيل |
|
||||
|--------|--------|----------|
|
||||
| TTS (نص إلى كلام) | ✅ موجود | تنقل صوتي، وصف واجهة، تحذيرات |
|
||||
| مؤثرات صوتية | ✅ موجود | أصوات طلبات الرحلات، إشعارات |
|
||||
| مكالمات صوتية | ✅ موجود | WebRTC + Agora بين السائق والراكب |
|
||||
| تسجيل صوتي | ✅ موجود | تسجيل الرحلة AAC-LC |
|
||||
| **موسيقى / ترفيه صوتي** | **❌ غير موجود** | **فرصة تنافسية كبيرة** |
|
||||
| **راديو / Podcasts** | **❌ غير موجود** | **فرصة إيرادية جديدة** |
|
||||
| **أوامر صوتية** | **❌ غير موجود** | **تجربة مستخدم متقدمة** |
|
||||
| **Spotify / Apple Music** | **❌ غير موجود** | **ميزة تنافسية مطلوبة** |
|
||||
|
||||
---
|
||||
|
||||
## 2. Text-to-Speech (TTS)
|
||||
|
||||
### 2.1 التقنية
|
||||
| الخاصية | القيمة |
|
||||
|---------|--------|
|
||||
| الحزمة | `flutter_tts` (v4.x) |
|
||||
| معدل الكلام | 0.5 |
|
||||
| مستوى الصوت | 1.0 |
|
||||
| اللغة الافتراضية | ar-SA (مع fallback إلى en-US) |
|
||||
| iOS Audio Category | playback, mixWithOthers, duckOthers |
|
||||
|
||||
### 2.2 الاستخدامات في تطبيق السائق
|
||||
| الملف | الاستخدام |
|
||||
|-------|-----------|
|
||||
| `navigation_controller.dart` | إرشادات التنقل خطوة بخطوة (TTS عند كل منعطف) |
|
||||
| `navigation_service.dart` | إنشاء كائن TTS للملاحة |
|
||||
| `map_driver_controller.dart` | إعلانات حالة الرحلة |
|
||||
| `destination_controller.dart` | وصف الوجهة |
|
||||
| `order_request_controller.dart` | معلومات طلب الرحلة |
|
||||
| `gemeni.dart` | تحذيرات التحقق من المستندات بالذكاء الاصطناعي |
|
||||
| `mydialoug.dart` | قراءة نصوص الحوارات |
|
||||
| `criminal_documents_page.dart` | معلومات المستندات |
|
||||
| `contact_us_page.dart` | معلومات الاتصال |
|
||||
|
||||
**ميزة فريدة في تطبيق السائق**: زر كتم الصوت (Mute) مع `isSpeaking` observable
|
||||
|
||||
### 2.3 الاستخدامات في تطبيق الراكب
|
||||
| الملف | الاستخدام |
|
||||
|-------|-----------|
|
||||
| `mydialoug.dart` | قراءة نصوص الحوارات |
|
||||
| `car_details_widget_to_go.dart` | معلومات السيارة والرحلة |
|
||||
|
||||
---
|
||||
|
||||
## 3. المؤثرات الصوتية والإشعارات
|
||||
|
||||
### 3.1 حزمة just_audio
|
||||
- **الإصدار**: ^0.10.5
|
||||
- **الاستخدام**: تشغيل المؤثرات الصوتية القصيرة (ليس الموسيقى)
|
||||
|
||||
### 3.2 توزيع الملفات الصوتية
|
||||
|
||||
#### تطبيق الراكب:
|
||||
| الملف | الغرض | التنسيق |
|
||||
|-------|-------|---------|
|
||||
| `start.wav` | نغمة رنين المكالمات | WAV |
|
||||
| `promo.wav` | إشعار ترويجي | WAV |
|
||||
| `ding.wav` | صوت إشعار عام | WAV |
|
||||
| `tone2.wav` | نغمة إشعار | WAV |
|
||||
| `cancel.wav` | صوت إلغاء/رفض | WAV |
|
||||
| `tone1.mp3` | نغمة إشعار | MP3 |
|
||||
|
||||
#### تطبيق السائق:
|
||||
| الملف | الغرض | التنسيق |
|
||||
|-------|-------|---------|
|
||||
| `order.mp3` | **صوت طلب رحلة جديد (loop)** | MP3 |
|
||||
| `order1.wav` | صوت طلب رحلة ثانوي | WAV |
|
||||
| `aggrement.wav` | صوت تأكيد الموافقة | WAV |
|
||||
| `alert.wav` | صوت تنبيه عام | WAV |
|
||||
| `iphone_ringtone.wav` | نغمة رنين شبيهة iPhone | WAV |
|
||||
| `promo.wav` | إشعار ترويجي | WAV |
|
||||
| `ding.wav` | صوت إشعار | WAV |
|
||||
| `tone2.wav` | نغمة إشعار | WAV |
|
||||
| `order.wav` | صوت طلب (native) | WAV |
|
||||
| `cancel.wav` | صوت إلغاء | WAV |
|
||||
| `tone1.mp3` | نغمة إشعار | MP3 |
|
||||
|
||||
### 3.3 آلية تشغيل صوت الطلب
|
||||
```dart
|
||||
// في order_request_controller.dart:
|
||||
void _playAudio() {
|
||||
_audioPlayer.setAsset('assets/order.mp3');
|
||||
_audioPlayer.setLoopMode(LoopMode.one); // تكرار
|
||||
_audioPlayer.play(); // يشغل لمدة 15 ثانية (مدة المؤقت)
|
||||
}
|
||||
|
||||
void _stopAudio() {
|
||||
_audioPlayer.stop();
|
||||
_audioPlayer.dispose();
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. المكالمات الصوتية (WebRTC + Agora)
|
||||
|
||||
### 4.1 البنية المعمارية
|
||||
```
|
||||
┌──────────────────────────────────────────────────────────┐
|
||||
│ CALL ARCHITECTURE │
|
||||
│ │
|
||||
│ Passenger App Driver App │
|
||||
│ ┌─────────────────┐ ┌──────────────────┐ │
|
||||
│ │ VoiceCallCtrl │ │ VoiceCallCtrl │ │
|
||||
│ │ (WebRTC Peer) │◄──────────►│ (WebRTC Peer) │ │
|
||||
│ └────────┬────────┘ Media └────────┬─────────┘ │
|
||||
│ │ Streams │ │
|
||||
│ │ │ │
|
||||
│ ┌────────▼────────┐ ┌─────────▼─────────┐ │
|
||||
│ │ SignalingService │ │ SignalingService │ │
|
||||
│ │ (WebSocket) │◄─────────►│ (WebSocket) │ │
|
||||
│ └────────┬────────┘ wss:// └─────────┬─────────┘ │
|
||||
│ │ calls.intaleq │ │
|
||||
│ │ .com/ws │ │
|
||||
│ ▼ ▼ │
|
||||
│ ┌──────────────────────────────────────────────────┐ │
|
||||
│ │ PHP Backend (create_call_session.php) │ │
|
||||
│ │ + Node.js Signaling Server │ │
|
||||
│ └──────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ STUN Servers: │
|
||||
│ - stun:stun.l.google.com:19302 │
|
||||
│ - stun:stun1.l.google.com:19302 │
|
||||
└──────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 4.2 حالات المكالمة
|
||||
```
|
||||
idle → dialing → ringing → connecting → active → ended
|
||||
↓
|
||||
(120s max)
|
||||
|
||||
يتم إنهاء المكالمة تلقائياً بعد 120 ثانية
|
||||
```
|
||||
|
||||
### 4.3 الميزات
|
||||
- كتم الميكروفون (Mute)
|
||||
- تبديل مكبر الصوت (Speaker)
|
||||
- مؤقت 120 ثانية مع عد تنازلي
|
||||
- ICE restart عند فشل الاتصال
|
||||
- إعادة إنشاء الميكروفون عند عودة التطبيق
|
||||
- دعم Echo Cancellation, Noise Suppression, Auto Gain Control
|
||||
|
||||
---
|
||||
|
||||
## 5. تسجيل الصوت
|
||||
|
||||
### 5.1 المواصفات التقنية
|
||||
| الخاصية | القيمة |
|
||||
|---------|--------|
|
||||
| الحزمة | `record: ^6.2.0` |
|
||||
| الترميز | AAC-LC |
|
||||
| معدل العينة | 44100 Hz |
|
||||
| معدل البت | 128000 bps |
|
||||
| الصيغة | M4A |
|
||||
| تسمية الملف | `{YYYY-MM-DD}_{rideId}.m4a` |
|
||||
|
||||
### 5.2 الميزات
|
||||
- بدء/إيقاف التسجيل
|
||||
- إيقاف مؤقت/استئناف
|
||||
- تشغيل التسجيلات المسجلة (مع tracking للموضع)
|
||||
- حذف الملفات
|
||||
- رفع إلى الخادم عبر `upload_audio.php`
|
||||
|
||||
---
|
||||
|
||||
## 6. البنية التحتية الصوتية (Backend)
|
||||
|
||||
### 6.1 رفع الصوتيات (upload_audio.php)
|
||||
| الميزة | التفاصيل |
|
||||
|--------|----------|
|
||||
| الملفات المقبولة | audio/mp4, audio/mpeg, audio/wav, audio/x-m4a, audio/ogg, audio/webm |
|
||||
| تسمية الملف | 32-character hex عشوائي |
|
||||
| المسار | `upload_audio/` |
|
||||
| الصلاحيات | 750 |
|
||||
| الرابط | `https://api.siromove.com/upload_audio/{file}` |
|
||||
| Rate Limiting | Redis |
|
||||
|
||||
### 6.2 إنشاء جلسة مكالمة (Call Session)
|
||||
```
|
||||
PHP Backend:
|
||||
1. JWT Authentication
|
||||
2. البحث عن الطرف الآخر في الرحلة النشطة
|
||||
3. استدعاء Node.js signaling server: POST /sessions
|
||||
{ride_id, driver_id, passenger_id}
|
||||
4. إرسال FCM notification للطرف الآخر (type: incoming_call)
|
||||
5. إعادة session_id للطالب
|
||||
```
|
||||
|
||||
### 6.3 Signaling Server
|
||||
```
|
||||
URL: https://calls.intaleqapp.com
|
||||
Auth: VOICE_CALL_API_KEY (env)
|
||||
Events: authenticate, participant_joined, offer, answer, ice_candidate, call_ended
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. الميزات الصوتية المفقودة — فرص الابتكار
|
||||
|
||||
### 7.1 تحليل الفجوة (Gap Analysis)
|
||||
|
||||
| الميزة | سيرو | أوبر (Uber) | كريم (Careem) | Bolt | التوصية |
|
||||
|--------|------|-------------|---------------|------|---------|
|
||||
| تشغيل موسيقى في الكابينة | ❌ | ✅ (Spotify) | ❌ | ❌ | **عاجلة** |
|
||||
| راديو داخلي (Siro Radio) | ❌ | ❌ | ❌ | ❌ | **فرصة ذهبية** |
|
||||
| بودكاست/محتوى تعليمي | ❌ | ❌ | ❌ | ❌ | **ميزة فريدة** |
|
||||
| أوامر صوتية | ❌ | ❌ | ❌ | ❌ | **مستقبلية** |
|
||||
| Sound Zones (ترحيب/وداع) | ❌ | ❌ | ❌ | ❌ | **سهلة وسريعة** |
|
||||
| إعلانات صوتية مستهدفة | ❌ | ❌ | ❌ | ❌ | **مصدر دخل** |
|
||||
| AI Music Curator | ❌ | ❌ | ❌ | ❌ | **مبتكرة** |
|
||||
| تأثيرات صوتية محسنة | جزئي | ✅ | ✅ | ✅ | **تحسين** |
|
||||
| Voice Commands للملاحة | ❌ | ❌ | ❌ | ❌ | **مستقبلية** |
|
||||
|
||||
### 7.2 فرص الابتكار الصوتي
|
||||
|
||||
#### 🎵 فرصة 1: Siro Radio (راديو سيرو)
|
||||
```
|
||||
الوصف: إذاعة داخل التطبيق تبث:
|
||||
- موسيقى هادئة (خلفية للرحلة)
|
||||
- إعلانات تجارية (مصدر دخل إضافي)
|
||||
- نصائح للسائقين
|
||||
- أخبار المرور
|
||||
|
||||
التقنية: HLS Streaming + Audio Player
|
||||
الإيرادات: إعلانات صوتية مستهدفة
|
||||
التكلفة: منخفضة (Content licensing via royalty-free)
|
||||
التأثير: تمييز العلامة التجارية + إيرادات
|
||||
```
|
||||
|
||||
#### 🎵 فرصة 2: Spotify / Apple Music Integration
|
||||
```
|
||||
الوصف: ربط حساب المستخدم مع Spotify:
|
||||
- الراكب يتحكم بالموسيقى أثناء الرحلة
|
||||
- التشغيل عبر سماعات السيارة
|
||||
- قوائم تشغيل حسب المزاج
|
||||
|
||||
التقنية: Spotify SDK + Apple MusicKit
|
||||
التأثير: تجربة راكب متميزة
|
||||
الإيرادات: عمولة إحالة Premium
|
||||
```
|
||||
|
||||
#### 🎵 فرصة 3: Podcasts تعليمية
|
||||
```
|
||||
الوصف: محتوى صوتي تعليمي للسائقين:
|
||||
- تعلم اللغة الإنجليزية
|
||||
- السلامة المرورية
|
||||
- مهارات خدمة العملاء
|
||||
- قصص نجاح
|
||||
|
||||
التأثير: تحسين جودة السائقين + تمييز
|
||||
```
|
||||
|
||||
#### 🎵 فرصة 4: Voice Assistant (مساعد سيرو الصوتي)
|
||||
```
|
||||
الوصف: "مرحباً سيرو..."
|
||||
- "خذني إلى دمشق"
|
||||
- "اتصل بالراكب"
|
||||
- "شغّل موسيقى"
|
||||
- "كم ربحت اليوم؟"
|
||||
|
||||
التقنية: Speech-to-Text + NLP + TTS
|
||||
التأثير: واجهة تفاعل جديدة
|
||||
الجدول: 6-12 شهر
|
||||
```
|
||||
|
||||
#### 🎵 فرصة 5: Sound Zones (المؤثرات الصوتية)
|
||||
```
|
||||
الوصف: موسيقى ترحيبية عند بدء الرحلة:
|
||||
- 🎵 Sound Onboarding: موسيقى قصيرة عند بدء الرحلة
|
||||
- 🎵 Sound Departure: موسيقى وداع عند النزول
|
||||
- 🔔 Sound Alert: أصوات محسنة للتنبيهات
|
||||
|
||||
التأثير: تجربة عاطفية أفضل
|
||||
التنفيذ: 1-2 أسبوع
|
||||
```
|
||||
|
||||
#### 🎵 فرصة 6: الإعلانات الصوتية
|
||||
```
|
||||
الوصف: إعلانات صوتية مدتها 5-10 ثوانٍ:
|
||||
- قبل بدء الرحلة (للمستخدم)
|
||||
- أثناء انتظار السائق
|
||||
- بعد انتهاء الرحلة
|
||||
|
||||
الإيرادات: CPM (Cost Per Mille)
|
||||
الاستهداف: حسب الموقع، الوقت، تاريخ الرحلات
|
||||
}
|
||||
|
||||
---
|
||||
|
||||
## 8. خطة تطوير الموسيقى والترفيه الصوتي
|
||||
|
||||
### المرحلة 1: الأساسيات (شهر 1)
|
||||
| المهمة | الجهد | الأولوية |
|
||||
|--------|-------|----------|
|
||||
| Sound Zones (ترحيب/وداع) | 3 أيام | 🟢 عالية |
|
||||
| تحسين المؤثرات الصوتية | 3 أيام | 🟢 عالية |
|
||||
| مكتبة أصوات عالية الجودة | 2 يوم | 🟡 متوسطة |
|
||||
|
||||
### المرحلة 2: Siro Radio (شهر 2-3)
|
||||
| المهمة | الجهد | الأولوية |
|
||||
|--------|-------|----------|
|
||||
| HLS Streaming backend | 2 أسبوع | 🟢 عالية |
|
||||
| Audio Player UI | 1 أسبوع | 🟢 عالية |
|
||||
| اختيار المحتوى (موسيقى خالية من الحقوق) | 1 أسبوع | 🟡 متوسطة |
|
||||
| نظام الإعلانات الصوتية | 2 أسبوع | 🟡 متوسطة |
|
||||
|
||||
### المرحلة 3: التكامل مع Spotify (شهر 3-4)
|
||||
| المهمة | الجهد | الأولوية |
|
||||
|--------|-------|----------|
|
||||
| Spotify SDK integration | 2 أسبوع | 🟢 عالية |
|
||||
| التحكم بالموسيقى UI | 1 أسبوع | 🟢 عالية |
|
||||
| اختبار التكامل مع CarPlay | 1 أسبوع | 🟡 متوسطة |
|
||||
|
||||
### المرحلة 4: المحتوى التعليمي (شهر 4-6)
|
||||
| المهمة | الجهد | الأولوية |
|
||||
|--------|-------|----------|
|
||||
| منصة Podcasts | 2 أسبوع | 🟡 متوسطة |
|
||||
| إنتاج محتوى (10 حلقات) | 3 أسبوع | 🟡 متوسطة |
|
||||
| Voice Assistant الأساسي | 4 أسبوع | 🔴 طويلة الأجل |
|
||||
|
||||
---
|
||||
|
||||
## 9. دراسة الجدوى — ميزة الموسيقى
|
||||
|
||||
### 9.1 التكلفة التقديرية
|
||||
|
||||
| المكون | التكلفة التقديرية |
|
||||
|--------|-------------------|
|
||||
| Sound Zones + تحسين المؤثرات | $500 - $1,000 |
|
||||
| Siro Radio (تطوير + استضافة) | $3,000 - $5,000 |
|
||||
| Spotify Integration | $2,000 - $4,000 |
|
||||
| المحتوى التعليمي (Podcasts) | $1,000 - $2,000 |
|
||||
| **الإجمالي المقدر** | **$6,500 - $12,000** |
|
||||
|
||||
### 9.2 العائد المتوقع
|
||||
|
||||
| مصدر الإيرادات | التقدير الشهري (3 دول) |
|
||||
|-----------------|------------------------|
|
||||
| إعلانات Siro Radio | $500 - $2,000 |
|
||||
| Spotify Premium referrals | $200 - $800 |
|
||||
| محتوى مدفوع (Podcasts) | $100 - $500 |
|
||||
| تحسين الاحتفاظ بالركاب | غير مباشر — كبير |
|
||||
| **الإجمالي** | **$800 - $3,300/شهر** |
|
||||
|
||||
### 9.3 مؤشرات النجاح
|
||||
- **ROI المتوقع**: 6-12 شهر
|
||||
- **تأثير على الاحتفاظ بالركاب**: +15-25%
|
||||
- **تأثير على تقييم التطبيق**: +0.5 نجوم
|
||||
- **رضا السائقين (موسيقى خلفية)**: +20%
|
||||
|
||||
---
|
||||
|
||||
## الملخص
|
||||
|
||||
**الميزات الصوتية الحالية في سيرو محدودة بالتطبيقات الوظيفية** (TTS للملاحة، مكالمات، تسجيل) وتفتقر تماماً إلى أي عنصر ترفيهي أو موسيقي.
|
||||
|
||||
**هذه فجوة تنافسية كبيرة** — أوبر يتفوق بتكامله مع Spotify، ولا يوجد أي منافس إقليمي يقدم تجربة صوتية متكاملة. سيرو لديها فرصة ذهبية لتصبح **أول منصة نقل في المنطقة تقدم تجربة ترفيه صوتي متكاملة**.
|
||||
|
||||
**التوصية**: البدء فوراً بـ Sound Zones وتحسين المؤثرات (جهد قليل، تأثير كبير)، ثم Siro Radio (مصدر دخل جديد)، ثم Spotify Integration (ميزة تنافسية).
|
||||
|
||||
> "الموسيقى ليست رفاهية — إنها الميزة التنافسية القادمة في عالم النقل الذكي"
|
||||
Reference in New Issue
Block a user