正如您可能知道的那樣,使用Android API實現語音到文本很容易。你所要做的只是調用API的意圖,它會爲你返回文本。我的情況有點不同,我有一個預先記錄的3GPP聲音文件,我從用戶那裏記錄下來並保存在SD卡上。我想知道是否有可能將其轉錄成任何其他語音識別的文本。語音到文本API是否允許上傳您自己的聲音文件進行處理?或者這是不可能的?從自己的聲音文件到文本的語音
回答
的API不允許這樣做,但看到this blog post and its comments一個潛在的解決方法。另外請確保您的文件包含高質量音頻(至少16位和16 kHz)以獲得更好的轉錄。
參見:
我得到了工作井有言論從聲音文件爲文本的解決方案。下面是我創建的一個簡單的Android項目link,以顯示解決方案的工作。另外,我在項目中放置了一些打印屏幕來說明應用程序。
我會盡量簡單地解釋我使用的方法。我在該項目中結合了兩個功能:Google Speech API和Flac錄製。
Google Speech API通過HTTP連接調用。 Mike Pultz給出了關於API的更多詳細信息:
「(...)新的[Google] API是一個全雙工流式API,這意味着它實際上使用兩個HTTP連接 - 一個POST請求上傳作爲「實時」分塊流的內容,以及訪問結果的第二個GET請求,這對於較長的音頻採樣或流式音頻更爲合理。「
然而,這個API需要接收FLAC聲音文件才能正常工作。這使得我們去第二部分:拉克記錄
我實現拉克記錄在該項目中,通過提取和來自被稱爲AudioBoo一個開源應用程序適應的代碼和庫的一些作品。 AudioBoo使用本地代碼來記錄和播放flac格式。
因此,它可以記錄一個後手的聲音,將其發送給谷歌語音API,獲取文本,並播放剛錄製的聲音。
我創造了該項目的基本原則,使其工作,可以針對具體情況加以改進。爲了使它在不同的場景下工作,有必要獲得Google Speech API密鑰,該密鑰由Google Chromium-dev組的一部分獲得。我在該項目中留下了一把鑰匙,以顯示它正在工作,但我最終會將其刪除。如果有人需要更多關於它的信息,讓我知道原因,我不能在這篇文章中添加2個以上的鏈接。
我安裝了NDK,修復了很多路徑和導入,但是您建議的項目不起作用。我不會因爲整個事情現在可能會被棄用而退縮... – Josh
這是目前無法發送自己的音頻文件,以谷歌的處理,而是你可以使用你的揚聲器和麥克風在你的Android設備上使用您的音頻文件作爲輸入到谷歌語音識別。
首先,你必須有這可能是你的SD卡,然後使用以下步驟的音頻文件:
1)創建任何名稱的方法,你想
2)方法首先寫的代碼中對於使用谷歌語音識別
3)下面的代碼編寫的代碼使用揚聲器播放音頻文件,那麼這將成爲作爲輸入到谷歌語音識別
//code for google voice recognition
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
getString(R.string.speech_prompt));
try {
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(),
getString(R.string.speech_not_supported),
Toast.LENGTH_SHORT).show();
//code for playing the audio file which you wish to give as an input
MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource(file); // here file is the location of the audio file you wish to use an input
mp.prepare();
mp.start();
} catch (Exception e) {
e.printStackTrace();
}
僅供參考,請參閱我的博客 https://sureshkumarask.wordpress.com/2017/03/19/how-to-give-our-own-audio-file-as-an-input-to-any-speech-recognizer/
我已經在我的博客中附上了java文件的鏈接。
- 1. 語音/語音到文本
- 2. 文本到語音(語音生成)和語音到文本(語音識別)API?
- 3. 用於「文本到語音」和「語音到文本」的C++ API
- 4. 谷歌的文本到語音引擎的聲音?
- 5. 文本到語音軟件
- 6. Nuance/NDEV文本轉語音[導入聲音文件]
- 7. 文本到語音
- 8. 文本到語音
- 9. 直接從音頻/轉錄語音到文本(語音識別)
- 10. C#文本到語音的聲音效果
- 11. 自定義文本到語音的語音
- 12. Android文本到語音男性語音
- 13. 通用文本到語音語音
- 14. 語音識別和文本到語音
- 15. 語音到文本 - Alexa語音服務
- 16. 來自Dialog的文本到語音
- 17. 更改文本到語音 - TTS到鈴聲音量
- 18. 從視頻和音頻文件中提取語音的文本
- 19. 如何找到與樣本聲音文件最匹配的聲音文件?
- 20. iphone開發:語音到文本和文本到語音
- 21. 語音文字到語音
- 22. Wav文件語音文本
- 23. 從AppWidgetProvider發送的文本到語音
- 24. Android:在通話期間播放聲音文件或文本到語音/ SIP
- 25. Java TTS(文本到語音)speech.properties文件
- 26. Windows 8語音文本和文本到語音API
- 27. Android文本語音切斷另一個文本到語音
- 28. .NET文本到語音音量
- 29. setStreamMute(STREAM_RING)靜音文本到語音android
- 30. 培訓新聲音(文本到語音)的最佳軟件是什麼?
嗯,該文章確實證明它發送一個聲音文件到服務器,並等待JSON回來。所以我想你需要在客戶端做的所有事情都是將3GPP文件轉換成FLAC併發布到服務器。希望這很簡單。 :) – Brian
它是否幫助你??因爲我做你以前所做的一樣.. –
這個解決方法的答案不再是功能。它依賴Google Speech v1 API,目前Google已經關閉了它。根據我的經驗,語音v2 API需要一個密鑰,並且根據我的經驗,它變得無法預測(我認爲應用程序每天可以做出的外部請求數量是有限的) –