Re: Web Speech API Installation Build Flags

2015-05-07 Thread kdavis
On Wednesday, May 6, 2015 at 10:29:29 PM UTC+2, Nicholas Alexander wrote:
> On Tue, May 5, 2015 at 10:36 PM,  wrote:
> 
> > We would like some feedback on build flags for the Web Speech API
> > installation.
> >
> > More specifically, we are planning to land an initial version of the Web
> > Speech API[1] into Geko. However, due to a number of factors, model size
> > being one of them, we plan to introduce various build flags which
> > install/do not install parts of the Web Speech API for various build
> > targets.
> >
> > Our current plan for B2G is as follows:
> >
> > 1. Introduce a flag to control installation of the Web Speech API
> > 2. Introduce a flag to control installation of  Pocketsphinx[2], the
> > STT/TTS engine.
> > 3. Introduce a script to allow installation of models, allowing developers
> > to test the Web Speech API (They can test once they've made a build with
> > the previous two flags on)
> >
> > Our question is related to desktop and Fennec. Our current plan is to:
> >
> > 1. Introduce a flag to control installation of the Web Speech API +
> > Pocketsphinx + English model[3]
> >
> 
> For Fennec, that's about right -- a build flag should control building and
> shipping all (or parts) of this, and a Gecko pref controls enabling the
> feature (exposing it to web content).  There are numerous examples, and see
> [1] and [2] for Fennec specific notes.
> 
> Fennec is extremely concerned about its APK size and is very unlikely to
> ship the large model files that the Web Speech API relied on many moons ago
> when I looked at it.  I encourage you to f? me and mfinkle on Fennec build
> patches, and to pursue Fennec-specific discussion on mobile-firefox-dev.
> 
> Nick
> 
> [1]
> http://www.ncalexander.net/blog/2014/07/09/how-to-land-a-fennec-feature-behind-a-build-flag/
> [2]
> http://www.ncalexander.net/blog/2015/02/13/how-to-update-and-test-fennec-feature-build-flags/
> 
> 
> >
> > The question is: Is this a good plan for desktop and Fennec? Should there
> > be more/less fine grade control for installation there?
> >
> > [1] https://dvcs.w3.org/hg/speech-api/raw-file/tip/webspeechapi.html
> > [2] http://cmusphinx.sourceforge.net/
> > [3] Initially we will work only with English and introduce a mechanism to
> > install other models later.
> > ___
> > dev-platform mailing list
> > dev-platform@lists.mozilla.org
> > https://lists.mozilla.org/listinfo/dev-platform
> >

Nick

Thanks for the detailed feedback! I'll start a separate Fennec specific 
discussion on mobile-firefox-dev.

As far as Fennec is concerned, we can make the installation not include the a 
model, but have the Fennec plan mirror the B2G plan and have model(s) 
downloadable/installable by interested devs. This can be a solution for 
nightly, until a final solution for model installation is decided upon.

Best
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Web Speech API Installation Build Flags

2015-05-06 Thread Nicholas Alexander
On Tue, May 5, 2015 at 10:36 PM,  wrote:

> We would like some feedback on build flags for the Web Speech API
> installation.
>
> More specifically, we are planning to land an initial version of the Web
> Speech API[1] into Geko. However, due to a number of factors, model size
> being one of them, we plan to introduce various build flags which
> install/do not install parts of the Web Speech API for various build
> targets.
>
> Our current plan for B2G is as follows:
>
> 1. Introduce a flag to control installation of the Web Speech API
> 2. Introduce a flag to control installation of  Pocketsphinx[2], the
> STT/TTS engine.
> 3. Introduce a script to allow installation of models, allowing developers
> to test the Web Speech API (They can test once they've made a build with
> the previous two flags on)
>
> Our question is related to desktop and Fennec. Our current plan is to:
>
> 1. Introduce a flag to control installation of the Web Speech API +
> Pocketsphinx + English model[3]
>

For Fennec, that's about right -- a build flag should control building and
shipping all (or parts) of this, and a Gecko pref controls enabling the
feature (exposing it to web content).  There are numerous examples, and see
[1] and [2] for Fennec specific notes.

Fennec is extremely concerned about its APK size and is very unlikely to
ship the large model files that the Web Speech API relied on many moons ago
when I looked at it.  I encourage you to f? me and mfinkle on Fennec build
patches, and to pursue Fennec-specific discussion on mobile-firefox-dev.

Nick

[1]
http://www.ncalexander.net/blog/2014/07/09/how-to-land-a-fennec-feature-behind-a-build-flag/
[2]
http://www.ncalexander.net/blog/2015/02/13/how-to-update-and-test-fennec-feature-build-flags/


>
> The question is: Is this a good plan for desktop and Fennec? Should there
> be more/less fine grade control for installation there?
>
> [1] https://dvcs.w3.org/hg/speech-api/raw-file/tip/webspeechapi.html
> [2] http://cmusphinx.sourceforge.net/
> [3] Initially we will work only with English and introduce a mechanism to
> install other models later.
> ___
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
>
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Web Speech API Installation Build Flags

