Вверх ↑
Этот топик читают: Гость
Ответов: 168
Рейтинг: 0
#1: 2019-03-06 21:23:58 ЛС | профиль | цитата
подскажите как записать аудио файл в формате OGG
карма: 0
Даже великие ошибаются
0
vip
#1.1контекстная реклама от партнеров
Ответов: 1369
Рейтинг: 85
#2: 2019-03-06 22:05:16 ЛС | профиль | цитата
Таких кубиков не завезли.
Берёшь OpenAL32.dll, или Squall.dll и пользуешься соответствующими функциями.
Где-то на форуме был пример на IC по использованию Squall.
А почему mp3 не подходит?
Для Bass я когда-то выкладывал кубик для записи в mp3.

Редактировалось 1 раз(а), последний 2019-03-06 22:11:45
карма: 4

0
Ответов: 168
Рейтинг: 0
#3: 2019-03-06 22:56:19 ЛС | профиль | цитата
flint2 писал(а):
А почему mp3 не подходит?
Яндекс распознавание речи производит только из файлов с расширением OGG. Получилось разобраться с отправкой POST, и возникла другая проблема, как создать поток, или хотя-бы просто записать такой файл.
Вот тема: http://forum.hiasm.com/topic/67284
карма: 0
Даже великие ошибаются
0
Ответов: 1369
Рейтинг: 85
#4: 2019-03-06 23:56:16 ЛС | профиль | цитата
egorhay писал(а):
возникла другая проблема, как создать поток, или хотя-бы просто записать такой файл.

Создать звуковой поток по сети - это отдельная и не простая задача.
Может всё-таки просто переслать туда ogg файл?
Записать ogg файл из wav это просто, а вот из звукового потока сразу в ogg - это уже сложнее.
Ты сам сможешь сделать, тогда я поищу у себя библиотеку звукового вещания над TCP и голосовой чат?
По ссылке, что ты привёл выше, похоже что тебе надо разобраться со звуковыми потоками, Encode-дерами и нужно-ли создавать поток. Все три вопроса, что ты задал - практически никак не связаны, кроме слова поток и в каждом случае он имеет свой смысл! Что-же в конечном итоге нужно?
Тебе надо чётко разобраться, "на пальцах", как всё должно работать.
Не поленился, почитал:
Чтобы распознать русскую речь с помощью SpeechKit API, отправьте небольшой аудиофрагмент, например speech.ogg, с помощью POST-запроса.

Ну чего голову морочить с двоичным содержимым аудиофайла и потоками?!
Там-же русским языком написано - переслать семпл в файле speech.ogg.
А раз пишут
(двоичное содержимое аудиофайла)
то наверняка сервис должен принимать MP3 и WAV.
Остаётся загадкой, какое практическое значение может иметь сие?

Редактировалось 9 раз(а), последний 2019-03-07 08:44:29
карма: 4

0
Ответов: 168
Рейтинг: 0
#5: 2019-03-07 12:30:55 ЛС | профиль | цитата
Вы феноменально правы) Получилось закинуть скормить WAV файл. только теперь нужно понять как это это сделать в HIASM и все связать. Я так понимаю это можно сделать с помощью Add(Record,12522977,175,161)
{
}
...
А суть моей задачи просто. Хочу убедиться, что голосовое распознавание с помощью hiasm все таки возможно ) Ну и для саморазвития.
карма: 0
Даже великие ошибаются
0
Ответов: 1369
Рейтинг: 85
#6: 2019-03-07 14:02:46 ЛС | профиль | цитата
А суть моей задачи просто. Хочу убедиться, что голосовое распознавание с помощью hiasm все таки возможно ) Ну и для саморазвития.

Вот как мы любим подменять понятия!
Нет, с помощью hiasm все таки не возможно этого сделать!!!
Получилось закинуть скормить WAV файл.

Учитывая, что там есть условие - Не более 1мб., то думаю, что с WAV каши не сваришь.
Если только фразу - "Мама мыла Раму."
(Мама исповедовала индуизм и был праздник, аналог чистого четверга.)
Вот, держи Lame-ENC http://forum.hiasm.com/getfile/38625
В пример не положил звуковых файлов по причине ограничения размера выкладываемых файлов.

Редактировалось 1 раз(а), последний 2019-03-07 14:38:54
карма: 4

0
Ответов: 168
Рейтинг: 0
#7: 2019-03-07 16:05:25 ЛС | профиль | цитата
Смотри что получилось)) Я сделал что хотел)

