꼬반 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

[클라우드] NHN TOAST Cloud 체험해보기 (수정)

과거와는 다르게 국내에도 클라우드 서비스가 빠르게 보급되고 있다. 예전에 외국의 vultr 호스팅에 대한 포스트를 작성한 적이 있는데 이번에 TOAST Cloud 에서 신규 가입 고객에게 20만 Credit 을 주는 이벤트를 진행하고 있어 가입 후 테스트 해보았다. 이 글은 간략하게만 작성한 소감정도고 자세한 리뷰는 추후 작성하는 걸로... 사실 TOAST 는 네이버에서 게임 플랫폼쪽을 담당하는 걸로 알고 있었는데 추가 : NHN Ent 쪽과 Naver 는 별개란걸 알게되었음. (크루세이더 퀘스트라는 게임으로 TOAST를 알게되었었던... 춘향, 몽룡때 현질하고 뽑고 이후 접었..) 잡설은 그만하고 일단 가입 후 https://toast.com/pricing#event 페이지를 보면 결제수단을 등록 하고..

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

[협업개발] Yona

개발을 할때 팀이나 조직에서 사용하기 좋은 오픈소스 https://repo.yona.io/organizations/yona-projects 과거 Yobi가 업그레이드 되었다고 한다. 팀에서 사용하기위해 셋팅해보았다. 추후 사용기를 적어보도록 하겠다.

Read More

경축! 게임매니아 위원회 등극!

한번 찔러봤던 네이버 게임매니아 위원회에 당첨이 됬다. 생전 이런거완 인연이 없던 내가! 이럴수가! 학급위원 말고는 처음이야!!!! 흐흐흐 앞으로 열심히 활동해야겠다. 앞으로의 활동을 기대해 주세요.

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

[클라우드] NHN TOAST Cloud 체험해보기 (수정)

과거와는 다르게 국내에도 클라우드 서비스가 빠르게 보급되고 있다.


예전에 외국의 vultr 호스팅에 대한 포스트를 작성한 적이 있는데 이번에 


TOAST Cloud 에서 신규 가입 고객에게 20만 Credit 을 주는 이벤트를 진행하고 있어


가입 후 테스트 해보았다.


이 글은 간략하게만 작성한 소감정도고 자세한 리뷰는 추후 작성하는 걸로...


사실 TOAST 는 네이버에서 게임 플랫폼쪽을 담당하는 걸로 알고 있었는데


추가 : NHN Ent 쪽과 Naver 는 별개란걸 알게되었음.


(크루세이더 퀘스트라는 게임으로 TOAST를 알게되었었던... 춘향, 몽룡때 현질하고 뽑고 이후 접었..)


잡설은 그만하고 일단 가입 후 https://toast.com/pricing#event 페이지를 보면 결제수단을 등록 하고


크레딧을 받을수 있게 되어 있다. (이 링크로 들어간다고 추가 혜택이나 나에게 돌아오는 건 없다!)


20만 크레딧을 주는 조건은 2018년 2월 22일 이전에 가입한적이 없는 신규 회원 이어야 한다.


이후 가입하고 TOAST Console 을 통해서 사용을 하는데 사용 측면에서는 약간 불편함이 있다.


어떻게 보면 세분화되고 전문적이라고 볼순 있는데 편하지는 않은 느낌..


u2.small flavor로 생성 후 (flavor로 템플릿을 지원하는데 openstack 기반인가.. 아니면 그냥 명칭이


다 똑같나..) floating ip 도 하나 생성 후 생성한 instance에 연결해준다.


그리고 중요한건 instance 를 생성할때 SSH Key 생성을 하는데 내가 못찾은 걸 수 있지만..


생성할때 그때 다운 받아둬야 한다. 이후엔 받는데를 못찾았...


다 생성된 instance 에 연결한 floating ip 로 접속을 하려면 생성한 key 로 접속을 해야 하는데


리눅스에 올리고 테스트 해보니 .pem 파일에 권한을 체크한다.


그래서 소유자 외 그룹, other 권한이 있으면 denied 하므로 권한을 600 등 소유자 권한으로만 설정 해야한다.


ssh -i <pem파일> root@<floating ip>


로 연결하면 바로 접속이 잘 된다.


간단하게 사용해보니 아무래도 국내 리전이어서 과거 vultr보다는 조오금 빠른 느낌은 든다.


비용은 비슷하거나 약간 저렴한거 같은데.. vultr 을 해지한지 좀 되어서 정확하게 기억은 안나고


현재 u2.small 은 2cpu / 2GB ram / 50GB storage / 1 floating ip 를 사용하는데 한달에 2만원 정도 되는듯 하다.


즉 기본으로 지급받는 20만 크레딧으로 10개월 정도 체험해볼 수 있다는 것. 


물론 테스트해보는 사양에 따라 크레딧 소모는 각기 다를 수 있고


크레딧이 모두 소모되거나 부족한 경우는 등록한 결제수단으로 자동으로 결제되니 주의해야 한다.


일단 이벤트 크레딧으로 한동안 재밌게 테스트 해볼수 있을 거 같다.




반응형

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

[협업개발] Yona

개발을 할때 팀이나 조직에서 사용하기 좋은 오픈소스


https://repo.yona.io/organizations/yona-projects


과거 Yobi가 업그레이드 되었다고 한다.


팀에서 사용하기위해 셋팅해보았다.


추후 사용기를 적어보도록 하겠다.


반응형

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

경축! 게임매니아 위원회 등극!

사용자 삽입 이미지


한번 찔러봤던 네이버 게임매니아 위원회에 당첨이 됬다.

생전 이런거완 인연이 없던 내가! 이럴수가! 학급위원 말고는 처음이야!!!!

흐흐흐 앞으로 열심히 활동해야겠다.

앞으로의 활동을 기대해 주세요.

반응형

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