꼬반 Blog

[클라우드] 변경된 Naver TTS(CSS) API 사용해보기

이전 포스트에 (http://ifmkl.tistory.com/354) Naver OpenAPI 인 Clova Speech Synthesis API 사용하기를 작성했었습니다. 그런데 오랜만에 들어가보니 해당 API가 NBP(네이버 비즈니스 플랫폼 - 클라우드 서비스)쪽으로 이관되었더군요.. 즉 무료에서 -> 유료가 되었습니다... 다만 네이버 비즈니스 플랫폼의 경우 신규 사용자에겐 30만 크레딧을 제공하므로 이 크레딧 유효 기간동안은 테스트는 해볼수 있을 듯합니다. 변경된 개발 문서는 http://docs.ncloud.com/ko/naveropenapi_v2/naveropenapi-4-2.html 이고 NBP 가입 후 로그인 후 콘솔에서 접속하면 다음 메뉴에서 api 를 신청할 수 있습니다. 어플리케이션 ..

Read More

[클라우드] 네이버 클라우드 플랫폼 사용해보기

네이버 클라우드 플랫폼 사용해보기 신규 가입자에게 30만 크레딧을 제공하고 있고 HDD - Micro Type 서버는 1년 무료 사용이 가능하다 가입 후 결제 수단을 등록하면 30만 크레딧을 받을 수 있다. 서버 생성 후 간단한 어플리케이션 올려서 테스트 해봐야 겠다. 전에 테스트 했었던 Clova 음성 합성을 웹에서 선택해서 테스트 할수 있게 Vue로 화면 만들고 Golang 으로 백엔드 해서 api 연동시켜서 올려둘 예정.

Read More

[Golang] Golang으로 Naver TTS (Clova Speech Synthesis API) 사용하기

Naver TTS API를 사용하기 위해서는 먼저 아래 링크를 참고하여 API 이용신청을 먼저 해야 한다. https://developers.naver.com/docs/clova/api/#/CSS/API_Guide.md#clova-speech-synthesis-api-가이드 이후 발급받은 키와 시크릿 키를 가지고 진행한다. 위 가이드에는 Golang 구현 예제가 없어 아래와 같이 테스트 해보았다. (소스는 테스트 목적으로 허접...) 다른 언어들의 경우 대부분 위 링크에 나와 있으니 참고할 것. 123456789101112131415161718192021222324252627282930313233343536373839404142434445package main import ( "bytes" "fmt" "..

Read More

[ReactJS] 기본 개발 환경

요즘 ReactJS 를 공부하는 기본 개발 환경을 정리한다. Boilderplate ReactJS : create-react-app (참조 : https://github.com/facebookincubator/create-react-app)(설명 : facebook 팀의 공식 프로젝트. 설명이 더 필요한가!?) ExpressJS : express-es6-rest-api(참조 : https://github.com/developit/express-es6-rest-api)(설명 : 여러 Boilerplate 가 있지만 개인적으로 이 프로젝트가 맘에 든다.) koa : koa2-server-boilerplate(참조: https://github.com/yankouskia/koa2-server-boilerplat..

Read More

[클라우드] 변경된 Naver TTS(CSS) API 사용해보기

이전 포스트에 (http://ifmkl.tistory.com/354) Naver OpenAPI 인 Clova Speech Synthesis API 사용하기를 작성했었습니다.


그런데 오랜만에 들어가보니 해당 API가 NBP(네이버 비즈니스 플랫폼 - 클라우드 서비스)쪽으로 이관되었더군요..


즉 무료에서 -> 유료가 되었습니다...


다만 네이버 비즈니스 플랫폼의 경우 신규 사용자에겐 30만 크레딧을 제공하므로 이 크레딧 유효 기간동안은


테스트는 해볼수 있을 듯합니다.


변경된 개발 문서는 http://docs.ncloud.com/ko/naveropenapi_v2/naveropenapi-4-2.html 이고


NBP 가입 후 로그인 후 콘솔에서 접속하면 다음 메뉴에서 api 를 신청할 수 있습니다.



어플리케이션 등록 -> 클로바에 CSS 체크하여 신청하면 됩니다. 그러면 한도 설정을 할 수 있는데 당일 / 당월 설정이 가능하고 요금은


월 300만자 기준으로 12,000원 (VAT별도) 정도 나옵니다. 


기존의 소스는 동일하고 다만 기존 소스의 


api_uri가 https://openapi.naver.com/v1/voice/tts.bin --> https://naveropenapi.apigw.ntruss.com/voice/v1/tts 으로 변경 되었고

api_key는 신청한 어플리케이션의 client_id / api_secret는 client_secret 으로 사용하면 됩니다.

이후 헤더에 추가하는


 req.Header.Add("X-Naver-Client-Id", client_key)
 req.Header.Add("X-Naver-Client-Secret", client_secret)

는 아래 처럼 변경해줍니다.


 req.Header.Add("X-NCP-APIGW-API-KEY-ID", client_id)
 req.Header.Add("X-NCP-APIGW-API-KEY", client_secret)

그러면 소스를 다시 빌드하여 실행하고 로컬에서 테스트하면


# curl "localhost:3000/tts"

# ls

api api.go out.mp3


으로 잘 실행되는 것을 확인할 수 있습니다.

반응형

Article By 꼬반

*certificate* : VCP 5(2012), RHCSA 7 (2014), RHCE 7 (2015), RHCSA in REDHAT OpenStack(2017) *development language* : Javascript, NodeJS, Golang, html5, css3, shell script *middle ware* : NGINX, Apache, Tomcat, Docker, Docker Swarm, Mesos, Kubernetes, HCI,

Discuss about post

[클라우드] 네이버 클라우드 플랫폼 사용해보기

네이버 클라우드 플랫폼 사용해보기


신규 가입자에게 30만 크레딧을 제공하고 있고


HDD - Micro Type 서버는 1년 무료 사용이 가능하다


가입 후 결제 수단을 등록하면 30만 크레딧을 받을 수 있다.


서버 생성 후 간단한 어플리케이션 올려서 테스트 해봐야 겠다.


전에 테스트 했었던 Clova 음성 합성을 웹에서 선택해서 테스트 할수 있게


Vue로 화면 만들고 Golang 으로 백엔드 해서 api 연동시켜서 올려둘 예정.



반응형

Article By 꼬반

*certificate* : VCP 5(2012), RHCSA 7 (2014), RHCE 7 (2015), RHCSA in REDHAT OpenStack(2017) *development language* : Javascript, NodeJS, Golang, html5, css3, shell script *middle ware* : NGINX, Apache, Tomcat, Docker, Docker Swarm, Mesos, Kubernetes, HCI,

Discuss about post

[Golang] Golang으로 Naver TTS (Clova Speech Synthesis API) 사용하기

Naver TTS API를 사용하기 위해서는 먼저 아래 링크를 참고하여 API 이용신청을 먼저 해야 한다.


https://developers.naver.com/docs/clova/api/#/CSS/API_Guide.md#clova-speech-synthesis-api-가이드


이후 발급받은 키와 시크릿 키를 가지고 진행한다.


위 가이드에는 Golang 구현 예제가 없어 아래와 같이 테스트 해보았다. (소스는 테스트 목적으로 허접...)


다른 언어들의 경우 대부분 위 링크에 나와 있으니 참고할 것.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package main
 
import (
    "bytes"
    "fmt"
    "io"
    "net/http"
    "net/url"
    "os"
 
    "github.com/gin-gonic/gin"
)
 
func main() {
 
    router := gin.Default()
 
    router.GET("/tts", func(c *gin.Context) {
        api_uri := "https://openapi.naver.com/v1/voice/tts.bin"
        client_key := "api_key"
        client_secret := "api_secret"
 
        data := url.Values{}
        data.Set("speaker""clara")
        data.Add("speed""0")
        data.Add("text""Hello, Clara.")
 
        client := &http.Client{}
        req, _ := http.NewRequest("POST", api_uri, bytes.NewBufferString(data.Encode()))
        req.Header.Add("Content-Type""application/x-www-form-urlencoded; charset=UTF-8")
        req.Header.Add("X-Naver-Client-Id", client_key)
        req.Header.Add("X-Naver-Client-Secret", client_secret)
 
        resp, _ := client.Do(req)
        fmt.Println(resp.Status)
 
        defer resp.Body.Close()
        out, _ := os.Create("out.mp3")
        io.Copy(out, resp.Body)
 
        c.JSON(http.StatusOK, gin.H{
            "result""ok",
        })
    })
}
cs


이걸 테스트 한 목적은 이전 글에서 작성한 것처럼 토익 공부 중에 오답노트 웹앱을 만드는데


LC를 어떻게 하면 좋을까 생각하다가 TTS API를 활용해보기로 한것.


Golang 을 백엔드로 사용하고 있기 때문에 Golang 으로 구현해보았고 이걸 이용해서 LC 오답문제를


불러오면 해당 메세지를 위 api로 mp3로 변환 후 재생해줄 예정이다. 


다만 미흡한 점이 메세지가 바로 바로 재생되고 중간에 스페이스로 메세지간에 공백을 넣어도 문장 간 여백을


설정할 수 없는 점이 있다. 아쉬운 부분이 있지만 Naver TTS API 품질이 생각보다 만족스러워서 다행이다.


참고 링크

https://stackoverflow.com/questions/19253469/make-a-url-encoded-post-request-using-http-newrequest

https://stackoverflow.com/questions/16311232/how-to-pipe-an-http-response-to-a-file-in-go

http://golang.site/go/article/103-HTTP-POST-%ED%98%B8%EC%B6%9C


반응형

Article By 꼬반

*certificate* : VCP 5(2012), RHCSA 7 (2014), RHCE 7 (2015), RHCSA in REDHAT OpenStack(2017) *development language* : Javascript, NodeJS, Golang, html5, css3, shell script *middle ware* : NGINX, Apache, Tomcat, Docker, Docker Swarm, Mesos, Kubernetes, HCI,

Discuss about post

[ReactJS] 기본 개발 환경

요즘 ReactJS 를 공부하는 기본 개발 환경을 정리한다.


Boilderplate


ReactJS : create-react-app

(참조 : https://github.com/facebookincubator/create-react-app)

(설명 : facebook 팀의 공식 프로젝트. 설명이 더 필요한가!?)


ExpressJS : express-es6-rest-api

(참조 : https://github.com/developit/express-es6-rest-api)

(설명 : 여러 Boilerplate 가 있지만 개인적으로 이 프로젝트가 맘에 든다.)


koa : koa2-server-boilerplate

(참조: https://github.com/yankouskia/koa2-server-boilerplate)

(설명 : 요즘은 일단 좋은걸 찾으면 boilerplate 부터 찾는게 버릇이 된...  koa2 에서

이게 제일 내 스탈에 맞는 듯)


Editor


Microsoft : Visual Studio Code

(참조 : https://code.visualstudio.com/)

(설명 : sublime text 2 -> sublime text 3 -> webstorm -> atom -> vs code)

(설명2 : 마이크로소프트 사롸있네!)


추천 패키지 - ReactJS, Javascript, Html과 Markdown 에디터 용으로 사용

반응형

Article By 꼬반

*certificate* : VCP 5(2012), RHCSA 7 (2014), RHCE 7 (2015), RHCSA in REDHAT OpenStack(2017) *development language* : Javascript, NodeJS, Golang, html5, css3, shell script *middle ware* : NGINX, Apache, Tomcat, Docker, Docker Swarm, Mesos, Kubernetes, HCI,

Discuss about post