我只是一个初学者,但我必须为学校使用这个。所以我使用了一个名为ml5.js的JavaScript库,它使用机器学习来检测你所说的话并在屏幕上显示,只有18个单词在数据库中。我用这个作为起点,但没有取得很大进展。
例如,当你说“left”这个词时,屏幕上会显示“left”,但当它显示时,我想在控制台输出“good fun”。经过几个小时的尝试,我还是没能解决这个问题,所以我希望有人能帮我。
所以我想如果resultP.html(results[0].label) = ‘left’,那么就console.log ‘Good fun’
我刚接触这个平台,但这是我的代码:
[HTML]
<!DOCTYPE html><html> *head* <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.7.3/p5.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.7.3/addons/p5.dom.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.7.3/addons/p5.sound.min.js"></script> <link rel="stylesheet" type="text/css" href="style.css"> <meta charset="utf-8" /> <script src="https://unpkg.com/[email protected]/dist/ml5.min.js"></script> </head> *body* <script src="sketch.js"></script> </body></html>
CSS
html, body { margin: 0; padding: 0; background-color: #FFF; } canvas { display: block; }
Javascript
console.log ('ml5 version:', ml5.version)let soundClassifier;var resultP;function preload() { let options = { probabilityThreshold: 0.94 }; soundClassifier = ml5.soundClassifier('SpeechCommands18w', options); }function setup() { createCanvas(400, 400); resultP = createP('waiting...'); resultP.style('font-size','32pt'); soundClassifier.classify(gotResults);}function gotResults(error, results) { if (error) { console.log('something went wrong'); console.error(error); } resultP.html(results[0].label); console.log (results[0].label) }function good (){ if (resultP.html(results[0].label) == 'left') { console.log ('good fun') } }
所以我想如果resultP.html(results[0].label) = ‘left’,那么就console.log ‘Good fun’
希望有人能帮到我
回答:
我觉得你已经很接近了!只需在你的gotResults()函数中调用你的good()函数,像这样:
console.log ('ml5 version:', ml5.version)let soundClassifier;var resultP;function preload() { let options = { probabilityThreshold: 0.94 }; soundClassifier = ml5.soundClassifier('SpeechCommands18w', options);}function setup() { createCanvas(400, 400); resultP = createP('waiting...'); resultP.style('font-size','32pt'); soundClassifier.classify(gotResults);}function gotResults(error, results) { if (error) { console.log('something went wrong'); console.error(error); } resultP.html(results[0].label); console.log (results[0].label); good(results[0].label);}function good (label){ if (label) === 'left') { console.log ('good fun') } }