2016-03-19 17 views
0

Project Oxford Hoparlör Tanıma API'sini (https://dev.projectoxford.ai/docs/services/563309b6778daf02acc0a508/operations/5645c3271984551c84ec6797) kullanmak için çok çalışıyorum.Project Oxford Hoparlör Tanıma - Geçersiz Ses Biçimi

Mikrofonumdaki sesleri, gerekli WAV'a (PCM, 16bit, 16K, Mono) dönüştürdüm.

Sorun, bu dosyayı API'ya bir ikili akış olarak göndermeye çalıştığımda bir Geçersiz ses biçimi hata iletisi döndürmesidir.

Aynı dosya web sitesindeki demo tarafından kabul edilir (https://www.projectoxford.ai/demo/SPID).

Bu kodla python 2.7 kullanıyorum.

import httplib 
import urllib 
import base64 
import json 
import codecs 

headers = { 
    # Request headers 
    'Content-Type': 'application/octet-stream', 
    'Ocp-Apim-Subscription-Key': '{KEY}', 
} 

params = urllib.urlencode({ 
}) 


def enroll(audioId): 
    conn = httplib.HTTPSConnection('api.projectoxford.ai') 
    file = open('test.wav','rb') 
    body = file.read() 
    conn.request("POST", "/spid/v1.0/verificationProfiles/" + audioId +"/enroll?%s" % params, str(body), headers) 
    response = conn.getresponse() 
    data = response.read() 
    print data 
    conn.close() 
    return data 

Ve bu benim aldığım yanıttır.

{ 
    "error": { 
     "code": "BadRequest", 
     "message": "Invalid Audio Format" 
    } 
} 

Lütfen, kimsenin neyi eksik olduğum konusunda yönlendirebileceğini varsayalım. Ses dosyasının tüm özelliklerini ve API'nin ihtiyaç duyduğu gereksinimleri doğruladım, ancak şansım yok.

Tüm cevaplar ve görüşler takdir edilmektedir.

+0

Ses dosyasını nasıl dönüştürdünüz? Ben dönüştürme konusunda sorunları yaşıyorum ... özellikleri nedeniyle herhangi bir ses ile çalışamaz ... –

+0

Nevermind bir çevirici bulundu (Bigasoft Toplam Video Dönüştürücü 5) –

cevap

2

Bu dosyayı Ruby'de bulunan test programımla Project oxford'a gönderdim ve düzgün çalışıyor. Sorunun, gönderdiğiniz diğer paramlarda olabileceğini düşünüyorum. 'İçerik Türü' başlığınızı 'ses/dalga' olarak değiştirmeyi deneyin; samplerate = 1600 'bu benim kullandığım başlıktır. Ayrıca, dosya boyutuna sahip bir 'İçerik Uzunluğu' başlığı da gönderiyorum. 'İçerik Uzunluğu'nun gerekli olup olmadığından emin değilim, ancak bunu eklemek iyi bir standart.

+0

Bunun için teşekkürler! Sonunda işe koyuldum! Bu başlık hakkında nasıl bildin? API belgeleri bunu söylemiyor. –

İlgili konular