talk.wasm : add audio pre-processing + bump memory

pull/179/head
Georgi Gerganov 2022-11-24 00:34:00 +02:00
parent be3b720f96
commit 37422ed733
No known key found for this signature in database
GPG Key ID: 449E073F9DC10735
4 changed files with 11 additions and 5 deletions

View File

@ -31,8 +31,8 @@ set_target_properties(${TARGET} PROPERTIES LINK_FLAGS " \
--bind \ --bind \
-s USE_PTHREADS=1 \ -s USE_PTHREADS=1 \
-s PTHREAD_POOL_SIZE=8 \ -s PTHREAD_POOL_SIZE=8 \
-s INITIAL_MEMORY=1400MB \ -s INITIAL_MEMORY=1600MB \
-s TOTAL_MEMORY=1400MB \ -s TOTAL_MEMORY=1600MB \
-s FORCE_FILESYSTEM=1 \ -s FORCE_FILESYSTEM=1 \
-s EXPORTED_RUNTIME_METHODS=\"['print', 'printErr', 'ccall', 'cwrap']\" \ -s EXPORTED_RUNTIME_METHODS=\"['print', 'printErr', 'ccall', 'cwrap']\" \
${EXTRA_FLAGS} \ ${EXTRA_FLAGS} \

View File

@ -34,7 +34,7 @@ In order to run this demo efficiently, you need to have the following:
- Latest Chrome or Firefox browser (Safari is not supported) - Latest Chrome or Firefox browser (Safari is not supported)
- Run this on a desktop or laptop with modern CPU (a mobile phone will likely not be good enough) - Run this on a desktop or laptop with modern CPU (a mobile phone will likely not be good enough)
- Speak phrases that are no longer than 10 seconds - this is the audio context of the AI - Speak phrases that are no longer than 10 seconds - this is the audio context of the AI
- The web-page uses about 1.4GB of RAM - The web-page uses about 1.6GB of RAM
Notice that this demo is using the smallest GPT-2 model, so the generated text responses are not always very good. Notice that this demo is using the smallest GPT-2 model, so the generated text responses are not always very good.
Also, the prompting strategy can likely be improved to achieve better results. Also, the prompting strategy can likely be improved to achieve better results.

View File

@ -513,7 +513,7 @@ bool gpt2_eval(
const int n_head = hparams.n_head; const int n_head = hparams.n_head;
const int n_vocab = hparams.n_vocab; const int n_vocab = hparams.n_vocab;
static size_t buf_size = 512u*1024*1024; static size_t buf_size = 640u*1024*1024;
static void * buf = malloc(buf_size); static void * buf = malloc(buf_size);
if (mem_per_token > 0 && mem_per_token*N > buf_size) { if (mem_per_token > 0 && mem_per_token*N > buf_size) {

View File

@ -504,7 +504,13 @@
function startRecording() { function startRecording() {
if (!context) { if (!context) {
context = new AudioContext({sampleRate: 16000, noiseSuppression: true}); context = new AudioContext({
sampleRate: 16000,
channelCount: 1,
echoCancellation: true,
autoGainControl: true,
noiseSuppression: true,
});
} }
Module.set_status(""); Module.set_status("");