このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
この例では,信号ラベラーで発声された単語にラベル付けする方法を示します。この例では,IBM® Watson Speech to Text API と Audio Toolbox™ ソフトウェアを使用します。以下の手順については、“语音转录(音频工具箱)を参照してください。
MATLAB®中央から入手可能な音频工具箱のspeech2text
拡張機能をダウンロードします。
IBM Cloudサービスから提供されているIBM Watson演讲APIを設定します。IBM Cloudアカウントと演讲文本サービスインスタンスを作成し,サービスダッシュボードに移動して,資格情報(APIキーとURLの値)をコピーしなければなりません。詳細については,IBMドキュメンテーションの入門チュートリアルを参照してください。
男性の声で話された“橡树强,和也给阴影”という文を含むオーディオデータファイルを読み込みます。信号は44.1 kHzでサンプリングされています。
(y, fs) = audioread (“oak.m4a”);%听到,键入soundsc(y,fs)
信号ラベラーを開きます。[ラベラー]タブで,[インポート]▼をクリックし,[メンバー]リストの从工作空间
を選択します。ダイアログボックスで,信号y
を選択します。
時間情報を追加します。ドロップダウンリストから时间
を選択し,サンプルレートとしてfs
(kHz単位)を指定します。
ダイアログボックスを閉じます。[ラベル付き信号セットブラウザー]に信号が表示されます。
信号に付加するラベルを定義します。[ラベラー]タブの(定義の追加)▼をクリックします。[ラベル名)に单词
を指定して,[ラベルタイプ]にROI
を選択し,[データ型)として字符串
と入力します。
オーディオファイルの発声された単語にラベル付けするカスタム関数を作成します。(関数stt
のコードは,後ほどこの例で示します)。詳細については,カスタムラベル付け関数を参照してください。
speech2text
PコードファイルとIBM Cloudの資格情報が格納されているJSONファイルを保存したディレクトリに移動します。
関数を作成するために,[ラベラー]タブの[値の自動処理)▼をクリックして,[カスタム関数の追加)を選択します。信号ラベラーにより,追加する関数の名前,説明,およびラベルタイプの入力を求めるダイアログボックスが表示されます。名前フィールドにstt
と入力し,[ラベルタイプ]としてROI
を選択します。説明フィールドは空のままにすることも,独自の説明を入力することもできます。
関数コードをコピーして,表示される空のテンプレートに貼り付けます。ファイルを保存します。関数がギャラリーに表示されます。
入力信号の発声された単語を検索して特定します。
[ラベル付き信号セットブラウザー]で,y
の横にあるチェックボックスをオンにします。
[ラベルの定義]ブラウザーで单词
を選択します。
[値の自動処理)ギャラリーで,stt
を選択します。
(自動ラベル付け]▼をクリックし,Auto-Label信号
を選択します。表示されるダイアログボックスで(好的)をクリックします。
信号ラベラーが発声された単語を検索してラベル付けします。
ラベル付き信号をエクスポートします。[ラベラー]タブで,[エクスポート]▼をクリックし,标记信号设置为文件
を選択します。表示されるダイアログボックスで,ラベル付き信号セットにTranscription.mat
という名前を付け,オプションで簡単な説明を追加します。[エクスポート]をクリックします。
MATLAB®コマンドウィンドウに戻ります。ラベル付き信号セットを読み込みます。このセットのメンバーは1つのみです。ラベルの名前を取得し,その名前を使用して,文字に起こされた単語を取得して表示します。
负载转录ln = getLabelNames (transcribedAudio);v = getLabelValues (transcribedAudio 1 ln)
v =7×2表ROILimits价值 ____________ ________ 0.59 - 0.97 0.09 - 0.56“橡树””是“1 1.78“强有力”的1.94 - 2.19”和“2.22 - 2.67”也“2.67 - 3.22”给“3.25 - 3.91“阴影”
ラベル値を文字列からカテゴリに変更します。signalMask
オブジェクトを使用して,単語ごとに異なる色を使用して信号をプロットします。
v.Value =分类(v.Value v.Value);msk = signalMask (v,“SampleRate”fs);s = getSignal (transcribedAudio, 1);s.y plotsigroi (msk)
stt
:発声された単語の検索と特定この関数は,IBM APIと音频工具箱の沃森演讲speech2text
拡張機能を使用して,オーディオファイルから発声された単語を抽出します。
函数[labelVals,labelLocs] = stt(x,t, parentLabelLoc,varargin) aspeechObjectIBM = speechClient(“IBM”,“时间戳”,真正的);fs = 1 / (t (2) - t (1));tixt = speech2text (aspeechObjectIBM x, fs);numLabels =元素个数(tixt.TimeStamps {:});labelVals =字符串(numLabels, 1);labelLocs = 0 (numLabels, 2);为idx = 1:numLabels labelVals(idx) = tix. timestamps {:}{idx}{1};labelLocs (idx 1) = tixt.TimeStamps {:} {idx} {2};labelLocs (idx 2) = tixt.TimeStamps {:} {idx} {3};结束结束