2015-05-06 Thread kdavis
On Wednesday, May 6, 2015 at 9:40:47 AM UTC+2, Xidorn Quan wrote:
> On Wed, May 6, 2015 at 7:24 PM,  wrote:
> 
> > On Wednesday, May 6, 2015 at 8:00:44 AM UTC+2, Xidorn Quan wrote:
> > > On Wed, May 6, 2015 at 5:36 PM,  wrote:
> > >
> > > > We would like some feedback on build flags for the Web Speech API
> > > > installation.
> > > >
> > > > More specifically, we are planning to land an initial version of the
> > Web
> > > > Speech API[1] into Geko. However, due to a number of factors, model
> > size
> > > > being one of them, we plan to introduce various build flags which
> > > > install/do not install parts of the Web Speech API for various build
> > > > targets.
> > > >
> > > > Our current plan for B2G is as follows:
> > > >
> > > > 1. Introduce a flag to control installation of the Web Speech API
> > > > 2. Introduce a flag to control installation of  Pocketsphinx[2], the
> > > > STT/TTS engine.
> > > > 3. Introduce a script to allow installation of models, allowing
> > developers
> > > > to test the Web Speech API (They can test once they've made a build
> > with
> > > > the previous two flags on)
> > > >
> > > > Our question is related to desktop and Fennec. Our current plan is to:
> > > >
> > > > 1. Introduce a flag to control installation of the Web Speech API +
> > > > Pocketsphinx + English model[3]
> > > >
> > > > The question is: Is this a good plan for desktop and Fennec? Should
> > there
> > > > be more/less fine grade control for installation there?
> > > >
> > >
> > > I think for desktop and fennec, some of the systems already provide APIs
> > > for TTS and STT. At least, Android has both of them [1][2], Mac also does
> > > [3]. Windows should have, but I'm not sure what form do they provide.
> > >
> > > I think for those systems, it's probably better to use their API, so that
> > > we provide the same experience as their native apps, and allow us not to
> > > include the engine ourselves.
> >
> > I think the Web Speech API[1] serves a difference audience.
> >
> > It is a JavaScript API that web applications can access. In addition the
> > web Speech API will be the same across various OS's, allowing web
> > applications to do STT/TTS in a OS independent manner from web applications.
> >
> > So, the introduction of the Web Speech API does not stop people from
> > writing native code, which they can always do. It does, however, greatly
> > ease and standardize cross platform STT/TTS.
> >
> 
> I meant, we do not need to include the speech engines in Firefox. We just
> need adaptors to use those system APIs, instead of Pocketsphinx, to provide
> the speech service for web applications. That way, we can provide the
> feature as powerful as what the systems have already provided. e.g. OS X
> currently supports TTS for tens of languages, and STT for around ten
> languages.
> 
> - Xidorn

I don't think your approach is excluded. In fact it is encouraged. The Web 
Speech API can support more than one backend at a time and in future we will 
add other backends, likely including the native backends you mentioned.

However, as a first step we want to use only Pocketsphinx. (This simplifies the 
initial task of implementation as we can concentrate on a single backend.) 
Later we will add other STT/TTS backends which will likely include the various 
native backends you mentioned.
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Web Speech API Installation Build Flags

2015-05-06 Thread Xidorn Quan
On Wed, May 6, 2015 at 7:24 PM,  wrote:

> On Wednesday, May 6, 2015 at 8:00:44 AM UTC+2, Xidorn Quan wrote:
> > On Wed, May 6, 2015 at 5:36 PM,  wrote:
> >
> > > We would like some feedback on build flags for the Web Speech API
> > > installation.
> > >
> > > More specifically, we are planning to land an initial version of the
> Web
> > > Speech API[1] into Geko. However, due to a number of factors, model
> size
> > > being one of them, we plan to introduce various build flags which
> > > install/do not install parts of the Web Speech API for various build
> > > targets.
> > >
> > > Our current plan for B2G is as follows:
> > >
> > > 1. Introduce a flag to control installation of the Web Speech API
> > > 2. Introduce a flag to control installation of  Pocketsphinx[2], the
> > > STT/TTS engine.
> > > 3. Introduce a script to allow installation of models, allowing
> developers
> > > to test the Web Speech API (They can test once they've made a build
> with
> > > the previous two flags on)
> > >
> > > Our question is related to desktop and Fennec. Our current plan is to:
> > >
> > > 1. Introduce a flag to control installation of the Web Speech API +
> > > Pocketsphinx + English model[3]
> > >
> > > The question is: Is this a good plan for desktop and Fennec? Should
> there
> > > be more/less fine grade control for installation there?
> > >
> >
> > I think for desktop and fennec, some of the systems already provide APIs
> > for TTS and STT. At least, Android has both of them [1][2], Mac also does
> > [3]. Windows should have, but I'm not sure what form do they provide.
> >
> > I think for those systems, it's probably better to use their API, so that
> > we provide the same experience as their native apps, and allow us not to
> > include the engine ourselves.
>
> I think the Web Speech API[1] serves a difference audience.
>
> It is a JavaScript API that web applications can access. In addition the
> web Speech API will be the same across various OS's, allowing web
> applications to do STT/TTS in a OS independent manner from web applications.
>
> So, the introduction of the Web Speech API does not stop people from
> writing native code, which they can always do. It does, however, greatly
> ease and standardize cross platform STT/TTS.
>

