CarpeDiem – MM project Τι είναι το CarpeDiem; Εφαρμογή προεπισκόπησης ηλεκτρονικού ταχυδρομείου, ημερολογίου και προβολής μετεωρολογικών προβλέψεων Εμπλουτισμένη με πολυμεσικές δυνατότητες (υπαγόρευση συνθετικού κειμένου, ηχητική ειδοποίηση, χρήση εξειδικευμένων εικόνων…) Παρέχει αυξημένη ευχρηστία χρησιμοποιώντας μια lightweight γραφική διεπαφή σε συνδυασμό με popup balloons, system tray,… A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Σκοποί της ανάπτυξης του CarpeDiem ● Αναλυτικές μετεωρολογικές προβλέψεις ● Βελτιωμένη ευχρηστία μέσω lightweight γραφικής διεπαφής ● Πολυμεσική αλληλεπίδραση ● Cross platform multimedia application ● Μάθηση και πειραματισμός με σύγχρονες πολυμεσικές και δικτυακές τεχνολογίες (TTS, Java sound processing, Swing, Image Processing, DOM, Java Mail API, JAF...) A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Επισκόπηση Συστήματος ➔ Το σύστημα σχεδιάστηκε ακολουθώντας μια προσέγγιση bottom-up συνεπώς μετά τον προσδιορισμό των απαιτήσεων από τα προηγούμενα στάδια της ανάλυσης που κάναμε καταλήξαμε στα βασικά υποσυστήματα από τα οποία θα αποτελείτε η εφαρμογή μας. Τα τέσσερα (4) κυριότερα είναι: – Το υποσύστημα παραγωγής συνθετικής ομιλίας από κείμενο (text to speech engine). – Το υποσύστημα ανάλυσης των δεδομένων του καιρού (weather engine). – Το υποσύστημα ελέγχου των νέων s (mail engine). – Το υποσύστημα υλοποίησης της ατζέντας / σημειωματάριου (memo engine). ➔ Παράλληλα με τα τέσσερα (4) βασικά υποσυστήματα υπάρχουν και τρία (3) ακόμη τα οποία χρησιμοποιούνται κυρίως για την συσχέτιση και σύνδεση των τεσσάρων παραπάνω συστημάτων σε μία ενιαία εφαρμογή ενώ παράλληλα προσδίδουν και μερικά ακόμη πολυμεσικά χαρακτηριστικά στο σύστημα μας. Αυτά είναι: – To υποσύστημα αναπαραγωγής αρχείων ήχου (sound engine). – Tο υποσύστημα της γραφική διεπαφής ελέγχου της εφαρμογής (graphical user interface – gui). – To υποσύστημα αλληλεπίδρασης Java Native Interface. A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Επισκόπηση Συστήματος A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Υποσύστημα memo engine A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Υποσύστημα memo engine ● Βιβλιοθήκη lib.hq.memoengine ● Τάξεις – MEMOMessage (αποθήκευση δομής μηνύματος) – MEMOException (χειρισμός εξαιρέσεων) – MEMOList (δομή αποθήκευση memos) – MEMOEngine (διάβασμα/εγγραφή αρχείου XML, προσθήκη/ διαγραφή MEMOS) – MEMOScheduler (ταξινόμηση λίστας, χρονοπρογραμματισμός υπενθυμίσεων) A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Υποσύστημα Text-To-Speech A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Υποσύστημα Text-To-Speech ● Βιβλιοθήκη lib.hq.ttsengine ● Τάξεις: – SynthesizerException(χειρισμός εξαιρέσεων) – TTSEngine(ταυτόχρονη φόρτωση περισσοτέρων του ενός synthesizers, interface επεξεργασίας του επιλεγμένου synthesizer, multithreading, σύνθεση ομιλίας από κείμενο…) – TTSSynthesizer(αποθήκευση ρυθμίσεων / παραμέτρων του συνθετικού ομιλητή, pitch, pitch range, speaking rate, voice) A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Υποσύστημα mail engine A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Υποσύστημα mail engine ● Βιβλιοθήκη lib.hq.mailengine ● Τάξεις – MAILAccount(αποθήκευση ρυθμίσεων:username,pass,aaddress,server,type…και των νέων μηνυμάτων) – MAILEngine(ταυτόχρονη φόρτωση περισσοτέρων του ενός account, σύνδεση και λήψη νέων s, διεπαφή ρύθμισης των accounts,multithreading…) – MAILException(χειρισμός εξαιρέσεων) – MAILMessage(περιγραφή/αποθήκευση ενός μυνήματος:sender,subject) A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Υποσύστημα weather engine A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Υποσύστημα weather engine ● Βιβλιοθήκη lib.hq.weatherengine ● Τάξεις: ● Forecast (αποθήκευση μιας πρόβλεψης: 1 LONGForecast & 5 SHORTForecasts για τις επόμενες 5 ημέρες, τοποθεσία,…) ● LONGForecast(αναλυτική πρόβλεψη: shortforecast & εικόνες για τις προβλέψεις, sunrise/sunset time, τελευταία ανανέωση, τοποθεσία παρατήρησης,…) ● SHORTForecat(συνοπτική πρόβλεψη: temperature, humidity, wind για τις ώρες της ημέρας αλλά και της νύχτας) ● WEATHEREngine(ταυτόχρονη φόρτωση περισσοτέρων της μίας τοποθεσίας, interface επεξεργασίας της επιλεγμένης τοποθεσίας, multithreading,…) A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Υποσύστημα JNI wrapper – Κλήση δυναμική βιβλιοθήκης.dll η οποία δημιουργεί system tray icon το οποιο υποστηρίζει και υλοποιεί τα events χειρισμού του. – Μέσω ειδικών κλάσσεων JNI υλοποιούμε το interface διασύνδεσης της βιβλιοθήκης με την υπόλοιπη εφαρμογή. A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Υποσύστημα Java sound ➔ Χρησιμοποιεί τις βιβλιοθήκες αναπαραγωγής ηχητικών αρχείων Mp3SPI και την Java sound ➔ Η βιβλιοθήκη sound της Java αναπαράγει μόνο τα αρχεία.wav (linear PCM format) και.mid ➔ Υλοποιεί interface που εκτελεί λογαριθμικούς μετασχηματισμούς έτσι ώστε να επιτρέπεται η αναπαραγωγή αρχείων.wav,.au,.aiff που έχουν κωδικοποιηθεί με logarithmic PCM format μέσα από την βιβλιοθήκη Java Sound ➔ Υλοποιεί interface επικοινωνίας με τη βιβλιοθήκη Mp3Spi έτσι ώστε να αναπαράγονται και αρχεία τύπου.mp3 μέσα από την βιβλιοθήκη Java Sound A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Swing / Εικόνες – Για τη δημιουργία του GUI χρησιμοποιήθηκε η βιβλιοθήκη Swing της Java – Τα περισσότερα εικονίδεια ανήκουν στη συλλογή Crystal Linux SVG – Τα δικά μας εικονίδεια σχεδιάστηκαν στο GIMP και είναι όλα της μορφής.png – Το layout του component των μετεορολογικών προβλέψεων στηρίζεται στο Liquid weather ++ του SuperKaramba A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Μελλοντικές προσθήκες ● Φωνητικός έλεγχος με χρήση του CMU Sphinx4 ● Χρήση animation στη γραφική διεπαφή ● Προσθήκη εορτολογίου ● Πολυγλωσσική υποστήριξη ● Εμπλουτισμός της τεχνολογίας Text-To-Speech ● Προσθήκη νέων components ● Debugging A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Βιβλιοθήκες / Αναφορές ➔ CRIMSON XML Tree – Apache Foundation ➔ FreeTTS – Carnegie Mellon University - ➔ Mp3SPI - ➔ Java Mail API - ➔ Java Activation Framework - ➔ Βιβλιοθήκες που αναπτύχθηκαν από εμάς – lib.hq.memoengine – lib.hq.weathereninge – lib.hq.ttsengine – lib.hq.mailengine ➔ JNI Swing Tray Icon - ➔ W3C DOM - ➔ Java Swing – A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project ➔ Βιβλιοθήκες / Αναφορές ➔ IDE: – Sun NetBeans – Borland JBuilder ➔ Επεξεργασία εικόνας: – GIMP 2.2 – ➔ Παρουσιάσεις, αναφορές – OpenOffice ➔ Java 2 Platform, Standard Edition (J2SE) – 1.5.0_ – 1.4.2_ A.U.E.B. CS Dep. Spring 05
CarpeDiem – MM project Αναπτύχθηκε από τους: Κεμερλή Βασίλειο ( ) – Παναγιώτη Παπαδόπουλο ( ) - Για το μάθημα Τεχνολογία Πολυμέσων – Τμήμα Πληροφορικής – Ο.Π.Α. 2004/2005Τεχνολογία Πολυμέσων Τμήμα Πληροφορικής Ο.Π.Α A.U.E.B. CS Dep. Spring 05