Skip to content

Instantly share code, notes, and snippets.

@leiless
Forked from wilinz/ms-edge-tts-api.md
Created May 10, 2024 06:05
Show Gist options
  • Save leiless/c96f4236b7bdfac13fd079379da4d42f to your computer and use it in GitHub Desktop.
Save leiless/c96f4236b7bdfac13fd079379da4d42f to your computer and use it in GitHub Desktop.
微软edge-tts-api(大声朗读协议)

edge tts

获取语音列表:

https://speech.platform.bing.com/consumer/speech/synthesize/readaloud/voices/list?trustedclienttoken=6A5AA1D4EAFF4E9FB37E23D68491D6F4

tts接口

wss://speech.platform.bing.com/consumer/speech/synthesize/readaloud/edge/v1?TrustedClientToken=6A5AA1D4EAFF4E9FB37E23D68491D6F4&Sec-MS-GEC=C14242292B2241ECB17DD93BD17E481FADED759D70DCE83CA526064D9E90420C&Sec-MS-GEC-Version=1-114.0.1823.67&ConnectionId=373cb9fe3c926de352de8ad4c800b24c HTTP/1.1
Host: speech.platform.bing.com
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.67
Upgrade: websocket
Origin: chrome-extension://jdiccldimpdaibmpdkjnbmckianbfold
Sec-WebSocket-Version: 13
Accept-Encoding: gzip, deflate, br
Accept-Language: en,zh-CN;q=0.9,zh;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: Imported_MUID=279D5D30479A67B120EC4CF8465A66EC; SRCHD=AF=NOFORM; SRCHUID=V=2&GUID=56CF87A361464E7D97109A4DE5068B80&dmnchg=1; MUID=325A63E135A06AAA171571C234606B8E; _tarLang=default=zh-Hans; _TTSS_OUT=hist=WyJ6aC1IYW5zIl0=; MMCASM=ID=DB36A1CCBCE141C988893F7658931D00; ANON=A=BDF919D5061D7F41CCECB893FFFFFFFF&E=1c5e&W=5; NAP=V=1.9&E=1c04&C=3tftpzkAdHnos47AExrgJwTp6Puwum9ieFNAkA8kcyzaw9FsgBNcHA&W=5; PPLState=1; _UR=QS=0&TQS=0; ABDEF=V=13&ABDV=13&MRNB=1685903928257&MRB=0; USRLOC=HS=1&ELOC=LAT=25.30931282043457|LON=110.4037857055664|N=Lingchuan%20County%2C%20Guangxi%20Zhuang|ELT=2|&CLOC=LAT=25.309329051998866|LON=110.40374008805972|A=733.4464586120832|TS=230701173629|SRC=W; KievRPSSecAuth=FAByBBRaTOJILtFsMkpLVWSG6AN6C/svRwNmAAAEgAAACIcO+OPnBnDOMARvQ4a99TLFSEe5qktVEWTUqgPRylgzmpHo0criSIMfmIxbCWKerYz/xckSZ9fIVmh+xtn2waP/f4XRaTroOgRra3Ez3S17ty6xyXVS8sUMoAM/vOjuQMjtyM6ahjmUBda+sjPxekYt/l83dgpaz4zqH9Tto8RPnlsf/4T63XNA/uf48oeq0U2YXKthu5N/guoBTs8tIiBCWqpfKcu8SRgzLx2kBE8XkrzYDBR8cBdOvJuWeUqEiJg0SbGjXYt6FGFEKeYpshDeksDrvJVPij6ymAs0j7PHJVLjM5Tds3AcpBdmWAwNz2yKfLaT9jlIJjtfY6+8Du1BfOvb0noJB00DyF3L7JTnRXdQlRkQG6i3J85gZp5XKfyucptiStnNhwZKYyt5qTz5bFxnZW0Q1DqJnuVMvT0dyLwBV2RUUkeo4IeB6lZtfxthjY2KFe5ZbWpKzECwt22qktDZdYu+tBXlO2rJwDtwKba+gLWP/vBLUAa4hBrRtbuDypx+AHTT9qlxgKY5go0Wz085oPWpq8VxDo1aRiUqXGrqnbJWKzVx50oUnIEJy3DQbxSZzitD6MJ4mmzVbYAyrlwpFtXYO4X7TKvlWnlPstdGdRxykIERl/S3+jp9DBDRCTkXRoFa3VSOkzeuDj0FfDKlQtrQh6Q/GPyCUKy8KRFK3hwxJR7HsE2ivEjMYwdHsfk6hD+Ocw0q1OZT9L5EPkC3XqK0K1JFWuRyDKXmxvjRfazgD1GOszIOvk85MzOXw6uhKHpbLt3vEMX6MkUaFuHSOscFlgYdrP4NIfe/db+48F96hOgY8qLmRfNyRUQZk2oghT7X/Hp8Jjq6KvU30RAzl5VpxlNIHjXg9iBacD46m9zBMCsEt8mie27r0a8plN6T3i/xKVbefueJoa9RE3dDdDaAB3TsLDnKmklSVDR70gPFS4NCCVM2iApD5+TH7nuQ3TvOn0wHOY3AUa2TE41nYA/jiQWdQkXR5q5/p0pQpRMcRyWiGEtydSy+tW/uYoRJs4x0/JdpYrlFjo0skC8Lbin5Fc9mL8+qMlWAF2pCspX2KwQ7ahzeragrLm0KDH41/wFdjiM3POGwF+K/eIKynR1WNwxVFtguiEgPmKo/1IFpl0C20MyKBRtJDt+pRZftYE4fGHS2bB7fb4hCVc9GCTQuirLpvH1oIvRFqOjoka52hVvjm4lWHrOKPKBEns7ab1YuCR9b8VF/fWYrWAmDbCMeLTmWs6Ip8b6d8gm6pxTi1X2l93Hu/gzkT4Xo0eZouRsO5DlO9ARfjDCNwdNy0bSiG4vIJ6ZwPc9WssXxZMHBNRw/cZmoJlS1sOsO437DFm4vQZ45q4LNgrgpNA692EF59vH49QsQDzZikR0GflucdEqlNPUtccYEAmR/i0DEhj3OELuDQY8a3Yk0uvyTncOZaNIWFAD9zf+45bbF2xm/AWoh+ArXEpBQuQ==; WLID=KUYfPWEbNlPRDrYXPelkjmxJvZFv0wz6tT96dilh4DCgLNrpdRPJSpCbu2rfDBmVcuJKl1X4cpPSqjovbW50ggCgqZIzWp683k+1CUJICHs=; SRCHUSR=DOB=20220619&T=1688146375000&TPC=1685734779000&POEX=W; _HPVN=CS=eyJQbiI6eyJDbiI6MTQsIlN0IjowLCJRcyI6MCwiUHJvZCI6IlAifSwiU2MiOnsiQ24iOjE0LCJTdCI6MCwiUXMiOjAsIlByb2QiOiJIIn0sIlF6Ijp7IkNuIjoxNCwiU3QiOjAsIlFzIjowLCJQcm9kIjoiVCJ9LCJBcCI6dHJ1ZSwiTXV0ZSI6dHJ1ZSwiTGFkIjoiMjAyMy0wNi0zMFQwMDowMDowMFoiLCJJb3RkIjowLCJHd2IiOjAsIkRmdCI6bnVsbCwiTXZzIjowLCJGbHQiOjAsIkltcCI6NDN9; SRCHHPGUSR=SRCHLANG=en&BRW=MW&BRH=MT&CW=1902&CH=922&SW=1536&SH=864&DPR=2.8&UTC=480&DM=0&PV=11&WTS=63823445133&BZA=0&PRVCW=393&PRVCH=851&HV=1688146817&SCW=1902&SCH=922&HBOPEN=2; _RwBf=ilt=5&ihpd=1&ispd=0&rc=30&rb=30&gb=0&rg=0&pc=30&mtu=0&rbb=0.0&g=0&cid=&clo=0&v=4&l=2023-06-30T07:00:00.0000000Z&lft=0001-01-01T00:00:00.0000000&aof=0&o=0&p=bingcopilotwaitlist&c=MY00IA&t=8305&s=2023-02-19T09:46:05.9860389+00:00&ts=2023-06-30T17:39:35.7692651+00:00&rwred=0&wls=2&lka=0&lkt=0&TH=&mta=0&e=1FouwS5GVXBVl-SkUiOwiZzt0OE6NrGp9VOEBUZVm8_C_dS7_q_nvq-yiW1bzUP-KIXibyq2kf5HkqCbVM7EGg&A=BDF919D5061D7F41CCECB893FFFFFFFF&dci=0; SUID=A; WLS=C=aa4e6de0bbbb2fd0&N=lizan; _SS=SID=1A9307EC7FD662F3261514AD7E0F63C8; _U=10tbPuGOdzPNMte05ZF-7PujpfTktYWP5vffV0QlYXYElxiZIenSCz69Wr4_EmJH3DEPDT1ewxutXE28f8BucrmvsUMM_dYx23lrl6ia2XHR-B6dZ9TBlLRw-dFn9KqwXmaY6ozCPvW5bvnayy9h5AQpSwxa50xkfSZhxivIgiaQWz6fx0JAdT4mAQSoaumIW1cJZi3gR5nRXxe4x2uJJ5Q
Sec-WebSocket-Key: BgvTFvtUpQzEgl0tGl/iNg==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits

发送配置

X-Timestamp:Sun Jul 02 2023 03:46:41 GMT+0800 (中国标准时间)
Content-Type:application/json; charset=utf-8
Path:speech.config

{"context":{"synthesis":{"audio":{"metadataoptions":{"sentenceBoundaryEnabled":"false","wordBoundaryEnabled":"true"},"outputFormat":"webm-24khz-16bit-mono-opus"}}}}

发送文本ssml:

X-RequestId:04b1283ca619378ea55726f80903a6bf
Content-Type:application/ssml+xml
X-Timestamp:Sun Jul 02 2023 03:46:41 GMT+0800 (中国标准时间)Z
Path:ssml

<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='https://www.w3.org/2001/mstts' xml:lang='en-US'><voice name='Microsoft Server Speech Text to Speech Voice (en-US, AriaNeural)'><prosody pitch='+0Hz' rate ='+0%' volume='+0%'>         Prepare for a career in tech by joining GitHub Global Campus. Global Campus will help you get the practical industry         knowledge you need by giving you access to industry tools, events, learning resources and a growing student community.       </prosody></voice></speak>

回复

1.
X-RequestId:04b1283ca619378ea55726f80903a6bf
Content-Type:application/json; charset=utf-8
Path:turn.start

{
  "context": {
    "serviceTag": "a11f02b087bc4f7ea6ee4731eebf85f6"
  }
}

