[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: cmu sphinx и JavaScript
arbuzmaster
Добрый день подскажите пожалуйста как реализовать следующее - 1 Есть сервер с CMU pocketSphinx 2 Есть JavaScript который на клиенте записывает звук с микрофона и сохраняет его в Blob затем создает файл rec.wav и сохраняет его на клиенте Вопрос: как передать или перенаправить Blob или сам файл на сервер для дальнейшей обработки?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
AllesKlar
Как вариант, сделать форму, после создания яваскриптом файла, заполнить тем же яваскриптом поле <input type='file'> и субмитнуть форму.
Ну или аяксом его тудыть.

_____________
[продано копирайтерам]
vital
Цитата
заполнить тем же яваскриптом поле <input type='file'>

покажите пожалуйста как яваскриптом это сделать. Именно код.
Который заполнит инпут, путем к файлу на компьютере пользователя, который скачали ранее, и загрузит.

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
AllesKlar
vital
Ну, как-то так..
Цитата
Есть JavaScript который на клиенте записывает звук с микрофона и сохраняет его в Blob затем создает файл rec.wav и сохраняет его на клиенте

Раз яваскрипт сохраняет, он же знает, куда он сохраняет.

_____________
[продано копирайтерам]
vital
Цитата (AllesKlar @ 13.10.2014 - 18:12)
vital
Ну, как-то так..
Цитата
Есть JavaScript который на клиенте записывает звук с микрофона и сохраняет его в Blob затем создает файл rec.wav и сохраняет его на клиенте

Раз яваскрипт сохраняет, он же знает, куда он сохраняет.

Нет.
пс.
Не стоит писать когда ни бум-бум.

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
AllesKlar
vital
Ну, дабы не прослыть и далее бум-бумом, можно ссыль или метод, которым пишем звук яваскриптом?
Покопаюсь на досуге.

_____________
[продано копирайтерам]
arbuzmaster
Я нашел в нете кучу примеров на XMLHttpRequest 2 но они все про то как загрузить файл в blob причем ни один в chrome не работает!
Попробовал так

var blob = new Blob ( [ view ], { type : 'audio/wav' } );

xmlHttp = new XMLHttpRequest();
var fraze = URL.createObjectURL(blob);
var url = "/test/tester.php?result=" + fraze;
xmlHttp.open("GET", url, true);
// xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);

в итоге через $_GET получил вот это -
blob:http://192.168.0.18/10cbfcc6-7e39-4599-8f9f-fdaa01bdc77f.... что это?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
arbuzmaster
Метод getUserMedia audio

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
vital
https://nusofthq.com/blog/recording-mp3-usi...t-recordmp3-js/ - тут все рассказано
https://github.com/nusofthq/Recordmp3js - как тут сделано все за вас, с примерами и загрузкой
https://github.com/muaz-khan/WebRTC-Experim...aster/RecordRTC - другой вариант

Большая проблема в том, что работает это нынче в ограниченном количестве браузеров с кучей танцев с бубнами.

Проще флеш выучить smile.gif

Собсвтенно я не работал со звуком, а про блобы могу завтра на работе из проекта кусок выдрать.

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
arbuzmaster
с flash у меня нет проблем - работает только на компах А вот Android не поддерживает flash вернее он поддерживает при установке .. ну короче flash точно не работает в Chrome на Android. Сейчас как раз пробую но не RecordRTC а speechrtc Мне нужна поддержка только в Chrome № 1 видел у меня примерно тоже самое только wav

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
AllesKlar
Цитата (vital @ 13.10.2014 - 22:07)
https://nusofthq.com/blog/recording-mp3-usi...t-recordmp3-js/ - тут все рассказано
https://github.com/nusofthq/Recordmp3js - как тут сделано все за вас, с примерами и загрузкой
https://github.com/muaz-khan/WebRTC-Experim...aster/RecordRTC - другой вариант

Большая проблема в том, что работает это нынче в ограниченном количестве браузеров с кучей танцев с бубнами.

Проще флеш выучить smile.gif

Собсвтенно я не работал со звуком, а про блобы могу завтра на работе из проекта кусок выдрать.

О, спасибо. А то сериалы все кончились уже.

_____________
[продано копирайтерам]
vital
Цитата
ну короче flash точно не работает в Chrome на Android

А у меня отлично работает, начиная с андроида 2.3.6 - после легкого гугла, а на 4.4.2 - вообще из коробки. Так что кто-то из нас что-то делает не так wink.gif

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
arbuzmaster
Цитата (vital @ 13.10.2014 - 23:32)
Цитата
ну короче flash точно не работает в Chrome на Android

А у меня отлично работает, начиная с андроида 2.3.6 - после легкого гугла, а на 4.4.2 - вообще из коробки. Так что кто-то из нас что-то делает не так wink.gif

Ну тогда не знаю!! Если поставить flash кодек или как там его называют то flash конечно работает Но дело в том что мобильная версия урезана и не все функции Action Script 2 доступны поэтому что касается именно записи звука с микрофона и отправки на сервер не работает на 4.1.2

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
vital
Цитата
мобильная версия урезана и не все функции Action Script 2 доступны

Ну я не знаю этого, флешерам виднее smile.gif

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
arbuzmaster
подскажите пожалуйста как собрать это в одно целое ?
Создается с начало Blob
 this.exportWAV = function(cb, type){
currCallback = cb || config.callback;
type = type || config.type || 'audio/wav';
if (!currCallback) throw new Error('Callback not set');
worker.postMessage({
command: 'exportWAV',
type: type
});
}

worker.onmessage = function(e){
var blob = e.data;
currCallback(blob);
}

source.connect(this.node);
this.node.connect(this.context.destination); //this should not be necessary
};

Затем сам файл (от этого хотелось бы избавится)

Recorder.forceDownload = function(blob, filename){
var url = (window.URL || window.webkitURL).createObjectURL(blob);
var link = window.document.createElement('a');
link.href = url;
link.download = filename || 'output.wav';
var click = document.createEvent("Event");
click.initEvent("click", true, true);
link.dispatchEvent(click);
}

Как и куда вставить это:
	function uploadAudio(mp3Data){
var reader = new FileReader();
reader.onload = function(event){
var fd = new FormData();
var mp3Name = encodeURIComponent('audio_recording_' + new Date().getTime() + '.mp3');
console.log("mp3name = " + mp3Name);
fd.append('fname', mp3Name);
fd.append('data', event.target.result);
$.ajax({
type: 'POST',
url: 'upload.php',
data: fd,
processData: false,
contentType: false
}).done(function(data) {
//console.log(data);
log.innerHTML += "\n" + data;
});
};
reader.readAsDataURL(mp3Data);
}

чтобы принять в php
<?php

if(!is_dir("recordings")){
$res = mkdir("recordings",0777);
}

// pull the raw binary data from the POST array
$data = substr($_POST['data'], strpos($_POST['data'], ",") + 1);
// decode it
$decodedData = base64_decode($data);
// print out the raw data,
//echo ($decodedData);

$filename = urldecode($_POST['fname']);
// write the data out to the file
$fp = fopen('recordings/'.$filename, 'wb');
fwrite($fp, $decodedData);
fclose($fp);
?>


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.