I meant, we do not need to include the speech engines in Firefox. We just
need adaptors to use those system APIs, instead of Pocketsphinx, to provide
the speech service for web applications. That way, we can provide the
feature as powerful as what the systems have already provided. e.g. OS X
currently supports TTS for tens of languages, and STT for around ten
languages.

- Xidorn
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Web Speech API Installation Build Flags

2015-05-06 Thread kdavis
On Wednesday, May 6, 2015 at 8:00:44 AM UTC+2, Xidorn Quan wrote:
> On Wed, May 6, 2015 at 5:36 PM,  wrote:
> 
> > We would like some feedback on build flags for the Web Speech API
> > installation.
> >
> > More specifically, we are planning to land an initial version of the Web
> > Speech API[1] into Geko. However, due to a number of factors, model size
> > being one of them, we plan to introduce various build flags which
> > install/do not install parts of the Web Speech API for various build
> > targets.
> >
> > Our current plan for B2G is as follows:
> >
> > 1. Introduce a flag to control installation of the Web Speech API
> > 2. Introduce a flag to control installation of  Pocketsphinx[2], the
> > STT/TTS engine.
> > 3. Introduce a script to allow installation of models, allowing developers
> > to test the Web Speech API (They can test once they've made a build with
> > the previous two flags on)
> >
> > Our question is related to desktop and Fennec. Our current plan is to:
> >
> > 1. Introduce a flag to control installation of the Web Speech API +
> > Pocketsphinx + English model[3]
> >
> > The question is: Is this a good plan for desktop and Fennec? Should there
> > be more/less fine grade control for installation there?
> >
> 
> I think for desktop and fennec, some of the systems already provide APIs
> for TTS and STT. At least, Android has both of them [1][2], Mac also does
> [3]. Windows should have, but I'm not sure what form do they provide.
> 
> I think for those systems, it's probably better to use their API, so that
> we provide the same experience as their native apps, and allow us not to
> include the engine ourselves.
> 
> [1]
> https://developer.android.com/reference/android/speech/SpeechRecognizer.html
> [2]
> https://developer.android.com/reference/android/speech/tts/TextToSpeech.html
> [3]
> https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Speech/Speech.html
> 
> - Xidorn

I think the Web Speech API[1] serves a difference audience.

It is a JavaScript API that web applications can access. In addition the web 
Speech API will be the same across various OS's, allowing web applications to 
do STT/TTS in a OS independent manner from web applications.

So, the introduction of the Web Speech API does not stop people from writing 
native code, which they can always do. It does, however, greatly ease and 
standardize cross platform STT/TTS.

[1] https://dvcs.w3.org/hg/speech-api/raw-file/tip/webspeechapi.html
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Web Speech API Installation Build Flags

2015-05-05 Thread Xidorn Quan
On Wed, May 6, 2015 at 5:36 PM,  wrote:

> We would like some feedback on build flags for the Web Speech API
> installation.
>
> More specifically, we are planning to land an initial version of the Web
> Speech API[1] into Geko. However, due to a number of factors, model size
> being one of them, we plan to introduce various build flags which
> install/do not install parts of the Web Speech API for various build
> targets.
>
> Our current plan for B2G is as follows:
>
> 1. Introduce a flag to control installation of the Web Speech API
> 2. Introduce a flag to control installation of  Pocketsphinx[2], the
> STT/TTS engine.
> 3. Introduce a script to allow installation of models, allowing developers
> to test the Web Speech API (They can test once they've made a build with
> the previous two flags on)
>
> Our question is related to desktop and Fennec. Our current plan is to:
>
> 1. Introduce a flag to control installation of the Web Speech API +
> Pocketsphinx + English model[3]
>
> The question is: Is this a good plan for desktop and Fennec? Should there
> be more/less fine grade control for installation there?
>

I think for desktop and fennec, some of the systems already provide APIs
for TTS and STT. At least, Android has both of them [1][2], Mac also does
[3]. Windows should have, but I'm not sure what form do they provide.

I think for those systems, it's probably better to use their API, so that
we provide the same experience as their native apps, and allow us not to
include the engine ourselves.

[1]
https://developer.android.com/reference/android/speech/SpeechRecognizer.html
[2]
https://developer.android.com/reference/android/speech/tts/TextToSpeech.html
[3]
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Speech/Speech.html

- Xidorn
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform