New language locally

Hello, need help.
is there a guide to setup voice-web on a local server, because i am in a hurry and need to build a small audio to text data in WOLOF language from multiple users.
Any quick way of doing this.
Thx in advance.

There are details which should help you with that here: https://github.com/mozilla/voice-web/blob/master/CONTRIBUTING.md#local-setup

thx i saw that and it worked thx. however after recording i can not validate recording due to this : Content Security Policy: The page’s settings blocked the loading of a resource at http://s3proxy/common-voice-corpus/6c243c07-7f27-486e-9c2e-d126c8aad283/19a680c10d8cf602ae227a509b04f974992e0e2a42ca96a3f57144c581f7ad91.mp3?AWSAccessKeyId=local-identity&Expires=1551430693&Signature=0GlsIGZEgzUh3ugOhzeGP6iR240%3D (“connect-src”).
Any help pls

I’m not in front of a computer so can’t look into it in much detail but when I used it, I was working with a proper AWS S3 bucket, whereas it looks like you’re using the s3proxy (within docker?) It might be worth trying to test the proxy by sending it some S3 commands just to verify that it does indeed work by itself.

Other point is whether it’s to do with HTTPS Vs HTTP as there can be Content Security Policy problems related to that - is your page being viewed via something like ngrok or is it all HTTP locally? Sorry, probably not the final answer, but might help you rule a few things out :slight_smile:

I ran into this as well, trying to set up for local development. I’m still not sure of the final solution, but it doesn’t appear that the s3 proxy is usable for fetching recordings, but only for uploading them, as they’re sent from the server container to the s3 proxy. When fetching them, a public URL is generated and returned to the client from the server. The problem is there: that public URL (http://s3proxy/...) is neither compatible with the CSP, nor accessible from the host machine/browser.

If docker-compose file is modified to give s3proxy a host port, it makes it accessible to the browser. Though there’s still the issue of the server and browser needing to address the s3proxy with a different host/ip. The server addresses it as s3proxy:80 but the browser needs to address it as localhost:8080 (or else modify the CSP and add a hosts file entry for s3proxy).

This works for me, though I’m not sure if it’s the best solution long term, since it adds s3proxy to the CSP and requires a host file change. The host file change is still far easier than setting up an s3 bucket and creds though. It seems that the puppet config overwrites the CSP anyway, so that part might not be a problem? https://github.com/xdumaine/voice-web/commit/a5363c599d1fcc33eb818dba5241cc84ae6fb056

2 Likes

Was looking for some solution like this one, yours gave me some hope but i’m still looking for how to do it, the link you provided is no longer working.
Can you please show me how to do it ?