Diretório de artigos
Construção de aplicativo
- Aplicativo baseado em html + javascript
- A API de terceiros usada é fornecida pelo Assembly AI
IA de montagem
- Para usar a função de transcrição em tempo real, primeiro você precisa registrar um pacote Assembly AI ,
pro
- Eu o armazeno por padrão
$5
como minha taxa para jogar este aplicativo
token
O próximo passo é colocar isso dentroserver.js
deauthorization
estrutura de pastas
.
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── css
│ ├── index.html
│ └── js
└── server.js
3 directories, 5 files
- Este código é baseado no código baseado na recomendação oficial do Assembly AI
javascript
, mas alguns ajustes detalhados foram feitos para implantação. Você pode usar diretamente meu código-fonte para modificá-lo - Tente colocar todos os recursos estáticos
public
na pasta
Construção de front-end
HTML
- O front-end é baseado no
HTML
arquivo original. Vale ressaltar que adicionei um<div>
"all_text" ao código original para facilitar a fala de cada pessoa e iniciar um novo parágrafo para o próximo discurso. Dessa forma, se houver várias pessoas se comunicando juntas, elas podem ser exibidas em ordem, enquanto o código-fonte coloca apenas todas as falas de uma pessoa em um parágrafo<p id="message">
.
index.js
- No início, usamos
CSS
o seletor para localizar esses objetos, para que possamos operardom
em diferentes objetos posteriormentedom
- No geral,
click
vinculamos um evento abutton
, e quando issoclick
acontecer, iniciaremosrun
essa função assíncrona
run
A lógica do código principal26
começa no início da linhaelse
. Se você não implantar aquiHeroku
, é equivalente a usar o seu própriolocalhost
como servidor e atribuir uma porta (no meu programa, eu uso30001
a porta) e atribuir umendpoint
para especificar o endpoint para acessar o back-end para solicitar serviços. Precisamos falar sobre esse serviço em combinação com o código do back-end/token
.token
Aqui você só precisa ter um entendimento geral. Para usartranscript
esta função do Assembly AI, precisamostoken
provar nossa identidade ao Assembly AI. Portanto,record
quando o front-end clica no botão, é necessário que o back-end solicite isso do Assembly AI.token
response
O resultado é estetoken
- Portanto, o front-end usa isso
token
para estabelecer uma conexão diretamente com o servidor Assembly AIWebsocket
. É importante observar que isso é apenas um ponto, porque geralmente usamoshttp
a conexão, mashttp
o problema da conexão é que ela solicita um conjunto de dados a cada vez, e a conexão será desconectada após cada solicitação. No entanto, realizar a transcrição é um processo contínuo, portanto, não podemos deixar a conexão ser desconectada, então usamos para estabelecer umawebsocket
conexão - Se você precisar implantar mais tarde
Heroku
, o endpoint da solicitação será alterado para o endpoint do serviçotoken
que você mesmo implantouHeroku
token
- Depois de
Websocket
obter os dados correspondentestranscript
, eles podem ser exibidos no front-end passo a passo.
- Aqui
res
estão os dados retornados pela API Assembly AI. Cada dado terá alguns atributos (recomenda-se depurá-los você mesmo), quemessage_type
podem indicar se a frase atual é a frase que o locutor terminou de falar. Em caso afirmativo, exibirei o resultado do próximo reconhecimento em um novo parágrafo aqui.
Construção de back-end
server.js
requer atenção:
- Defina a pasta estática, isso é
Heroku
muito importante para , se não for especificado aqui, a página de front-end não será exibida após a implantação do Heroku authorization:
O último exige que você se inscreva para umpro
pacote Assembly AI para usar, e ele lhe dará um , e você pode se inscrever no plano de fundo do Assembly AI para transcrição de texto somentekey
depois de obter issokey
token
- Para especificação de porta, se for local, você pode gravar diretamente qualquer porta, mas no
Heroku
processo de implantação do , ele precisa alocar uma porta para você em tempo real, por isso está escritoprocess.env.PORT || 30001
, o que significa que se30001
a porta estiver disponível quando o servidor for implantado, ela será usada e, se não estiver disponível, será atribuída automaticamente. server.js
Em essência, apenas uma coisa é feita, que ékey
solicitar uma do background AI do Assemblytoken
e devolvê-la ao front-end
pacote.json
finalmente package.json
o arquivo
- Se
Heroku
a implantação for realizada, o aplicativoHeroku
será habilitado por padrão após a implantação ser bem-sucedidanpm start
, mas não existe esse comando no código original fornecido pelo autorstart
, portanto, definimos aqui o comandostart
para abrirserver.js
o aplicativo
Implantação do Heroku
- Observe que tente não usar VPN durante o uso
Heroku
, pois ele detectará seu problema de endereço, se não corresponder, informará um erro, claro que isso é um evento de probabilidade, então sugiro desligar a VPN
Crie a sua conta aqui
- Agora o login do Heroku adicionou muita verificação de segurança, como usar telefones celulares ou ipads para criar comandos de segurança, mas não se preocupe, apenas faça
Criar um aplicativo Heroku
- Ao usar esta etapa pela primeira vez, você também deve vincular um cartão bancário para facilitar a dedução posterior. Você pode definir isso de acordo com a situação
carregar armazém
- Digamos que eu crie um aplicativo chamado
transcrpit-demo2
- Siga esta etapa para operar em sua pasta local