Stap 6: Schrijven Software
Primaire componenten
CMU Sphinx is een open source stem erkenning project beheerd door het Carnegie Mellon. Het systeem bestaat uit twee delen: wetboek van de herkenning en bestanden met spraak en taalmodel. Het was makkelijk te compileren van de code van de bibliotheek voor Android. Er is een geweldig voorbeeld Gepost door CMU Sphinx de makers. Men kan het onderwijzen van CMU Sphinx van hun eigen uitspraak. Al men moet doen is om te registreren 20 zinnen en gedachte van de gegenereerde bestanden een meegeleverde hulpprogramma uitvoeren. Hierdoor kan de herkenningskwaliteit aanzienlijk toenemen. Wat meer is, kan men een taalmodel bouwen. Dit zou in principe herkenning vertellen welke woorden en zinnen te verwachten. In mijn geval was een primaire zinsdeel "oproep naam", waarbij naam staat voor een van de namen uit mijn adresboek. Met dergelijk model ook verhoogt de herkenningskwaliteit.
Men kan zich afvragen: waarom geen gebruik maken van Google Voice? Helaas, het is echt slecht op het begrijpen van mijn uitspraak. En het ook niet zo goed in het herkennen van de namen.
Men kan zich afvragen: waarom geen gebruik maken van speciale micro controller? Ik heb deze aanpak zeker beschouwd. Een oplossing was sensorische. Helaas, het leek te duur. Nou, leek het alsof ik zou moeten doen de dezelfde hoeveelheid werk, zoals bij CMU Sphinx en het leiden vergelijkbare kwaliteit tot zal, maar ik zou moeten betalen voor de chip.
"Geen toespraak generator" – ik was erg overtuigd in dit na het proberen van verschillende andere generatoren. Alle tekst naar spraak-engines gemaakt een zeer niet-natuurlijke stem. Zodoende, mij had voor vragen van een mens om op te nemen van alle zinnen die mijn telefoon kan eventueel vertellen. Wat is meer, had ik haar lezen elke zin meerdere tijd. Tijdens het afspelen kies ik een willekeurige versie van de zin; Dit leidt tot een sterke illusie van een echt mens aan de andere kant.
PJSIP – is een opensource-implementatie van het SIP stack. Met andere woorden, is het open VoIP-bibliotheek. Ik hoefde niet veel moeite mee: gedownload, opgesteld en gebruikt het. CSipSimple is een groot project open source die het ook gebruikt. Dit project is zeer nuttig, aangezien het sommige grote gebruiksbijvoorbeeld bevatte.
Men kan zich afvragen: waarom geen gebruik maken van Skype? Dit was mijn oorspronkelijke idee. Ik ben geabonneerd op Skype Developer Program. Helaas lezen end user license agreement, bleek dat Skype SDK niet kan worden geïnstalleerd op alle apparaten beheerd door Android.
Men kan zich afvragen: waarom niet SIP stack die is ingebouwd in Android? Helaas is de stack toegevoegd alleen in Android 2.3. Archos 28 draait 2.2.
Werkstroom
Wanneer is de telefoon van de haak:
- Wacht één seconde
- Zeggen "Telefoonnummer, alstublieft!"
- De erkenning van de stem van de start
- Als erkend "oproep naam", ga naar volgende, anders zeggen "Sorry, I didn't get die" en ga naar 3
- Zeg "Calling naam..."
- De erkenning van de stem van de start
- Als erkende "nee" of "stop" go to 2, anders ga naar volgende
- Een VoIP bellen
- Zeggen "Call geplaatst"
- Wacht totdat de oproep is afgebroken
- Zeggen "Call beëindigd"
Wanneer binnenkomende oproep wordt ontvangen beëindigen ring de bel en wacht totdat beide telefoon wordt opgepikt, of aan andere kant een oproep of 20 seconden pass. Bel met een tweede intervallen.
Android App formaat
Telefoontoepassing is eigenlijk een achtergrond dienst. Er is ook een licht-wait gebruikersapplicatie waarin de huidige status. De diensten wordt gestart bij het opstarten van de app of op gebruiker app lancering.
Waar te vinden van de bron
Alle code die ik heb geschreven kon worden gevonden op google code. U zou ook moeten downloaden en compileren van PJSIP en CMU Sfinx.