{"id":2522,"date":"2023-11-16T22:03:35","date_gmt":"2023-11-16T13:03:35","guid":{"rendered":"https:\/\/manvscloud.com\/?p=2522"},"modified":"2023-11-21T16:31:32","modified_gmt":"2023-11-21T07:31:32","slug":"ncloud-clova-voice%eb%a1%9c-%ec%b0%bd%ec%a1%b0%ed%95%98%eb%8a%94-%ec%98%a4%eb%94%94%ec%98%a4-%eb%a7%88%ec%8a%a4%ed%84%b0%ed%94%bc%ec%8a%a4","status":"publish","type":"post","link":"https:\/\/manvscloud.com\/?p=2522","title":{"rendered":"[NCLOUD] CLOVA Voice\ub85c \ucc3d\uc870\ud558\ub294 \uc624\ub514\uc624 \ub9c8\uc2a4\ud130\ud53c\uc2a4"},"content":{"rendered":"\n<p>\uc548\ub155\ud558\uc138\uc694 MANVSCLOUD \uae40\uc218\ud604\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc624\ub298\ub0a0\uc758 \uae30\uc220 \uc138\uacc4\uc5d0\uc11c \uc74c\uc131 \ud569\uc131\uc740 \ub2e8\uc21c\ud788 &#8216;\ud14d\uc2a4\ud2b8\ub97c \uc74c\uc131\uc73c\ub85c \ubcc0\ud658\ud558\ub294 \uac83&#8217;\uc744 \ub118\uc5b4\uc11c \uc778\uac04\uc758 \uc74c\uc131\uc744 \ubaa8\ubc29\ud558\uace0 \uac10\uc815\uacfc \ub9e5\ub77d\uc744 \uc774\ud574\ud558\ub294 \ub180\ub77c\uc6b4 \uc218\uc900\uc5d0 \ub3c4\ub2ec\ud588\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud601\uc2e0\uc758 \ucd5c\uc804\uc120\uc5d0\ub294 CLOVA Voice\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 CLOVA Voice \uc11c\ube44\uc2a4\uc758 \ud575\uc2ec \uae30\ub2a5\uacfc NeuVis(Neural Voice Synthesis) \uae30\uc220\uc774 \uc5b4\ub5bb\uac8c \uc774 \uc11c\ube44\uc2a4\ub97c \ub3c5\ud2b9\ud558\uac8c \ub9cc\ub4dc\ub294\uc9c0 \ud0d0\uad6c\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-white-color has-vivid-green-cyan-background-color has-text-color has-background\"> CLOVA Voice<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"410\" height=\"378\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16222631\/NAVER_CLOVA_VOICE.png\" alt=\"\" class=\"wp-image-2538\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16222631\/NAVER_CLOVA_VOICE.png 410w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16222631\/NAVER_CLOVA_VOICE-300x277.png 300w\" sizes=\"(max-width: 410px) 100vw, 410px\" \/><\/figure><\/div>\n\n\n<p>CLOVA Voice\ub294 Naver Cloud Platform\uc758 AI \uc11c\ube44\uc2a4 \uc911 \ud558\ub098\ub85c \uace0\ub3c4\uc758 \uc74c\uc131 \uc778\uc2dd \ubc0f \ud569\uc131 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \ub354\uc6b1 \uc790\uc5f0\uc2a4\ub7fd\uace0 \ub9e5\ub77d\uc744 \uc774\ud574\ud558\uba70 \uac10\uc815\uc744 \ud45c\ud604\ud560 \uc218 \uc788\ub294 \uc74c\uc131 \uc778\ud130\ud398\uc774\uc2a4\uc758 \uac00\ub2a5\uc131\uc744 \uc5f4\uc5b4\uc8fc\ub294 \uace0\ud488\uc9c8 \uc74c\uc131 \ud569\uc131 \uc11c\ube44\uc2a4\uc778\ub370\uc694. \uae30\uc5c5\uc774\ub098 \uac1c\ubc1c\uc790\ub4e4\uc740 CLOVA Voice\ub97c \uc774\uc6a9\ud558\uc5ec \uc560\ud50c\ub9ac\ucf00\uc774\uc158, \uc11c\ube44\uc2a4 \ub610\ub294 \uc81c\ud488\uc5d0 \uc790\uc5f0\uc2a4\ub7ec\uc6b4 \uc74c\uc131 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ud1b5\ud569\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>CLOVA Voice\uc758 \ud575\uc2ec\uc740 NeuVis(Neural Voice Synthesis), \uc989 \uc2e0\uacbd\ub9dd \uc74c\uc131 \ud569\uc131 \uae30\uc220\uc5d0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae30\uc220\uc740 \ub525\ub7ec\ub2dd\uc744 \uae30\ubc18\uc73c\ub85c \uc2e4\uc81c \uc778\uac04\uc758 \uc74c\uc131\uacfc \uac70\uc758 \uad6c\ubd84\uc774 \ubd88\uac00\ub2a5\ud55c \uc218\uc900\uc758 \uc790\uc5f0\uc2a4\ub7ec\uc6b4 \uc74c\uc131\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.  \uc778\uacf5\uc801\uc778 &#8216;\ub85c\ubd07&#8217; \uac19\uc740 \uc74c\uc131\uc774 \uc544\ub2c8\ub77c \uac10\uc815\uacfc \uc5b5\uc591\uc744 \ud3ec\ud568\ud55c \uc778\uac04\uacfc \uac19\uc740 \uc74c\uc131\uc744 \ud1b5\ud574 \uace0\ub3c4\uc758 \uc790\uc5f0\uc2a4\ub7ec\uc6c0\uc744 \ub290\ub084 \uc218 \uc788\uace0 \ubb38\uc7a5\uc758 \ub9e5\ub77d\uc744 \uc774\ud574\ud558\uace0 \uadf8\uc5d0 \ub9de\ub294 \uc5b5\uc591\uacfc \uac15\uc870\ub97c \uc801\uc6a9\ud569\ub2c8\ub2e4. \ub610\ud55c \ub2e4\uc591\ud55c \ubaa9\uc18c\ub9ac\uc640 \uc5b8\uc5b4\ub97c \uc9c0\uc6d0\ud558\uace0 \uc788\uc5b4 \uad11\ubc94\uc704\ud55c \uc0ac\uc6a9\uc790 \uc694\uad6c\uc5d0 \ubd80\uc751\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>CLOVA Voice\ub97c \uc0ac\uc6a9\ud55c\ub2e4\uba74 \uc790\ub3d9 \uc751\ub2f5 \uc2dc\uc2a4\ud15c(ARS)\uc774\ub098 \ucc57\ubd07\uc5d0\uc11c \uc778\uac04\ucc98\ub7fc \uc790\uc5f0\uc2a4\ub7ec\uc6b4 \uc74c\uc131\uc744 \uc81c\uacf5\ud558\uc5ec \uace0\uac1d \uacbd\ud5d8\uc744 \ud5a5\uc0c1\uc2dc\ud0a4\uac70\ub098 \uc624\ub514\uc624\ubd81, \ud31f\uce90\uc2a4\ud2b8, \ube44\ub514\uc624 \ucf58\ud150\uce20\uc5d0 \ub2e4\uc591\ud55c \ubaa9\uc18c\ub9ac\uc640 \uc5b8\uc5b4\ub85c \uc74c\uc131\uc744 \uc81c\uacf5\ud558\uac70\ub098 \ub2e4\uc591\ud55c \uc5b8\uc5b4\ub85c \uad50\uc721 \uc790\ub8cc\ub97c \uc81c\uacf5\ud558\ub294 \ud559\uc2b5 \ud6a8\uacfc\uae4c\uc9c0 \uae30\ub300\ud560 \uc218 \uc788\uc744 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-white-color has-vivid-green-cyan-background-color has-text-color has-background\"> Hands On Lab #1<\/h3>\n\n\n\n<p>\uadf8\ub807\ub2e4\uba74 CLOVA Voice\ub294 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc744\uae4c\uc694?<br>\uba3c\uc800 CLOVA Voice\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294 API \uac00\uc774\ub4dc\ub97c \uc798 \uc77d\uc5b4 \ubcf4\uc544\uc57c\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul>\n<li><strong>CLOVA Voice API URL :<\/strong> <a href=\"https:\/\/api.ncloud-docs.com\/docs\/ai-naver-clovavoice-ttspremium\">https:\/\/api.ncloud-docs.com\/docs\/ai-naver-clovavoice-ttspremium<\/a><\/li>\n<\/ul>\n\n\n\n<p>CLOVA Voice\ub294 \uc74c\uc131 \ud569\uc131\uc5d0 \uc0ac\uc6a9\ud560 \ubaa9\uc18c\ub9ac\uac00 \ub2e4\uc591\ud558\uac8c \uc874\uc7ac\ud558\uace0 \uc74c\uc131 \ubcfc\ub968, \uc74c\uc131 \uc18d\ub3c4, \uc74c\uc131 \ud53c\uce58, \uc74c\uc131 \uac10\uc815, \uac10\uc815\uc758 \uac15\ub3c4, \uc74c\uc131 \ud3ec\ub9f7, \uc0d8\ud50c\ub9c1 \ub808\uc774\ud2b8, \uc74c\uc0c9, \ub05d\uc74c \ucc98\ub9ac\ub97c \uc870\uc808\ud560 \uc218 \uc788\uae30\uc5d0 \uc798 \uc77d\uc5b4\ubcf4\uace0 \uc6d0\ud558\ub294 \uacb0\uacfc\ub97c \uc5bb\uc744 \uc218 \uc788\ub3c4\ub85d \ud574\uc57c\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc544\ub798\ub294 CLOVA Voice\uc758 \uc608\uc2dc\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import os\nimport sys\nimport urllib.request\n\nclient_id = \"[YOUR_CLIENT_ID]\"\nclient_secret = \"[YOUR_CLIENT_SECRET]\"\n\nencText = urllib.parse.quote(\"\uc548\ub155\ud558\uc138\uc694 \uc624\ub298\uc740 CLOVA Voice\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.\")\n\ndata = \"speaker=vgoeun&amp;volume=0&amp;speed=0&amp;pitch=0&amp;format=mp3&amp;text=\" + encText;\nurl = \"https:\/\/naveropenapi.apigw.ntruss.com\/tts-premium\/v1\/tts\"\n\nrequest = urllib.request.Request(url)\nrequest.add_header(\"X-NCP-APIGW-API-KEY-ID\",client_id)\nrequest.add_header(\"X-NCP-APIGW-API-KEY\",client_secret)\n\nresponse = urllib.request.urlopen(request, data=data.encode('utf-8'))\nrescode = response.getcode()\n\nif(rescode==200):\n    response_body = response.read()\n    with open('voice.mp3', 'wb') as f:\n        f.write(response_body)\nelse:\n    print(\"Error Code:\" + rescode)\n<\/pre>\n\n\n\n<p>[YOUR_CLIENT_ID]\uc640 [YOUR_CLIENT_SECRET] \ubd80\ubd84\uc740 CLOVA Voice\uc758 [\uc778\uc99d \uc815\ubcf4]\ub97c \ud074\ub9ad\ud558\uc5ec Client ID\uc640 Client Secret\uc744 \ubcf5\uc0ac\ud558\uc5ec \ucd94\uac00\ud574\uc90d\ub2c8\ub2e4.<br>(\ubc18\ub4dc\uc2dc \uc678\ubd80\uc5d0 \uc720\ucd9c\uc774\ub418\uc9c0 \uc54a\ub3c4\ub85d \uc720\uc758\ud558\uc138\uc694!)<\/p>\n\n\n\n<p>\ucf54\ub4dc\uc5d0 \ub098\uc640\uc788\ub294 &#8220;\uc548\ub155\ud558\uc138\uc694 \uc624\ub298\uc740 CLOVA Voice\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.&#8221; \ud14d\uc2a4\ud2b8\ub97c voice.mp3 \ud30c\uc77c\ub85c \ubc14\uafb8\uc5b4 \uc800\uc7a5\ud558\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc2e4\ud589 \ud6c4 \uc800\uc7a5\ub41c voice.mp3 \ud30c\uc77c\uc744 \ub4e4\uc5b4\ubcfc\uae4c\uc694?<\/p>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16184405\/voice.mp3\"><\/audio><\/figure>\n\n\n\n<p>\uc5b4\ub5a4\uac00\uc694? <br>CLOVA Voice \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc740 \ud06c\uac8c \uc5b4\ub835\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<br>CLOVA Voice\uc758 \ub2e4\uc591\ud55c \ubaa9\uc18c\ub9ac\ub97c \ub4e4\uc5b4\ubcf4\uace0 \ud53c\uce58, \uc18d\ub3c4, \uac10\uc815\uc744 \uc870\uc808\ud574\ubcf4\uc2dc\uace0 \uc2f6\uc73c\uc2e0\uac00\uc694?<br>\ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc CLOVA Voice \uc11c\ube44\uc2a4 \uc18c\uac1c \ud398\uc774\uc9c0\uc5d0\uc11c \uacbd\ud5d8\ud574\ubcf4\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<ul>\n<li><strong>CLOVA Voice \uc11c\ube44\uc2a4 \uc18c\uac1c : <\/strong><a href=\"https:\/\/www.ncloud.com\/product\/aiService\/clovaVoice\">https:\/\/www.ncloud.com\/product\/aiService\/clovaVoice<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-white-color has-vivid-green-cyan-background-color has-text-color has-background\">  Hands On Lab #2<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"586\" height=\"210\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16204212\/clova_voice_ai.png\" alt=\"\" class=\"wp-image-2527\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16204212\/clova_voice_ai.png 586w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16204212\/clova_voice_ai-300x108.png 300w\" sizes=\"(max-width: 586px) 100vw, 586px\" \/><\/figure><\/div>\n\n\n<p>CLOVA Voice \uc0ac\uc6a9 \ubc29\ubc95\uc5d0 \ub300\ud574 \uac04\ub2e8\ud558\uac8c \uc54c\uc544\ubcf4\uc558\uc2b5\ub2c8\ub2e4.<br>\uc9c0\ub09c \ud3ec\uc2a4\ud305\uc5d0\uc11c \uc6b0\ub9ac\ub294 CLOVA Speech\ub97c \uc774\uc6a9\ud558\uc5ec \uc74c\uc131\uc744 \ud14d\uc2a4\ud2b8\ub85c \ubcc0\ud658 \uc2dc\ud0a8 \ud30c\uc77c\uc744 Papago Translation\uc744 \uc774\uc6a9\ud558\uc5ec \uc790\ub3d9 \ubc88\uc5ed\ud558\ub3c4\ub85d \ud558\uc600\ub294\ub370\uc694.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-manvscloud wp-block-embed-manvscloud\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"A1zg0nU1Hi\"><a href=\"https:\/\/manvscloud.com\/?p=2498\">[NCLOUD] \uc5b8\uc5b4\uc758 \uc7a5\ubcbd\uc744 \ub118\uc5b4 : Papago Translation<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;[NCLOUD] \uc5b8\uc5b4\uc758 \uc7a5\ubcbd\uc744 \ub118\uc5b4 : Papago Translation&#8221; &#8212; ManVSCloud\" src=\"https:\/\/manvscloud.com\/?p=2498&#038;embed=true#?secret=wN3psP4KPo#?secret=A1zg0nU1Hi\" data-secret=\"A1zg0nU1Hi\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>\uc774\uc81c CLOVA Voice\ub97c \uc774\uc6a9\ud558\uc5ec \ubc88\uc5ed\ub41c \ud14d\uc2a4\ud2b8\ub97c \ub2e4\uc2dc \uc74c\uc131\uc73c\ub85c \ubcc0\ud658\ud558\ub294 \uacfc\uc815\uc744 \uc9c4\ud589\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import hashlib\nimport hmac\nimport datetime\nimport requests\nimport urllib.parse\nimport xml.etree.ElementTree as ET\nimport json\nimport os\nimport sys\nimport urllib.request\n\ndef get_hash(key, msg):\n    return hmac.new(key, msg.encode('utf-8'), hashlib.sha256).digest()\n\ndef create_signed_headers(headers):\n    signed_headers = []\n    for k in sorted(headers):\n        signed_headers.append('%s;' % k)\n    return ''.join(signed_headers)[:-1]\n\ndef create_standardized_headers(headers):\n    signed_headers = []\n    for k in sorted(headers):\n        signed_headers.append('%s:%s\\n' % (k, headers[k]))\n    return ''.join(signed_headers)\n\ndef create_standardized_query_parameters(request_parameters):\n    standardized_query_parameters = []\n    if request_parameters:\n        for k in sorted(request_parameters):\n            standardized_query_parameters.append('%s=%s' % (k, urllib.parse.quote(request_parameters[k], safe='')))\n        return '&amp;'.join(standardized_query_parameters)\n    else:\n        return ''\n\nclass ObjectStorageSample:\n    def __init__(self, access_key, secret_key):\n        self.region = 'kr-standard'\n        self.endpoint = 'https:\/\/kr.object.ncloudstorage.com'\n        self.host = 'kr.object.ncloudstorage.com'\n        self.access_key = access_key\n        self.secret_key = secret_key\n        self.payload_hash = 'UNSIGNED-PAYLOAD'\n        self.hashing_algorithm = 'AWS4-HMAC-SHA256'\n        self.service_name = 's3'\n        self.request_type = 'aws4_request'\n        self.time_format = '%Y%m%dT%H%M%SZ'\n        self.date_format = '%Y%m%d'\n\n    def _create_credential_scope(self, date_stamp):\n        return date_stamp + '\/' + self.region + '\/' + self.service_name + '\/' + self.request_type\n\n    def _create_canonical_request(self, http_method, request_path, request_parameters, headers):\n        standardized_query_parameters = create_standardized_query_parameters(request_parameters)\n        standardized_headers = create_standardized_headers(headers)\n        signed_headers = create_signed_headers(headers)\n\n        canonical_request = (http_method + '\\n' +\n                             request_path + '\\n' +\n                             standardized_query_parameters + '\\n' +\n                             standardized_headers + '\\n' +\n                             signed_headers + '\\n' +\n                             self.payload_hash)\n\n        return canonical_request\n\n    def _create_string_to_sign(self, time_stamp, credential_scope, canonical_request):\n        string_to_sign = (self.hashing_algorithm + '\\n' +\n                          time_stamp + '\\n' +\n                          credential_scope + '\\n' +\n                          hashlib.sha256(canonical_request.encode('utf-8')).hexdigest())\n\n        return string_to_sign\n\n    def _create_signature_key(self, date_stamp):\n        key_date = get_hash(('AWS4' + self.secret_key).encode('utf-8'), date_stamp)\n        key_string = get_hash(key_date, self.region)\n        key_service = get_hash(key_string, self.service_name)\n        key_signing = get_hash(key_service, self.request_type)\n        return key_signing\n\n    def _create_authorization_header(self, headers, signature_key, string_to_sign, credential_scope):\n        signed_headers = create_signed_headers(headers)\n        signature = hmac.new(signature_key, string_to_sign.encode('utf-8'), hashlib.sha256).hexdigest()\n\n        return (self.hashing_algorithm + ' ' +\n                'Credential=' + self.access_key + '\/' + credential_scope + ', ' +\n                'SignedHeaders=' + signed_headers + ', ' +\n                'Signature=' + signature)\n\n\n    def _sign(self, http_method, request_path, headers, time, request_parameters=None):\n        time_stamp = time.strftime(self.time_format)\n        date_stamp = time.strftime(self.date_format)\n\n        credential_scope = self._create_credential_scope(date_stamp)\n        canonical_request = self._create_canonical_request(http_method, request_path, request_parameters, headers)\n        string_to_sign = self._create_string_to_sign(time_stamp, credential_scope, canonical_request)\n        signature_key = self._create_signature_key(date_stamp)\n\n        headers['authorization'] = self._create_authorization_header(headers, signature_key, string_to_sign, credential_scope)\n\n\n    def list_objects(self, bucket_name, request_parameters=None):\n        http_method = 'GET'\n\n        time = datetime.datetime.utcnow()\n        time_stamp = time.strftime(self.time_format)\n\n        headers = {'x-amz-date': time_stamp,\n                   'x-amz-content-sha256': self.payload_hash,\n                   'host': self.host}\n\n        request_path = '\/%s' % bucket_name\n\n        self._sign(http_method, request_path, headers, time, request_parameters)\n\n        request_url = self.endpoint + request_path\n        r = requests.get(request_url, headers=headers, params=request_parameters)\n\n        if r.status_code == 200:\n            root = ET.fromstring(r.content)\n            objects = []\n\n            for content in root.findall('{http:\/\/s3.amazonaws.com\/doc\/2006-03-01\/}Contents'):\n                key = content.find('{http:\/\/s3.amazonaws.com\/doc\/2006-03-01\/}Key').text\n                if key.endswith('.json'):\n                    last_modified = content.find('{http:\/\/s3.amazonaws.com\/doc\/2006-03-01\/}LastModified').text\n                    objects.append({'Key': key, 'LastModified': last_modified})\n\n            objects.sort(key=lambda x: x['LastModified'], reverse=True)\n            return objects\n\n        else:\n            return []\n\n    def read_json_object(self, bucket_name, object_name):\n        http_method = 'GET'\n\n        time = datetime.datetime.utcnow()\n        time_stamp = time.strftime(self.time_format)\n\n        headers = {'x-amz-date': time_stamp,\n                   'x-amz-content-sha256': self.payload_hash,\n                   'host': self.host}\n\n        request_path = '\/%s\/%s' % (bucket_name, object_name)\n\n        self._sign(http_method, request_path, headers, time)\n\n        request_url = self.endpoint + request_path\n        r = requests.get(request_url, headers=headers)\n\n        if r.status_code == 200:\n            content = json.loads(r.content.decode('utf-8'))\n\n            return content.get('text', '')\n\n\nif __name__ == '__main__':\n\n    storage_sample = ObjectStorageSample('[ACCESS_KEY_ID]', '[SECRET_KEY]')\n\n    objects = storage_sample.list_objects('[BUCKET_NAME]', {'max-keys': '10'})\n    if objects:\n        most_recent_object = objects[0]\n        text_to_translate = storage_sample.read_json_object('[BUCKET_NAME]', most_recent_object['Key'])\n\n        # \ub124\uc774\ubc84 Papago Text Translation API \uc0ac\uc6a9\n        papago_client_id = \"[PAPAGO_CLIENT_ID]\"\n        papago_client_secret = \"[PAPAGO_CLIENT_SECRET]\"\n\n        encText = urllib.parse.quote(text_to_translate)\n        data = \"source=ko&amp;target=en&amp;text=\" + encText\n        url = \"https:\/\/naveropenapi.apigw.ntruss.com\/nmt\/v1\/translation\"\n        request = urllib.request.Request(url)\n        request.add_header(\"X-NCP-APIGW-API-KEY-ID\", papago_client_id)\n        request.add_header(\"X-NCP-APIGW-API-KEY\", papago_client_secret)\n\n        response = urllib.request.urlopen(request, data=data.encode(\"utf-8\"))\n        rescode = response.getcode()\n\n        if rescode == 200:\n            response_body = response.read()\n            translated_text = json.loads(response_body.decode('utf-8'))['message']['result']['translatedText']\n\n            # CLOVA Voice API \uc0ac\uc6a9\n            clova_client_id = \"[VOICE_CLIENT_ID]\"\n            clova_client_secret = \"[VOICE_CLIENT_SECRET]\"\n\n            encText = urllib.parse.quote(translated_text)\n            data = \"speaker=matt&amp;volume=0&amp;speed=0&amp;pitch=0&amp;format=mp3&amp;text=\" + encText\n            url = \"https:\/\/naveropenapi.apigw.ntruss.com\/tts-premium\/v1\/tts\"\n            request = urllib.request.Request(url)\n            request.add_header(\"X-NCP-APIGW-API-KEY-ID\", clova_client_id)\n            request.add_header(\"X-NCP-APIGW-API-KEY\", clova_client_secret)\n\n            response = urllib.request.urlopen(request, data=data.encode('utf-8'))\n            rescode = response.getcode()\n\n            if rescode == 200:\n                response_body = response.read()\n                timestamp = datetime.datetime.now().strftime(\"%Y%m%d%H%M%S\")\n                voice_directory = '\/root\/ai\/voice'\n                if not os.path.exists(voice_directory):\n                    os.makedirs(voice_directory)\n                file_name = f'voice-{timestamp}.mp3'\n                file_path = os.path.join(voice_directory, file_name)\n\n                with open(file_path, 'wb') as f:\n                    f.write(response_body)\n\n            else:\n                print(\"Error in CLOVA Voice API:\", rescode)\n        else:\n            print(\"Error in Papago Translation API:\", rescode)<\/pre>\n\n\n\n<p>\uc774\uc804 &#8220;[NCLOUD] \uc5b8\uc5b4\uc758 \uc7a5\ubcbd\uc744 \ub118\uc5b4 : PAPAGO TRANSLATION&#8221; \ud3ec\uc2a4\ud305\uc5d0\uc11c \ubc88\uc5ed\ub41c \ud14d\uc2a4\ud2b8\ub97c CLOVA Voice\ub97c \uc774\uc6a9\ud558\uc5ec \uc74c\uc131\uc73c\ub85c \ubcc0\ud658\ud558\uace0 \/root\/ai\/voice \uacbd\ub85c\uc5d0 voice-{timestamp}.mp3 \ud615\uc2dd\uc758 \uc774\ub984\uc73c\ub85c \uc800\uc7a5\ub418\ub3c4\ub85d \ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc6d0\ud55c\ub2e4\uba74 \ub85c\uceec\uc5d0 \uc800\uc7a5\ud558\uc9c0\uc54a\uace0 Object Storage\uc5d0 \uc800\uc7a5\ub418\ub3c4\ub85d \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ucf54\ub4dc\uc5d0 \ud3ec\ud568\ub41c [ACCESS_KEY_ID], [SECRET_KEY], [BUCKET_NAME], [CLIENT_ID], [CLIENT_SECRET]\ub294 \uac01 \ud56d\ubaa9\uc5d0 \ub9de\uac8c \uc218\uc815\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul>\n<li>[ACCESS_KEY_ID] : Object Storage\uc5d0 \ub300\ud55c \uad8c\ud55c\uc744 \ubcf4\uc720\ud55c Sub Account\uc758 Access Key<\/li>\n\n\n\n<li>[SECRET_KEY] : Object Storage\uc5d0 \ub300\ud55c \uad8c\ud55c\uc744 \ubcf4\uc720\ud55c Sub Account\uc758 Secret Key<\/li>\n\n\n\n<li>[BUCKET_NAME] : CLOVA Speech\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud14d\uc2a4\ud2b8\ub85c \ubcc0\ud658\ub41c .json\ud30c\uc77c\uc774 \uc788\ub294 Object Storage\uc758 Bucket Name<\/li>\n\n\n\n<li>[PAPAGO_CLIENT_ID] : Papago Translation\uc758 Application Key \uc911 Client ID<\/li>\n\n\n\n<li>[PAPAGO_CLIENT_SECRET] : Papago Translation\uc758 Application Key \uc911 Client Secret<\/li>\n\n\n\n<li>[VOICE_CLIENT_ID] : CLOVA Voice\uc758 Application Key \uc911 Client ID<\/li>\n\n\n\n<li>[VOICE_CLIENT_SECRET] : CLOVA Voice\uc758 Application Key \uc911 Client Secret<\/li>\n<\/ul>\n\n\n\n<p>\uc9c0\ub09c\ubc88 \ud3ec\uc2a4\ud305\uc5d0\uc11c&nbsp;Papago Translation \uc11c\ube44\uc2a4\ub97c \uc774\uc6a9\ud558\uc5ec \uc5bb\uc740 \ud14d\uc2a4\ud2b8 \uacb0\uacfc\ub294 \uc544\ub798\uc640 \uac19\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Naver Cloud Platform is a public cloud service that contains technology that Naver has accumulated over the past 20 years. Naver has become the largest portal site in Korea, and Line Messenger's technology that has been loved and nurtured around the world can now be easily used through Naver's cloud platform. Naver's technology can be easily applied wherever the touch of Naver's cloud platform is needed, not only for large companies but also for the game industry, which bans education and finance from public institutions. Startups and students who need support are also growing together within the ecosystem of Naver's cloud platform. Then, in what way are customers attracted to the Naver Cloud platform. By obtaining the csa Star Gold certification, it has been recognized worldwide for its cloud technology, and by obtaining the csap certification, it is qualified to provide services to public institutions in Korea. In addition, we are responding quickly to a variety of issues with 24\/7 customer support. Cloud service issues are directly related to your business, so you need close support As it is headquartered in Korea, support programs specialized in domestic business provide a differentiated customer experience from other companies. In addition, the service portfolio with all the necessary services for the business is also why Naver Cloud Platform is in the spotlight by many companies. From basic infrastructure products to api services such as map chatbot voice recognition and ai monitoring security products that incorporate Naver's technology, it has a diverse lineup of products needed for stable customer service. I'm helping you go around Naver. The real challenge for Naver's cloud platform is just beginning. We want to meet more businesses and grow with Naver. Hybrid clouds will also help you grow by meeting more businesses while directly providing the right data center environment for customers who cannot deploy the cloud due to regulations and policies. Naver Cloud Platform will be with you.<\/pre>\n\n\n\n<p>\uc704 Python \ucf54\ub4dc\ub97c \uc2e4\ud589\ud55c \ud6c4 \uc5bb\uc740 .mp3 \ud30c\uc77c\uc740 \uc5b4\ub5a4 \uc74c\uc131\uc744 \uc800\ud76c\uc5d0\uac8c \ub4e4\ub824\uc904\uae4c\uc694?<br>\uba3c\uc800 \ucf54\ub4dc \uc2e4\ud589 \uc2dc \uc544\ub798 \ud654\uba74\uacfc \uac19\uc774 \uc800\uc7a5\uc774 \ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"704\" height=\"62\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16204004\/image-9.png\" alt=\"\" class=\"wp-image-2526\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16204004\/image-9.png 704w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16204004\/image-9-300x26.png 300w\" sizes=\"(max-width: 704px) 100vw, 704px\" \/><\/figure>\n\n\n\n<p>\ud55c\ubc88 \ub4e4\uc5b4\ubcf4\uc2dc\uc8e0.<\/p>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16220055\/voice-20231116203055.mp3\"><\/audio><\/figure>\n\n\n\n<p>\ud14d\uc2a4\ud2b8\uac00 \uc74c\uc131\uc73c\ub85c \uc798 \ubc88\uc5ed\ub41c \uac83\uc744 \ub4e4\uc73c\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc9c0\uae08\uae4c\uc9c0 &#8220;CLOVA AI : \ud55c\uad6d\uc5d0 \ud2b9\ud654\ub41c \uc778\uacf5\uc9c0\ub2a5&#8221;, &#8220;[NCLOUD] \uc5b8\uc5b4\uc758 \uc7a5\ubcbd\uc744 \ub118\uc5b4 : PAPAGO TRANSLATION&#8221; \uadf8\ub9ac\uace0 \uc9c0\uae08 \uc77d\uace0\uc788\ub294 &#8220;[NCLOUD] CLOVA Voice\ub85c \ucc3d\uc870\ud558\ub294 \uc624\ub514\uc624 \ub9c8\uc2a4\ud130\ud53c\uc2a4&#8221;\uae4c\uc9c0 \uc6b0\ub9ac\ub294 <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">\uc74c\uc131\uc744 \ud14d\uc2a4\ud2b8\ub85c \ubcc0\uacbd\ud558\uace0<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">\ubcc0\uacbd\ub41c \ud14d\uc2a4\ud2b8\ub97c \ubc88\uc5ed\ud558\uace0<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">\ubc88\uc5ed\ub41c \ud14d\uc2a4\ud2b8\ub97c \ub2e4\uc2dc \uc74c\uc131\uc73c\ub85c \ubcc0\uacbd<\/mark>\ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"434\" height=\"350\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16205651\/NCLOUD_AI_Communication.png\" alt=\"\" class=\"wp-image-2528\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16205651\/NCLOUD_AI_Communication.png 434w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/11\/16205651\/NCLOUD_AI_Communication-300x242.png 300w\" sizes=\"(max-width: 434px) 100vw, 434px\" \/><\/figure><\/div>\n\n\n<p>\uc774 \ubaa8\ub4e0 \uacfc\uc815\uc744 \uc2e4\uc2dc\uac04\uc73c\ub85c \uad6c\ud604\ud560 \uc218 \uc788\ub2e4\uba74 \uc6b0\ub9ac\ub294 \uc138\uacc4 \uac01\uad6d\uc758 \ub2e4\uc591\ud55c \uc5b8\uc5b4\ub97c \ubc30\uc6b0\uc9c0 \uc54a\uc544\ub3c4 \uc804\uc138\uacc4 \uc0ac\ub78c\ub4e4\uacfc \uc5b4\ub824\uc6c0\uc5c6\uc774 \uc758\uc0ac\uc18c\ud1b5\uc774 \uac00\ub2a5\ud574\uc9c8 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading has-white-color has-cyan-bluish-gray-background-color has-text-color has-background\"> Personal Comments<\/h3>\n\n\n\n<p>\uc9c0\uae08\uae4c\uc9c0 CLOVA Voice\uc5d0 \ub300\ud574\uc11c \uadf8\ub9ac\uace0 CLOVA Voice\ub97c \uc5b4\ub5bb\uac8c \ud65c\uc6a9\ud560 \uc218 \uc788\ub294\uc9c0 \uc54c\uc544\ubcf4\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>CLOVA Voice\uc758 \uc751\uc6a9 \ubd84\uc57c\ub294 \ub9e4\uc6b0 \ub2e4\uc591\ud569\ub2c8\ub2e4.<br>\uace0\uac1d \uc11c\ube44\uc2a4, \uad50\uc721, \uc5d4\ud130\ud14c\uc778\uba3c\ud2b8 \ub4f1 \ub2e4\uc591\ud55c \ubd84\uc57c\uc5d0\uc11c \uc774 \uae30\uc220\uc740 \uc0ac\uc6a9\uc790 \uacbd\ud5d8\uc744 \ud5a5\uc0c1\uc2dc\ud0a4\uace0 \uc5b8\uc5b4 \uc7a5\ubcbd\uc744 \ud5c8\ubb3c\uba70 \uc815\ubcf4 \uc811\uadfc\uc131\uc744 \uc99d\ub300\uc2dc\ud0a4\ub294 \ub370 \uae30\uc5ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br>\ud2b9\ud788 \uc2e4\uc2dc\uac04 \uc74c\uc131 \ubcc0\ud658 \ubc0f \ubc88\uc5ed \uae30\ub2a5\uc774 \uad6c\ud604\ub41c\ub2e4\uba74 \uc138\uacc4\uc801\uc778 \uc758\uc0ac\uc18c\ud1b5\uc758 \uc7a5\ubcbd\uc744 \ub0ae\ucd94\ub294 \ub370 \ud070 \uc5ed\ud560\uc744 \ud560 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uae34 \uae00 \uc77d\uc5b4\uc8fc\uc154\uc11c \uac10\uc0ac\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"137\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/10202040\/ncloud-master.png\" alt=\"\" class=\"wp-image-1221\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/10202040\/ncloud-master.png 800w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/10202040\/ncloud-master-300x51.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/10202040\/ncloud-master-768x132.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\uc548\ub155\ud558\uc138\uc694 MANVSCLOUD \uae40\uc218\ud604\uc785\ub2c8\ub2e4. \uc624\ub298\ub0a0\uc758 \uae30\uc220 \uc138\uacc4\uc5d0\uc11c \uc74c\uc131 \ud569\uc131\uc740 \ub2e8\uc21c\ud788 &#8216;\ud14d\uc2a4\ud2b8\ub97c \uc74c\uc131\uc73c\ub85c \ubcc0\ud658\ud558\ub294 \uac83&#8217;\uc744 \ub118\uc5b4\uc11c \uc778\uac04\uc758 \uc74c\uc131\uc744 \ubaa8\ubc29\ud558\uace0 \uac10\uc815\uacfc \ub9e5\ub77d\uc744 \uc774\ud574\ud558\ub294 \ub180\ub77c\uc6b4 \uc218\uc900\uc5d0 \ub3c4\ub2ec\ud588\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud601\uc2e0\uc758 \ucd5c\uc804\uc120\uc5d0\ub294 CLOVA Voice\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 CLOVA Voice \uc11c\ube44\uc2a4\uc758 \ud575\uc2ec \uae30\ub2a5\uacfc NeuVis(Neural Voice Synthesis) \uae30\uc220\uc774 \uc5b4\ub5bb\uac8c \uc774 \uc11c\ube44\uc2a4\ub97c \ub3c5\ud2b9\ud558\uac8c \ub9cc\ub4dc\ub294\uc9c0 \ud0d0\uad6c\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. CLOVA Voice CLOVA Voice\ub294 Naver Cloud Platform\uc758 AI \uc11c\ube44\uc2a4 \uc911 \ud558\ub098\ub85c \uace0\ub3c4\uc758 \uc74c\uc131 \uc778\uc2dd \ubc0f \ud569\uc131 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \ub354\uc6b1 \uc790\uc5f0\uc2a4\ub7fd\uace0 \ub9e5\ub77d\uc744 \uc774\ud574\ud558\uba70 \uac10\uc815\uc744 \ud45c\ud604\ud560 \uc218 \uc788\ub294 \uc74c\uc131 \uc778\ud130\ud398\uc774\uc2a4\uc758 \uac00\ub2a5\uc131\uc744 \uc5f4\uc5b4\uc8fc\ub294 \uace0\ud488\uc9c8 \uc74c\uc131 \ud569\uc131 \uc11c\ube44\uc2a4\uc778\ub370\uc694. \uae30\uc5c5\uc774\ub098 \uac1c\ubc1c\uc790\ub4e4\uc740 CLOVA Voice\ub97c \uc774\uc6a9\ud558\uc5ec \uc560\ud50c\ub9ac\ucf00\uc774\uc158, \uc11c\ube44\uc2a4 \ub610\ub294 \uc81c\ud488\uc5d0 \uc790\uc5f0\uc2a4\ub7ec\uc6b4 \uc74c\uc131 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ud1b5\ud569\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. CLOVA Voice\uc758 \ud575\uc2ec\uc740 NeuVis(Neural Voice Synthesis), \uc989 \uc2e0\uacbd\ub9dd \uc74c\uc131 \ud569\uc131 \uae30\uc220\uc5d0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae30\uc220\uc740 \ub525\ub7ec\ub2dd\uc744 \uae30\ubc18\uc73c\ub85c \uc2e4\uc81c \uc778\uac04\uc758 \uc74c\uc131\uacfc \uac70\uc758 \uad6c\ubd84\uc774 \ubd88\uac00\ub2a5\ud55c \uc218\uc900\uc758 \uc790\uc5f0\uc2a4\ub7ec\uc6b4 \uc74c\uc131\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc778\uacf5\uc801\uc778 &#8216;\ub85c\ubd07&#8217; \uac19\uc740 \uc74c\uc131\uc774 \uc544\ub2c8\ub77c \uac10\uc815\uacfc \uc5b5\uc591\uc744 \ud3ec\ud568\ud55c \uc778\uac04\uacfc \uac19\uc740 \uc74c\uc131\uc744 \ud1b5\ud574 \uace0\ub3c4\uc758 \uc790\uc5f0\uc2a4\ub7ec\uc6c0\uc744 \ub290\ub084 \uc218 \uc788\uace0 \ubb38\uc7a5\uc758 \ub9e5\ub77d\uc744 \uc774\ud574\ud558\uace0 \uadf8\uc5d0 \ub9de\ub294 \uc5b5\uc591\uacfc \uac15\uc870\ub97c \uc801\uc6a9\ud569\ub2c8\ub2e4. \ub610\ud55c \ub2e4\uc591\ud55c \ubaa9\uc18c\ub9ac\uc640 \uc5b8\uc5b4\ub97c \uc9c0\uc6d0\ud558\uace0 \uc788\uc5b4 \uad11\ubc94\uc704\ud55c \uc0ac\uc6a9\uc790 \uc694\uad6c\uc5d0 \ubd80\uc751\ud569\ub2c8\ub2e4. CLOVA Voice\ub97c \uc0ac\uc6a9\ud55c\ub2e4\uba74 \uc790\ub3d9 \uc751\ub2f5 \uc2dc\uc2a4\ud15c(ARS)\uc774\ub098 \ucc57\ubd07\uc5d0\uc11c \uc778\uac04\ucc98\ub7fc \uc790\uc5f0\uc2a4\ub7ec\uc6b4 \uc74c\uc131\uc744 \uc81c\uacf5\ud558\uc5ec \uace0\uac1d \uacbd\ud5d8\uc744 \ud5a5\uc0c1\uc2dc\ud0a4\uac70\ub098 \uc624\ub514\uc624\ubd81, \ud31f\uce90\uc2a4\ud2b8, \ube44\ub514\uc624 \ucf58\ud150\uce20\uc5d0 \ub2e4\uc591\ud55c \ubaa9\uc18c\ub9ac\uc640 \uc5b8\uc5b4\ub85c \uc74c\uc131\uc744 \uc81c\uacf5\ud558\uac70\ub098 \ub2e4\uc591\ud55c \uc5b8\uc5b4\ub85c \uad50\uc721 \uc790\ub8cc\ub97c \uc81c\uacf5\ud558\ub294 \ud559\uc2b5 \ud6a8\uacfc\uae4c\uc9c0 \uae30\ub300\ud560 \uc218 \uc788\uc744 \uac83\uc785\ub2c8\ub2e4. Hands On Lab #1 \uadf8\ub807\ub2e4\uba74 CLOVA Voice\ub294 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud560 \uc218 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"\uc624\ub298\ub0a0\uc758 \uae30\uc220 \uc138\uacc4\uc5d0\uc11c \uc74c\uc131 \ud569\uc131\uc740 \ub2e8\uc21c\ud788 '\ud14d\uc2a4\ud2b8\ub97c \uc74c\uc131\uc73c\ub85c \ubcc0\ud658\ud558\ub294 \uac83'\uc744 \ub118\uc5b4\uc11c \uc778\uac04\uc758 \uc74c\uc131\uc744 \ubaa8\ubc29\ud558\uace0 \uac10\uc815\uacfc \ub9e5\ub77d\uc744 \uc774\ud574\ud558\ub294 \ub180\ub77c\uc6b4 \uc218\uc900\uc5d0 \ub3c4\ub2ec\ud588\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud601\uc2e0\uc758 \ucd5c\uc804\uc120\uc5d0\ub294 CLOVA Voice\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 CLOVA Voice \uc11c\ube44\uc2a4\uc758 \ud575\uc2ec \uae30\ub2a5\uacfc NeuVis(Neural Voice Synthesis) \uae30\uc220\uc774 \uc5b4\ub5bb\uac8c \uc774 \uc11c\ube44\uc2a4\ub97c \ub3c5\ud2b9\ud558\uac8c \ub9cc\ub4dc\ub294\uc9c0 \ud0d0\uad6c\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.","jetpack_seo_html_title":"[NCLOUD] CLOVA Voice\ub85c \ucc3d\uc870\ud558\ub294 \uc624\ub514\uc624 \ub9c8\uc2a4\ud130\ud53c\uc2a4","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[846,913,921,32,87,91,17,90,16,923,922,914,929,928,927,926,89,202,398,925,924],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2522"}],"collection":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2522"}],"version-history":[{"count":5,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2522\/revisions"}],"predecessor-version":[{"id":2539,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2522\/revisions\/2539"}],"wp:attachment":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}