概要
テーngxunクラウドのスマートオーラル評価(英語版)(Smart Oral Evaluation-English、SOE-E)は、テーngxunクラウドが提供する音声評価製品です。英語でのスピーチトレーニングの教育シーンに基づいて、テーngxunクラウドの音声処理技術を応用し、特徴量抽出、音声モデル、音声認識アルゴリズムを活用して、子供から大人までの英語の発音評価を高精度で提供しています。テーngxunクラウドのスマートオーラル評価(英語版)は、単語モードと文章モードの評価をサポートし、発話の多面的なフィードバックを提供し、英語でのスピーチトレーニングアプリケーションで広く応用できます。
本SDKは、スマートオーラル評価(英語版)のWebバージョンで、スマートオーラル評価(英語版)のネットワークAPIを呼び出してローカルオーディオファイルを処理し、シンプルな録音機能を提供しています。利用者はビジネスに焦点を当て、簡単に二次開発を行うことができます。
本文書ではWeb SDKについて説明し、詳細なネットワークAPIについてはAPIドキュメントを参照してください。
使用説明
SDK導入
Webページに以下のコードを追加するだけで済みます。
<script src="https://imgcache.qq.com/open/qcloud/soe/TencentSOE-0.0.1.js"></script>
オブジェクトの作成
new TencentSOE
項目 | 型 | 説明 | 必須 | デフォルト |
---|---|---|---|---|
InitUrl | 文字列 | 初期化インターフェースのアドレス | はい | なし |
TransUrl | 文字列 | スコアリングインターフェースのアドレス | はい | なし |
WorkMode | 整数 | アップロードモード:音声入力モード、0はストリーム式チャンク、1は1回性の評価 | いいえ | 0 |
EvalMode | 整数 | 評価モード、0:単語モード、1:文章モード | いいえ | 0 |
ScoreCoeff | 浮動小数点数 | 評価の厳しさ指数、1.0 - 4.0の範囲の浮動小数点数 異なる年齢グループのスコアをスムーズにするために使用、1.0は若い年齢グループ、4.0は最高の年齢グループ |
いいえ | 3.5 |
SoeAppId | 文字列 | ビジネスアプリケーションID、アカウントアプリケーションAPPIDとは関係なく、顧客がサービスを管理しやすいようにするパラメータ | いいえ | なし |
StorageMode | 整数 | オーディオストレージモード、0:ストレージしない、1:コモンオブジェクトストレージに保存、 結果出力はセッションの最後のチャンクTransmitOralProcess返却結果AudioUrlフィールド。 |
いいえ | なし |
success | 関数 | 作成成功コールバック | いいえ | なし |
error | 関数 | 作成失敗コールバック | いいえ | なし |
ユーザーはバックエンドインターフェースアドレスを自行置き換え、Node.jsバージョンはこのSDKを参考に let recorder = new TencentSOE({ InitUrl: 'http://127.0.0.1:3000/cgi/init', TransUrl: 'http://127.0.0.1:3000/cgi/trans', success() { // TODO }, error(err) { console.log(err); } });
メソッド
初期化
/**
* 初期化インターフェースを呼び出し、評価テキストを設定
* @param {
* success: function() {} // 成功コールバック
* error: function() {} // 失敗コールバック
* }
*/
recorder.init({
RefText: 'about',
success() {
recorder.start();
},
error(err) {
console.log(err);
}
});
録音開始
/**
* 録音を開始
* @param {
* error: function() {} // 録音中にエラーが発生した場合のコールバック、任意
* }
*/
recorder.start({
error(err) {
console.log(err);
}
});
録音停止
/**
* 録音を停止、評価結果を返却
* @param {
* success: function() {} // 成功コールバック
* error: function() {} // 失敗コールバック
* }
*/
recorder.stop({
success(res) {
// BLOBオブジェクトを取得、audioで再生
let audio = document.createElement('audio');
audio.setAttribute('controls', '');
let blobUrl = URL.createObjectURL(res.blob);
document.body.appendChild(audio);
// 評価スコアを出力
console.log(res.PronAccuracy)
},
error(err) {
console.log(err);
}
});
パラメータリセット
/**
* パラメータをリセット、要求パラメータを変更するために使用
* @param {Object} params
*/
recorder.reset({
WorkMode: 1
});
オンラインDemo
エラーコード
10000 | パラメータ形式が間違っている |
10001 | 現在のブラウザは録音機能をサポートしていない |
10002 | マイク로フォンへのアクセス許可がされていない |
10003 | 発音評価の初期化インターフェースを提供していない |
10004 | 発音データの送信インターフェースを提供していない |
10005 | 評価テキストを提供していない |
10020 | インターフェースエラー |
ヒント: 非ローカル環境ではhttpsプロトコルを使用しなければなりません
最小限の例
HTMLを作成し、TencentSOE SDKを導入し、以下のコードのようにします。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="//imgcache.qq.com/open/qcloud/soe/TencentSOE-0.0.1.js"></script>
</head>
<body>
<input type="text" value="about" id="word">
<button id="start">録音開始</button>
<button id="stop">録音停止</button>
<!-- 現在の状態を表示 -->
<span id="status"></span>
<!-- 評価結果を表示 -->
<div id="result"></div>
</body>
</html>
録音コードを記述:録音開始、録音停止、結果表示、コードは次のようになります。
let recorder = new TencentSOE({
InitUrl: 'http://127.0.0.1:3000/cgi/init',
TransUrl: 'http://127.0.0.1:3000/cgi/trans',
success(res) {
console.log('作成成功');
},
error(err) {
console.log('作成失敗');
},
});
startBtn.onclick = function () {
result.innerHTML = '';
status.textContent = '初期化中';
recorder.init({
RefText: word.value,
success(res) {
status.textContent = '録音中...';
recorder.start();
},
error(err) {
console.log('err', err);
}
});
};
stopBtn.onclick = function () {
recorder.stop({
success(res) {
status.textContent = '終了';
createAudioLinkFromBlob(res, 'wav');
},
error(err) {
console.log('err', err);
}
});
};
// オーディオ、ダウンロードリンクを作成
function createAudioLinkFromBlob(res, type) {
let audio = document.createElement('audio');
let alink = document.createElement('a');
let score = document.createElement('span');
let blobUrl = URL.createObjectURL(res.blob);
alink.download = 'demo.' + type;
alink.textContent = 'demo.' + type;
alink.href = blobUrl;
audio.src = blobUrl;
audio.setAttribute('controls', '');
score.textContent = 'スコア:' + res.PronAccuracy;
let container = document.createElement('div');
container.appendChild(audio);
container.appendChild(alink);
container.appendChild(score);
result.appendChild(container);
}
aiスピーキング
ドルフィンAIは言語学習アプリケーションのためのプロフェッショナルな発音評価API(pronunciation assessment api)ソリューションを提供します。音素、単語、文章、チャプター、発音矯正、単語矯正、クイズ、フリーダイアログ、多肢選択問題など幅広く提供しています。当社の発音評価製品(pronunciation assessment)は、英語と中国語、クラウドAPI、オンプレミス、オフラインデバイスの展開をサポートしています。当社の発音評価API(pronunciation assessment api)は、正確性、流暢性、完全性、リズムの次元をカバーする豊富な評価指標を提供し、音素、単語、文の異なるレベルの評価スコアも提供します。また、音素、単語、文の異なるレベルでの評価スコアも提供します。数千万人のユーザーに安定した効率的で安全なサービスを提供しています。ドルフィンAIの発音評価製品(pronunciation assessment)を試してみませんか?