Add(HTTPClient,7935507,217,434)
{
URL="https://stt.api.cloud.yandex.net/speech/v1/stt:recognize/?lang=ru-RU&folderId=b1gus2fv73rl9vr9dbov&format=lpcm&sampleRateHertz=48000"
Method=1
UserAgent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.8d Safari/537.36"
Referer="https://stt.api.cloud.yandex.net/speech/v1/stt:recognize/?lang=ru-RU&folderId={b1gus2fv73rl9vr9dbov}&format=oggopus"
Headers="Authorization: Bearer CggaATEVAgAAABKABLQ_PC58AFs1V2dX6ZQqFwhvLCVekKbGYO8geWsOAWbNDl2ZHMrztY3n_Oowpg4E26tGUSK5M5j3P5JLK-T2Ws_XGim4rKqGZ-udiZNurGjUcw2bubsy8yVl9ydCoGDlIlP540J_oTfIdiS4uHUbI5clRUUiGzjnZ9CBx7sKH982idU0QVZUc-mxH9xOZP8pcROyJA59fTVcFQvqRNjCg_Z_QIuDx6ErdK33pxX5g-iXIQIQJ2DU6ImBsW0WjKowF_IH8O332nCX_7DSy5D9y4HEmK2wtcJyr8TPyTFXwxD1VbNtCs4gakEACBMog5MitXYMr5hLSBKO21t4Kkg0KCv2yF1wdsggtFqfvxmVW7kmv7deYG__IGNrKYjsbiizlBd9v7r4KzMJbMhDl8K6a5qR4kR18WNomrMllczciZfq71Fc8mMSI6RaPMt-HDQgWM9AJZXlamSh-MGrm80tnM0kEEP0xx68BthktebsttF2SNuE1RaBBfCHiDW6XwpUBO0qneJB_j_DcD7EGYqgcWta3xcfN_22kqt5HB5hZegw5_bpSiri1YcqEdHeEJXyUTT1NdNtOmruhwcR6L0tHVSa9Y-Yi8R2Ib8z2mOMvwGUQnun8HDlyLItN8CRUwNPDs_uoJB7ZZ_kEtWapbfm8ahY7gr1w4Nj8a6OoZ362RlQGmEKIDc0YTgyMTNmOGY4YzRhNzJhMDE3ODYzN2M5N2U5YzUxEKG9g-QFGOGOhuQFIh8KFGFqZTlqbHY5M3UxdDVmNWE0M3QzEgdlZ29yaGF5WgAwAjgBSggaATEVAgAAAFABIPAE"
AutoRedirect=0
PostData="..."
FileField="..."
Boundary=""
Point(UploadFile)
Point(PostData)
Point(RawHeaders)
link(onHeadersAvail,6996692:doData,[])
link(onFinish,12949171:doEvent2,[])
link(UploadFile,14528493:Var1,[(237,299)])
}
Add(Memo,13284783,441,434)
{
Left=15
Top=185
Width=360
Height=35
ScrollBars=2
link(onChange,29578:doSearch,[])
}
Add(DoData,6996692,294,434)
{
link(onEventData,12949171:doEvent1,[])
link(Data,2827459:getVar,[])
}
Add(Hub,12949171,350,434)
{
InCount=2
OutCount=1
link(onEvent1,2504412:doCharset,[])
}
Add(LineBreakEx,2827459,294,406)
{
Caption="head"
Type=2
}
Add(LineBreakEx,15257747,231,483)
{
Caption="head"
Type=3
link(_Data,7935507:ContentType,[])
}
Add(MainForm,2953706,154,119)
{
Height=274
Point(Handle)
link(onCreate,4252681:doInit,[])
}
Add(BASS_Version,10183901,266,133)
{
link(onCheckOk,2139448:doEnum,[])
link(onCheckFailed,109118:doMessage,[(306,146)(306,188)])
}
Add(Message,11232751,266,182)
{
Message="Error BASS initialization"
Caption="Error"
Icon=1
}
Add(Message,109118,315,182)
{
Message="Incorrect version of BASS library "
Caption="Error"
Icon=1
}
Add(BASS_Init,4252681,217,133)
{
Device=1
Freq=48000
link(onInit,10183901:doCheck,[])
link(onError,11232751:doMessage,[(257,146)(257,188)])
link(Handle,2953706:Handle,[(237,124)(209,124)(209,159)(160,159)])
}
Add(BASS_RecordCenter,12302345,413,140)
{
link(onInit,15862958:doEnumInputs,[])
link(onError,11713735:doMessage,[(450,153)(450,195)])
}
Add(Message,11713735,462,189)
{
Message="InitRecord failed!"
Caption="Error"
Icon=1
}
Add(BASS_RecordInput,15862958,462,140)
{
link(onEnumInputs,16487182:doEvent1,[])
}
Add(BASS_InputControl,9998094,588,140)
{
Volume=1
State=1
link(Volume,5583556:Var1,[(601,124)])
link(State,5583556:Var2,[])
}
Add(Memory,4613851,602,77)
{
Default=Integer(1)
}
Add(ComboBox,4718633,364,133)
{
Left=5
Top=5
Width=185
Height=21
Text="Звуковая карта"
Point(Index)
link(onClick,12302345:doInit,[])
}
Add(BASS_RecordStart,12537631,301,315)
{
Freq=48000
Name="AMofComp"
link(FileName,14528493:Var2,[])
}
Add(ComboBox,8950199,539,147)
{
Left=195
Top=5
Width=175
Height=21
Enabled=1
Text="Вход"
Point(doEnabled)
Point(Index)
link(onClick,9998094:doSetInput,[(578,160)(578,146)])
}
Add(BASS_RecordDevices,2139448,315,133)
{
link(onEnum,4718633:doAdd,[])
}
Add(Hub,16487182,504,140)
{
link(onEvent1,8950199:doEnabled,[(528,146)(528,195)])
link(onEvent2,8950199:doAdd,[])
}
Add(Button,14922219,189,301)
{
Left=10
Top=35
Width=360
Caption="Запись"
link(onClick,9980539:doEvent1,[])
}
Add(Button,8623319,189,336)
{
Left=10
Top=80
Width=360
Caption="Отправить"
link(onClick,8616683:doEvent1,[(249,342)(249,328)])
}
Add(Edit,15366374,301,231)
{
Left=375
Top=30
Width=170
Visible=1
Text="MySound.wav"
}
Add(GetDataEx,14528493,301,294)
{
link(Data,15366374:Text,[])
}
Add(Hub,8616683,266,322)
{
OutCount=3
link(onEvent1,12537631:doStop,[])
link(onEvent2,10868615:doTimer,[(292,335)(292,387)(128,387)(128,440)])
link(onEvent3,232462:doData,[(343,342)(343,335)])
}
Add(Timer,10868615,140,434)
{
Interval=500
Enable=1
AutoStop=1
link(onTimer,7935507:doLoadString,[])
}
Add(GetDataEx,5583556,602,119)
{
link(Data,4613851:Value,[])
}
Add(Charset,2504412,385,434)
{
Type=7
link(onCharset,13284783:doAdd,[])
}
Add(BlockFind,29578,490,434)
{
IncludeBlock=1
StartBlock=""result": ""
EndBlock=""}"
link(onSearch,14535389:doString,[])
link(Text,13284783:Text,[(496,422)(472,422)(472,491)(447,491)])
}
Add(FormatStr,14535389,532,434)
{
Mask="Вы сказали: %1"
link(onFString,11890050:doAdd,[])
}
Add(RichEdit,11890050,574,434)
{
Left=5
Top=100
Width=370
Height=130
AddType=1
ScrollBars=2
}
Add(Label,8015872,455,287)
{
Left=15
Top=60
Width=4
Height=4
Caption=""
Alignment=2
}
Add(DoData,11753162,406,287)
{
Data=String(Говорите)
link(onEventData,11328258:doWork2,[])
}
Add(Hub,9980539,245,301)
{
link(onEvent1,12537631:doStart,[(291,307)(291,321)])
link(onEvent2,11753162:doData,[(333,314)(333,293)])
}
Add(DoData,232462,406,329)
{
Data=String()
link(onEventData,11328258:doWork3,[(445,335)])
}
Add(HubEx,11328258,441,287)
{
link(onEvent,8015872:doText,[])
}

карма: 0
Даже великие ошибаются
0
Ответов: 1369
Рейтинг: 85
#8: 2019-03-07 16:12:49 ЛС | профиль | цитата
Смотри что получилось)) Я сделал что хотел)

Это радует, но в тоже время и тревожит.
Речь в этом посте шла совсем о другом.
Я не вижу сжатия файлов.
Вижу только WAV.

Схемы дублировать во всех постах совсем не обязательно.
P.S.
На сколько я помню:
egorhay писал(а):
Хочу убедиться, что голосовое распознавание с помощью hiasm все таки возможно )

Эта схемка совершенно из другой оперы, которая показывает работу Bass библиотеки и работу HTTP клиента. О распознавании даже намёка нет.
Использование сетевого сервиса и создание такового совсем не одно и тоже!
ТщательнЕй, тщательнЕй формулируйте свои мысли.

Редактировалось 3 раз(а), последний 2019-03-07 16:42:43
карма: 4

0
Ответов: 168
Рейтинг: 0
#9: 2019-03-07 16:50:00 ЛС | профиль | цитата
Спасибо ) Все учту
карма: 0
Даже великие ошибаются
0
Ответов: 1255
Рейтинг: 67
#10: 2019-03-16 11:32:38 ЛС | профиль | цитата
а распознавание у яндекса разве не платное?
карма: 2

0
Ответов: 168
Рейтинг: 0
#11: 2019-03-16 22:57:22 ЛС | профиль | цитата
Konst писал(а):
разве не платное

Платное, для саморазвития будет полезно изучить как это работает) Бесплатно можно C# с помощью. Speech recognition и System.Speech.
Но то, что он распознает, чистая случайность.
карма: 0
Даже великие ошибаются
0
Ответов: 168
Рейтинг: 0
#12: 2019-03-18 11:58:34 ЛС | профиль | цитата
.

Редактировалось 1 раз(а), последний 2019-03-18 12:04:20
карма: 0
Даже великие ошибаются
0
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)