2.
X-RequestId:04b1283ca619378ea55726f80903a6bf
Content-Type:application/json; charset=utf-8
Path:response

{"context":{"serviceTag":"a11f02b087bc4f7ea6ee4731eebf85f6"},"audio":{"type":"inline","streamId":"575A2A1723424F01BE42AF68534E15B9"}}

3.
X-RequestId:04b1283ca619378ea55726f80903a6bf
Content-Type:application/json; charset=utf-8
Path:audio.metadata

{
  "Metadata": [
    {
      "Type": "WordBoundary",
      "Data": {
        "Offset": 1000000,
        "Duration": 4625000,
        "text": {
          "Text": "Prepare",
          "Length": 7,
          "BoundaryType": "WordBoundary"
        }
      }
    }
  ]
}

4.
X-RequestId:04b1283ca619378ea55726f80903a6bf
Content-Type:application/json; charset=utf-8
Path:audio.metadata

{
  "Metadata": [
    {
      "Type": "WordBoundary",
      "Data": {
        "Offset": 5750000,
        "Duration": 2000000,
        "text": {
          "Text": "for",
          "Length": 3,
          "BoundaryType": "WordBoundary"
        }
      }
    }
  ]
}

以此类推...

5.二进制
[0x00,0x8C]X-RequestId:04b1283ca619378ea55726f80903a6bf
Content-Type:audio/webm; codec=opus
X-StreamId:575A2A1723424F01BE42AF68534E15B9
Path:audio[\r\n]
音频二进制数据...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment