반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리

'Whisper'에 해당되는 글 2

  1. 2023.03.05 Guide - Speech to text
  2. 2023.03.04 3/1/2023 API Updates ChatGPT, Whisper, and Developer Policies 1

Guide - Speech to text

2023. 3. 5. 21:39 | Posted by 솔웅


반응형

https://platform.openai.com/docs/guides/speech-to-text

 

OpenAI API

An API for accessing new AI models developed by OpenAI

platform.openai.com

 

Speech to text

Learn how to turn audio into text

 

오디오를 어떻게 텍스트로 바꾸는지 배워 봅시다.

 

Introduction

The speech to text API provides two endpoints, transcriptions and translations, based on our state-of-the-art open source large-v2 Whisper model. They can be used to:

 

음성을 텍스트로 바꿔 주는 API는 두개의 endpoint를 제공합니다. 필사와 번역입니다. 이것은 최신 오픈 소스인 large-v2 Whisper 모델을 기반으로 합니다.

  • Transcribe audio into whatever language the audio is in.
  • 어떤 언어의 오디오든 그것을 글로 옮겨 씁니다.
  • Translate and transcribe the audio into english.
  • 오디오를 영어로 번역해서 옮겨 씁니다.

File uploads are currently limited to 25 MB and the following input file types are supported: mp3, mp4, mpeg, mpga, m4a, wav, and webm.

 

오디오 파일 업로드는 현재까지 25MB로 제한 됩니다. 그리고 다음과 같은 파일 형식을 따라야 합니다.

mp3, mp4, mpeg, mpga, m4a, wav, and webm.

 

Quickstart

Transcriptions

The transcriptions API takes as input the audio file you want to transcribe and the desired output file format for the transcription of the audio. We currently support multiple input and output file formats.

 

Transcriptions API 작업은 transcribe하고 싶은 오디오 피일과 원하는 output file 형식을 같이 입력하시면 됩니다. OpenAI는 현재 여러 입력, 출력 파일 형식을 지원하고 있습니다.

 

# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openai
audio_file= open("/path/to/file/audio.mp3", "rb")
transcript = openai.Audio.transcribe("whisper-1", audio_file)

 

By default, the response type will be json with the raw text included.

 

기본으로 response 형식은 raw text가 포함된 json 형식입니다.

 

{ "text": "Imagine the wildest idea that you've ever had, and you're curious about how it might scale to something that's a 100, a 1,000 times bigger. .... }

 

To set additional parameters in a request, you can add more --form lines with the relevant options. For example, if you want to set the output format as text, you would add the following line:

 

Request에 추가적인 파라미터를 세팅하기 위해 관련 옵션과 함께 --form 라인을 추가하시면 됩니다. 예를 들어 여러분이 output 형식을 text로 세팅하고 싶으면 아래와 같이 하면 됩니다.

...
--form file=@openai.mp3 \
--form model=whisper-1 \
--form response_format=text

 

Translations

The translations API takes as input the audio file in any of the supported languages and transcribes, if necessary, the audio into english. This differs from our /Transcriptions endpoint since the output is not in the original input language and is instead translated to english text.

 

번역 API 작업은 지원되는 언어들중 사용자가 제공하는 어떤 것을 입력값으로 받게 됩니다. 그리고 transcribe를 하고 필요하면 오디오를 영어로 번역합니다.  /Transcriptions endpoint와 다른점은 output이 입력된 원래 언어와 다른 언어가 된다는 것입니다. 그리고 그 언어를 영어 text번역 합니다.

 

 

# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openai
audio_file= open("/path/to/file/german.mp3", "rb")
transcript = openai.Audio.translate("whisper-1", audio_file)

 

In this case, the inputted audio was german and the outputted text looks like:

 

이 경우 입력된 오디오는독일어이고 출력된 텍스트는 아래와 같게 됩니다.

 

Hello, my name is Wolfgang and I come from Germany. Where are you heading today?

 

We only support translation into english at this time.

 

현재로는 영어 이외의 언어를 영어로 번역하는 것만 지원합니다.

 

Supported languages

 

We currently support the following languages through both the transcriptions and translations endpoint:

 

OpenAI는 현재 다음과 같은 언어들을 transcriptions와 translations endpoint에 지원 됩니다.

 

Afrikaans, Arabic, Armenian, Azerbaijani, Belarusian, Bosnian, Bulgarian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, Galician, German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Kannada, Kazakh, Korean, Latvian, Lithuanian, Macedonian, Malay, Marathi, Maori, Nepali, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swahili, Swedish, Tagalog, Tamil, Thai, Turkish, Ukrainian, Urdu, Vietnamese, and Welsh.

 

 

While the underlying model was trained on 98 languages, we only list the languages that exceeded <50% word error rate (WER) which is an industry standard benchmark for speech to text model accuracy. The model will return results for languages not listed above but the quality will be low.

 

기본 모델은 98개 언어로 훈련이 되어 있습니다. OpenAI는 speech to text 모델의 정확도에 대한 업계 표준 벤치마크인 word error rate (WER) 이 50% 미만인 언어만 리스트 합니다.

 

Longer inputs

By default, the Whisper API only supports files that are less than 25 MB. If you have an audio file that is longer than that, you will need to break it up into chunks of 25 MB's or less or used a compressed audio format. To get the best performance, we suggest that you avoid breaking the audio up mid-sentence as this may cause some context to be lost.

 

기본적으로 Whisper API는 25MB 이하의 파일들만 지원합니다. 그보다 크기가 큰 오디오 파일은 25MB 이하로 나누거나 압축된 오디오 형식을 사용해야 합니다. 파일을 나눌 때 최고의 성능을 얻으려면 일부 context가 손실되는 것을 방비하기 위해 문장 중간을 끊지 않는 것이 좋습니다.

 

One way to handle this is to use the PyDub open source Python package to split the audio:

 

이렇게 하기 위한 방법 중 한가지는 PyDub open source Python package 를 사용해서 오디오를 잘르는 겁니다.

 

from pydub import AudioSegment

song = AudioSegment.from_mp3("good_morning.mp3")

# PyDub handles time in milliseconds
ten_minutes = 10 * 60 * 1000

first_10_minutes = song[:ten_minutes]

first_10_minutes.export("good_morning_10.mp3", format="mp3")

OpenAI makes no guarantees about the usability or security of 3rd party software like PyDub.

 

OpenAI는 PyDub와 같은 타사 소프트웨어의 usability나 security에 대한 어떠한 보장도 하지 않습니다.

 

Prompting

In the same way that you can use a prompt to influence the output of our language models, you can also use one to improve the quality of the transcripts generated by the Whisper API. The model will try to match the style of the prompt, so it will be more likely to use capitalization and punctuation if the prompt does too. Here are some examples of how prompting can help in different scenarios:

 

OpenAI API

An API for accessing new AI models developed by OpenAI

platform.openai.com

 

Prompt를 사용하여 우리의 language 모델의 output에 영향을 미칠 수 있는 것과 마찬가지로 Whisper API에 의해 생성된 transcript의 질을 향상시키기 위해 이 prompt를 사용할 수 있습니다. 이 Whisper API 모델은 프롬프트의 스타일을 match 시키려고 시도합니다. 그러니까 프롬프트가 하는 것과 마찬가지로 capitalization 과 punctuation 을 사용할 가능성이 높습니다. 여기 다양한 시나리오에서 프롬프트가 어떻게 도움이 되는지에 대한 몇가지 예를 보여 드립니다.

 

1. Prompts can be very helpful for correcting specific words or acronyms that the model often misrecognizes in the audio. For example, the following prompt improves the transcription of the words DALL·E and GPT-3, which were previously written as "GDP 3" and "DALI".

 

프롬프트는 모델이 오디오에서 종종 잘 못 인식하는 특정 단어나 약어를 수정하는데 매우 유용할 수 있습니다. 예를 들어 다음 프롬프트는 이전에 GDP 3 나 DALI 로 기록 되었던 DALL-E 및 GPT-3 라는 단어의 표기를 개선합니다.

 

The transcript is about OpenAI which makes technology like DALL·E, GPT-3, and ChatGPT with the hope of one day building an AGI system that benefits all of humanity

 

2. To preserve the context of a file that was split into segments, you can prompt the model with the transcript of the preceding segment. This will make the transcript more accurate, as the model will use the relevant information from the previous audio. The model will only consider the final 224 tokens of the prompt and ignore anything earlier.

 

segment들로 나누어진 파일의 context를 유지하기 위해 여러분은 이전 세그먼트의 기록으로 모델에 메시지를 표시할 수 있습니다. 이렇게 하면 모델이 이전 오디오의 관련 정보를 사용하므로 transcript 가 더욱 정확해 집니다. 모델은 프롬프트의 마지막 224개 토큰만 고려하고 이전의 것들은 무시합니다.

 

3. Sometimes the model might skip punctuation in the transcript. You can avoid this by using a simple prompt that includes punctuation:

 

때떄로 이 모델은 transcript의 punctuation을 skip 할 수 있습니다. 이것은  punctuation을 포함하는 간단한 프롬프트를 사용함으로서 해결 할 수 있습니다.

 

Hello, welcome to my lecture.

 

4. The model may also leave out common filler words in the audio. If you want to keep the filler words in your transcript, you can use a prompt that contains them:

 

이 모델은 오디오에서 일반적인 filler words를 생략할 수 있습니다. transcript에 이러한 filler word들을 유지하려면 filler word를 포함하는 프롬프트를 사용하면 됩니다.

 

Umm, let me think like, hmm... Okay, here's what I'm, like, thinking."

 

filler word : 말 사이에 의미없이 하는 말. Um.. uhh... like... 같은 말

 

5. Some languages can be written in different ways, such as simplified or traditional Chinese. The model might not always use the writing style that you want for your transcript by default. You can improve this by using a prompt in your preferred writing style.

 

어떤 언어들은 다른 방법으로 표기가 됩니다. 예를 들어 중국어에는 간체와 번체가 있죠. 이 모델은 기본적으로 transcript에 대해 원하는 쓰기 스타일을 항상 사용하지 않을 수 있습니다. 원하는 쓰기 스타일이 있다면 프롬프트를 사용하여 원하는 결과를 얻도록 유도할 수 있습니다.

 

 

 

 

반응형

'Open AI > GUIDES' 카테고리의 다른 글

Guide - Error codes  (0) 2023.03.05
Guide - Rate limits  (0) 2023.03.05
Guide - Chat completion (ChatGPT API)  (0) 2023.03.05
Guides - Production Best Practices  (0) 2023.01.10
Guides - Safety best practices  (0) 2023.01.10
Guides - Moderation  (0) 2023.01.10
Guides - Embeddings  (0) 2023.01.10
Guides - Fine tuning  (0) 2023.01.10
Guide - Image generation  (0) 2023.01.09
Guide - Code completion  (0) 2023.01.09


반응형

3월 1일에 OpenAI로부터 이메일이 왔습니다.

API Update를 알리는 공지 메일이었는데요.

드디어 ChatGPT API 가 공개 됐다는 내용이었습니다.

이 외에도 음성으로 동작하는 Whisper 라는 API 도 같이 공개 됐습니다.

더불어서 Developer 정책도 공지가 됐는데, 오늘은 이 새로운 뉴스를 살펴 보겠습니다.

 

Starting today, you can build apps and products with our new ChatGPT and Whisper APIs. You can read more about the APIs and early partners’ use cases here

 

https://cz6y004.na1.hubspotlinks.com/Ctc/RI+113/cZ6Y004/VWqmLs6SpDW_W27V3js6L5cKwW3yn_R_4XD6FbMJvQn93lSc3V1-WJV7CgZB_W92p4BR57hPQSW1HQXNl3y0MZGW2_rlz58TYhN6W88n9Jm5r44DDW7H22Z95NV-CwW7rnhlv4CwwyxW6Lghnv114mhTW8yRc0d4bcQdMW4LrLss5PTF12W5RDmwg6ZhGTTW9cGCH46Wp0qNW3TM9Nw60FDSSW3F33Gs4WvbqLW7nNfkw8SSBtvW8Z2ZYl6HY60zVL9gC75nb8pNW2gZM-74TbZ4hW1dZJXn34ZggSW7WYqRm2LXR0TW3X4vfR1-T620W38WDSl1B-wgyW60rHcY2Dc1DFMGHlVK-tCmHW1qJ4QW6cR9C537B51

You're being redirected If you're not redirected in a few seconds, click here

cz6y004.na1.hubspotlinks.com

오늘부터 새로운 ChatGPT 및 Whisper API로 앱과 제품을 구축할 수 있습니다. API 및 초기 파트너사들이 어떻게 이 API를 이용했는지 좀 더 자세한 사항을 보시려면 here 를 참조하세요.

 

ChatGPT API 

The new Chat API calls gpt-3.5-turbo, the same model used in the ChatGPT product. It’s also our best model for many non-chat use cases; we’ve seen early testers migrate from text-davinci-003 to gpt-3.5-turbo with only a small amount of adjustment needed to their prompts. Learn more about the Chat API in our documentation.

 

https://cz6y004.na1.hubspotlinks.com/Ctc/RI+113/cZ6Y004/VWqmLs6SpDW_W27V3js6L5cKwW3yn_R_4XD6FbMJvQmV3lSbNV1-WJV7CgZqdMcB7nxstDT0W73RNz15tzjNbN21DsBfnmYTyVnDcm98fHl1hW1DwktM1yY6ggW4yw-yH3NwxHvW5bffz93spWGzVXwg2_65gC_BW2LGwwV7vTnrqW3dGJ8p1MNYKfW1KCkF42blKzGW2hFf2P4MTq2fN2kjpJvXXddqW1xxK0Z5lxNKjW2DpJq05WsQR4VP8GnR74NdYwW5Ks-Tj1SMJ5-W7pzNtH8H0NDJW5fhll-4rxb1ZW2rf9MS795jC0W5s0kw66LsmxGV5X3Nw1jmJyf382v1

You're being redirected If you're not redirected in a few seconds, click here

cz6y004.na1.hubspotlinks.com

새로운 Chat API call은 gpt-3.5-turbo라는 모델을 사용합니다. ChatGPT 가 사용하는 모델과 동일한 모델입니다. 이 모델은 채팅 뿐만 아니라 비채팅에 사용하기에도 가장 좋은 모델입니다. 이 모델을 이미 테스트 한 테스터들이 그들의 프롬프트에 약간의 수정한 하고 text-davinci-003 모델에서 gpt-3.5-turbo 모델로 마이그레이션 하는 것을 보았습니다.

Chat API에 대해 자세히 알고 싶으시면 our documentation 를 참조하세요.

 

Pricing

It’s priced at $0.002 per 1K tokens, which is 10x cheaper than the existing GPT-3.5 models.

가격은 토큰 1천개 당 0.002 달러 입니다. GPT-3.5 모델들 보다 1/10 가격 입니다.

 

Model updates

 

We are constantly improving our Chat models, and want to make these improvements available to developers as well. Developers who use the gpt-3.5-turbo model will always get our recommended stable model, while still having the flexibility to opt for a specific model version.

 

우리는 Chat 모델을 꾸준히 개선하고 있습니다. 그리고 이렇게 개선한 기능들을 개발자들에게도 제공하고자 합니다. gpt-3.5-turbo 모델을 사용하는 개발자들은 우리가 권장하는 안정적인 모델을 사용하실 수가 있습니다. 또한 특정 버전의 모델을 사용할 수 있는 방법도 함께 제공하고 있습니다.

 

For example, today we’re releasing “gpt-3.5-turbo-0301”, which will be supported through at least June 1st, and we’ll update gpt-3.5-turbo to a new stable release in April. The models page will provide switchover updates.

models page

 

https://cz6y004.na1.hubspotlinks.com/Ctc/RI+113/cZ6Y004/VWqmLs6SpDW_W27V3js6L5cKwW3yn_R_4XD6FbMJvQmV3lSbNV1-WJV7CgRLCW3kWVNT4LJKSPW95G86l2wbdP5W86XlSf3VjFz9W5qwNLZ6ptrdyW3Jbh6S68l5LkW7HG-xM2gWfHNW5c0ZRP2YLwmkW4Z7H6w6Hq43_W5hCkFL7PLMz8W8XVZtc8Z9bbmN4K0kCjHnyZbW5cZ3b071nWPmW8xHKc248d4h_W3NtxJ857kS4MVv17_Q6D_mQFMcPvC7n1cWjW6mSmF217Nx0yW4_mFvy2VHMhpVt1TV75wG88ZN69ll3xgTT_2W16fKdp8lTpjRW6FbRRL1TJ8YQ3dgY1

You're being redirected If you're not redirected in a few seconds, click here

cz6y004.na1.hubspotlinks.com

예를 들어 오늘 우리는 gpt-3.5-turbo-0301을 릴리즈 합니다. 이 버전은 최소한 6월 1일까지 지원 될 것입니다.

그리고 우리는 gpt-3.5-turbo 라는 안정적인 버전으로 4월 업데이트 할 계획입니다. models page로 가시면 이러한 업데이트 정보를 보실 수 있습니다.

 

--------------------------------------------------------------------

Whisper API

We’ve been thrilled to see the community response to Whisper, the speech-to-text model we open-sourced in September 2022. Starting today, the large-v2 model is available through our API as whisper-1 – making it the fastest, cheapest, and most convenient way to use the model. Learn more about the Whisper API in the documentation.

 

https://cz6y004.na1.hubspotlinks.com/Ctc/RI+113/cZ6Y004/VWqmLs6SpDW_W27V3js6L5cKwW3yn_R_4XD6FbMJvQn93lSc3V1-WJV7CgH8qW2RXYP45J1DFtW62zl7B9l_JRfW7HKn3F1sSx9MW7zYGTd7RgJP4W8jBMxr5s86HtN8X6XryRrzs1W6jM2Yc7_49DrN72YQG9cj2WyW6V6ZT841_Y1LW36_M5Z3CPH4VW9gRQ364x2tj2W58fsGb4446mtW2bMpkq3hH40mN7WcM9xvK1PqW99NlYy5WXKnPW8dqZdD3F8vCvW4pC0583l9FTcW3hBsYG71xtL3N9fHzCpL-t_QV_mNXg9fYthCW46ZlYx9jSNWhW6Kl80F25FtMSW4ssnwV7NZFKfW4PsRv26_-qrW2yt1

You're being redirected If you're not redirected in a few seconds, click here

cz6y004.na1.hubspotlinks.com

 

우리는 2022년 9월에 오픈 소스로 공개한 speech-to-text 모델인 Whisper에 대한 커뮤니티의 반응에 고무되었습니다.

오늘부터 Large-v2 모델은 whsper-1 이라는 API를 통해 사용 가능하게 되었습니다. 이는 가장 빠르고 가장 저렴하며 가장 사용하기 편한 모델입니다.더 자세한 사항은 the documentation 를 참조하세요.

 

Pricing
The API is priced at $0.006 / minute, rounded up to the nearest second.

이 API의 가격은 1분당 0.006달러 입니다. 가장 가까운 초 단위로 반올림 됩니다.

 

-----------------------------------------------------------------

 

Changes in our policies and how we use your data

 

Over the past six months, we’ve been collecting feedback from our API customers to understand how we can better serve them. We’ve made a number of concrete changes, such as:

 

지난 6개월 동안 API 를 사용하시는 소비자분들로부터 더 나은 서비스를 제공할 수 있는 방법을 찾기 위해 feedback을 받았습니다. 다음과 같은 몇가지 구체적인 변경 사항들에 이를 반영했습니다.

 

  • Data submitted through the API is no longer used for model training or other service improvements, unless you explicitly opt in
  • 명시적으로 표기하지 않는 한 API를 통해서 제출된 데이터는 모델 학습 또는 기타 서비스 개선에 사용되지 않습니다.
  • Implementing a default 30-day data retention policy for API users, with options for shorter retention windows depending on user needs
  • API 사용자들을 위해 기본적으로 30일 동안 데이터를 보존합니다. 사용자의 요구에 따라 보존 기간을 단축할 수 있는 옵션도 제공합니다.
  • Removing our pre-launch review – unlocked by improving our automated monitoring
  • pre-launch review 기능 없앰 - 우리의 자동화 된 모니터링 기능을 개선하여 이에 review로 인한 잠금이 더이상 없음
  • Simplifying our Terms of Service and Usage Policies, including terms around data ownership: users own the input and output of the models
  • 데이터 소유권 관련한 부분을 포함해서 우리의 Terms of Service and Usage Policies 를 더 단순화 했습니다.  사용자가 모델에 입력하고 모델로부터 출력 받은 것을 소유하게 됩니다.

Check out what our early partners like Snap, Shopify, and Instacart have built with the new APIs – and start building next-generation apps powered by ChatGPT & Whisper today.

 

https://cz6y004.na1.hubspotlinks.com/Ctc/RI+113/cZ6Y004/VWqmLs6SpDW_W27V3js6L5cKwW3yn_R_4XD6FbMJvQn93lSc3V1-WJV7CgFs8W1XW8rh3pB_K4W1cx3Df8tJg5vW8wnHQS9hbptZW35pY_D6Zv0TVN4Q8Y1WRhlNQN4zkb7jwXMC9Vw_PtZ5jBw6-W5GYq3421BQd7W5ryRCN1VLX28VkK08V3TXnkyW6VmKDC7SlzkvMh9cLxtR7VNW8RKkzg83NsdpN7xnf734NvCtW1qpRbn5fR87kW1mCGVv7x45bLW3fyHjz2sR9kCVlfGq091z3mGW6RPL282Z3gQBW45WRcZ8tGKqXW6GQXsD7b0ShHW6dvfLg6CvwBFVS08b13hW7pfW7mPd167zw9Zs396w1

You're being redirected If you're not redirected in a few seconds, click here

cz6y004.na1.hubspotlinks.com

 

Snap, Shopify 및 instacart 와 같은 early partner가 새로운 API로 무엇을 구축했는지 확인해 보세요. 여러분도 지금 ChatGPT 및 Whisper로 구동되는 차세대 앱 구축을 시작하실 수 있습니다.

 

—The OpenAI team

 

 

 

 

반응형
이전 1 다음