2023년 8월 15일 화요일

tts C# ms Azure버전

기본적으로 tts엔진은 윈도우에 들어가 있다..

c# 에서 기본적으로 깔려있는 tts 엔진을 사용하려면

using System.Speech 를 선언하고 SpeechSynthesizer를 통하여

재생하면된다.


근데..  이거 완전 못들어 주겠다.. (기계음 ㅈㄴ 이상해)

그러려니 하고 넘어갔는데 ms 엣지에서 pdf파일에서 음성을 읽어주는걸

들어봤는데 완전 매끄럽게 읽어주더라.  개쩔음..


와.. 그럼 이건 다른거자너.. 해서 알아봤는데

Azure 서비스에 가입해서 해당 리소스를 구독하면 기능을 사용할수가 있었다.

(첫등록 25만원줌..)    에저서비스 등록하고 사용할때는 

클라우드 컴퓨팅 서비스 | Microsoft Azure  

여기에 들어가서 회원가입하고 로그인해서 콘솔들어가면

기본구독 서비스에서 리소스를 생성해서 Congnitive Services를 추가한다.







위과정을 완료하면 Key and Endpoint에 들어가면 접근키1를 부여받게 된다.

이키를 잘저장한후

c# 프로그램을 하나 만든다.

nuget에서 Microsoft.CognitiveServeces.Speech를 검색하고 설치!!


코드는 다음처럼


string subkey = "Your Access Key";

string region = "koreacentral";


var config = SpeechConfig.FromSubscription(subkey, region);

config.SpeechSynthesisLanguage = "Korean";

config.SpeechSynthesisVioceName = "ko-KR-SoonBokNeural";        //ko_KR-SunHiNeural  이게 기본임

using (var syth = new Speechsynthesizer(config))

{

    string textToSpeech = "이거슨 텍스트를 말로하는 거시다.";

    using (var result = await syth.SpeakTextAsync(textToSpeech))

    {

        if (result.Reason === ResultReason.SynthesizingAudioCompleted)

        {

            byte[] audio = result.AudioData;

            if (audio.Length > 0)

            {

                using (MemoryStream ms = new MemoryStream(audio))

                {

                   //파일저장

                }

            }

        }

    }

}



요로코롬하면 텍스트가 재생된다.

발음이 내가 들어본 tts 엔진중에 제일 깔끔한것 같다.



어쨌든..  기존꺼보다는 100배 낫다.

azure크레딧 25만원 주니까 그전까지는 무료인.. -_-;;;


댓글 없음:

댓글 쓰기