PDA

Bekijk Volledige Versie : Woorden naar spraak in MP3



BasvDisseldorp
14/05/13, 23:54
Hallo allemaal,

Ik vraag me af of ik hier mensen kan vinden die me hiermee kunnen helpen, dus vandaar deze post.

Context: Ik ben bezig met het maken van een plansysteem waarin werknemers kunnen worden ingedeeld. Deze indeling word (nu nog) handmatig gemaakt en daarna doorgestuurd aan de werknemers zelf.

Al de hele avond ben ik op zoek naar een gratis/goedkope spraaksynthese, te vergeefs. Daarnaast ben ik ook met de TelAPI aan het experimenteren en aangezien SMS berichten duurder zijn dan een telefoongesprek van 2 minuten wilde ik de werknemers bellen met een gesproken tekst: "Beste [naam], Ik wilde je even doorgeven dat je [datum] moet werken om [tijd]." Aangezien het gaat om een testperiode met een bedrijf van 30 man, kan ik dit best zelf inspreken. Het gaat dan dus om alleen de namen, getallen, maanden en tijden. Aangezien ik niet alle opties kan opnemen en hosten en blabla is dat geen optie.

Weet er iemand een manier om van verschillende audio bestanden (.mp3?) met PHP o.i.d. een langer audio bestand te maken? Is er een audio library voor een online programmeertaal?

Ik hoop dat iemand me kan helpen! :-)

visser
15/05/13, 00:25
Hallo allemaal,

Ik vraag me af of ik hier mensen kan vinden die me hiermee kunnen helpen, dus vandaar deze post.

Context: Ik ben bezig met het maken van een plansysteem waarin werknemers kunnen worden ingedeeld. Deze indeling word (nu nog) handmatig gemaakt en daarna doorgestuurd aan de werknemers zelf.

Al de hele avond ben ik op zoek naar een gratis/goedkope spraaksynthese, te vergeefs. Daarnaast ben ik ook met de TelAPI aan het experimenteren en aangezien SMS berichten duurder zijn dan een telefoongesprek van 2 minuten wilde ik de werknemers bellen met een gesproken tekst: "Beste [naam], Ik wilde je even doorgeven dat je [datum] moet werken om [tijd]." Aangezien het gaat om een testperiode met een bedrijf van 30 man, kan ik dit best zelf inspreken. Het gaat dan dus om alleen de namen, getallen, maanden en tijden. Aangezien ik niet alle opties kan opnemen en hosten en blabla is dat geen optie.

Weet er iemand een manier om van verschillende audio bestanden (.mp3?) met PHP o.i.d. een langer audio bestand te maken? Is er een audio library voor een online programmeertaal?

Ik hoop dat iemand me kan helpen! :-)

'sox' (http://en.wikipedia.org/wiki/SoX ) kan audio bestanden in diverse formaten knippen en plakken.
MP3 lijkt me geen optimaal formaat hiervoor overigens; Ik denk dat ik gewoon met .au , of een ander uncompressed formaat en dan de audio bandbreedte afkappen op ca 4 Khz. Dat is de klassieke grens voor spraaktelefonie. Het is ook nog mono.
Meestal gaat de kwaliteit er meer op achteruit als er diverse codecs in het pad zitten (raw -> mp3 -> decode -> gsm codec ) dan wanneer je gewoon raw-4khz -> gsm codec doet.

Er zijn wel wat text to speech programma's zie ik , maar voor jouw soort boodschap zou ik de opties toch gewoon inspreken.
Niet alle permutaties natuurlijk, maar 30 namen, 31 dag nummers, 12 maanden , 12 uren "overdag" "'snachts" "ochtends" "smiddags" . Misschien nog wat extra's (half , kwart voor, kwart over ). Het lijkt me sterk dat je minuten en seconden zou moeten doen, maar dan nog zijn het er maar 120 .

Een krappe honderd bestandjes en woorden lijkt me prima te overzien, en beter verstaanbaar dan wat er uit een spraakrobot komt.
Qua diskvolume is het bijna niks, en het inspreken is ook nog wel te doen.
Mocht je zelf geen optimale telefoonstem hebben kan iemand (secretaresse ?) op het bedrijf het inspreken misschien doen.

Met een scriptje genereer je de lijst bestanden en volgorde die je dan door sox in een tijdelijk bestand aan elkaar laat plakken, of wellicht gewoon achter elkaar laat uitspelen.
(audacity is ook een uitgebreide audio editor, maar ik denk wat minder geschikt voor script gebruik). Wel handig als je de woordjes precies goed uit een langere opname gaat knippen.

Ik vind het kosten argument overigens niet heel sterk. Het gaat echt niet om heel grote bedragen, en ik zie wel wat gebruiksvoordelen bij SMS . Als iemand een slechte dekking heeft of met rumoer de telefoon opneemt kun je de voice boodschap missen, en moet je een herhaal mechanisme/re-fetch (of de mensen bellen terug naar de planning 'wat zei je nou' - maar als je de melding buiten kantoortijd gestuurd hebt ?)
Gaat je systeem goed om met telefoons die naar voicemail gaan, of wordt de boodschap meteen uitgetettert terwijl de 'spreek in na de piep' nog loopt ?
Dat zijn dingen die je met SMS allemaal omzeilt.

davinci
15/05/13, 08:54
je kan dit echt veel beter met sms oplossen. Zeker als je die bulk inkoopt via bijv mollie vallen die kosten reuze mee en de implementatie is ook nog eens een fluitje van een cent..

frederikbove
15/05/13, 08:58
Ik denk ook dat sms je uiteindelijk goedkoper gaat uitkomen. Zoals davinci al aan geeft. Kijk eens op http://www.bulk-sms.be/nl/smsprijzen/ daar kost een sms zo rond de 8 cent daar voor ga je niet kunnen bellen denk ik.

Yourwebhoster
15/05/13, 09:33
Plus dat je een SMS kan terugvinden en een telefoongesprek niet:)

BasvDisseldorp
15/05/13, 09:45
@Visser: Bedankt voor deze informatie. Wat betreft de gebruiksgemakken van SMS; daar heb je wel gelijk in. Ik wil alleen een goedkope wijze aanbieden. SMSjes kosten inderdaad maar $0,07 (0,053 euro). Maar een telefoongesprek kost $0.02 (0.015 euro) per minuut (exclusief kosten van $1 p.m. voor een US telefoonnummer). Hierdoor kun je al 3 minuten bellen voor het zelfde geld. Daarbij is het de bedoeling dat de gebruiker (het bedrijf wat de service gebruikt) deze kosten gewoon als een soort prepaid, of achteraf op factuur moet gaan betalen. Voor een volume van 10 kost het 53 cent, maar op jaarbasis...

@davinci: Ja via TelAPI is het nog goedkoper. Daarmee kun je zowel inkomende als uitgaande telefoongesprekken opnemen en maken en SMSjes mee versturen en ontvangen. Die SMSjes zijn altijd wel duurder dan bij een provider. Maar dat terzijde.

@frederikbove: zie telapi voor prijzen. Je betaald maandelijks $1 (US nummer) of $3 (nederlands nummer) voor het telefoonnummer en een paar $cent per minuut/sms

PHP libs oid zijn ook nog welkom! :)

dennis0162
15/05/13, 09:58
Laatst heb ik nog Cepstral gebruikt maar dat is niet altijd goed te verstaan.
https://www.cepstral.com/

JelleDL
15/05/13, 10:07
Toevallig geen Mac (server) in de buurt of ter beschikking? Deze heeft standaard het "say" commando geïnstalleerd, welke zeer eenvoudig tekst omvormt naar audio, en ook eenvoudig te bewaren in audio bestanden, welke dan gebruikt kunnen worden voor jouw doeleinde. Direct ondersteuning voor tig talen en het werkt vrij goed vind ik (vlotte stem), al kunnen persoonsnamen natuurlijk wat lastiger zijn, maar als we de namen dan eerder fonetische-manier gaan schrijven komt dat ook wel goed.

Verder moet ik ook wel zeggen dat een SMSje me eigenlijk wel handiger lijkt hier, vooral omdat je het kan nalezen of lezen wanneer de gebruiker tijd heeft hiervoor. Kostprijs is een verschil ja, maar gebruiksgemak is ook een belangrijke factor en er is geen discussies over de boodschappen. (ik hoorde 11u ipv 10u etc)

IT-worX
15/05/13, 10:39
Misschien ben je hier iets mee : http://www.oddcast.com/home/demos/tts/tts_example.php?sitepal

visser
15/05/13, 21:58
@Visser: Bedankt voor deze informatie. Wat betreft de gebruiksgemakken van SMS; daar heb je wel gelijk in. Ik wil alleen een goedkope wijze aanbieden. SMSjes kosten inderdaad maar $0,07 (0,053 euro). Maar een telefoongesprek kost $0.02 (0.015 euro) per minuut (exclusief kosten van $1 p.m. voor een US telefoonnummer). Hierdoor kun je al 3 minuten bellen voor het zelfde geld. Daarbij is het de bedoeling dat de gebruiker (het bedrijf wat de service gebruikt) deze kosten gewoon als een soort prepaid, of achteraf op factuur moet gaan betalen. Voor een volume van 10 kost het 53 cent, maar op jaarbasis...


Ik denk dat je toch echt naar je business case (en die van de klant) moet kijken, als dit verschil per oproep nog steeds een belangrijk bijdraagt in de klant-prijs .
Wat voor sort volumes moet je nu naar kijken, per klant, als die proef-klant van 30 werknemers neemt ?

Naar de klant zou ik het pitchen door het af te zetten tegen wat grof geschatte kosten als menselijk personeel het bellen doet.
Dat schat je een beetje ruim (er zit altijd wat small talk - he hoi, hoe istie' bij - post-it krabbelen om piet nog eens te bellen vanwege ingesprek), en tegen bruto werkgevers kosten per uur voor een planner of secretaresse die vijf mensen belt (dat duurt echt langer dan 5x2 minuten, zeker in jouw spreadsheet) valt het prijsverschil van 5xsms vs 5x robotspraak-call echt wel weg.

('euro per dag om tien mensen te informeren' - klinkt toch verwaarloosbaar ?, als je het naast een werknemer zet en rekent met een half of een heel uur . )

DiederikL
15/05/13, 22:36
En nog te zwijgen over de extra tijd (=geld) die het met zich meebrengt om die speech in te spreken en te implementeren. Je moet al een aardig volume gaan draaien om die paar uur extra tijd terug te verdienen. En het kosten verschil tussen speech en SMS is ook weer zo relatief klein dat het lastig is te verantwoorden tegen de grote voordelen als het kunnen nalezen van de SMS.

The-BosS
15/05/13, 23:06
Jullie vergeten ook wel 1 punt, wie zegt namelijk dat die sms gelezen wordt. Ofwel moet je hier al een code vermelden in de sms die de werknemer naar een nummer moet terug sturen voor bevestiging. Bij een telefoon gesprek kun je op het einde gewoon even verplichten de werknemer te laten zeggen "ik ga akkoord" of "ik heb het bericht verstaan" of ... en dit gewoon via de pbx centrale laten opnemen als later bewijs. Als je je werknemers dan toch via sms wilt informeren over hun werkuren dan kan je dat net zo goed via e-mail doen (met lees bevestiging) of twitter, want tegenwoordig leest iedereen vlugger zijn twitter en e-mails dan zijn sms'en ;).

IT-worX
15/05/13, 23:47
Daar ga ik perfect mee akkoord The Boss, maar als je je werkgever af en toe een kloot wilt afdraaien dan neem je je gsm gewoon niet op als die pbx belt. Aangezien dit meestal ongeveer hetzelfde uur zal zijn zorg je er voor dat je altijd in gesprek bent (al is het maar met je voicemail). Ik blijf er toch bij dat iets geschreven beter is : dan kan men dit - indien nodig - herlezen.

BasvDisseldorp
16/05/13, 11:12
Bedankt voor jullie meningen en argumentaties. Het betreft een dienst die ik door wil ontwikkelen zodat hij op vele mogelijkheden inzetbaar is. Ik zal daarom het e-mailen, smssen en bellen mogelijk allemaal inbouwen zodat de klant zelf kan kiezen wat voor zijn/haar toepassing het meest geschikt is.

Icheb
19/05/13, 12:25
Dit klinkt als een grappig systeem.
Voor het uitbellen zou je bijvoorbeeld eens kunnen kijken naar een callmenow systeem dat vervolgens een dynamisch script afspeelt. Dit is allemaal niet eens zo moeilijk te bouwen.
Bij bijvoorbeeld Pay.nl zit dit allemaal al ingebouwd in hun platform. Al weet ik dat het momenteel grotendeels enkel een payment service provider is, ondersteund dat platform dat soort dingen ook allemaal. Dus call-me-now met drag en drop scripts in combinatie met dynamische spraak synthese in verschillende talen ;-).

Wij hebben eerder al voor klanten van ons allerlei implementaties van Pay.nl gebouwd, en dankzij de grote kennis hierover zelf ook enkele onderdelen mogen ontwikkelen aan Pay.nl zelf.

Mocht je interesse hebben in zo'n oplossing wil ik je wel even met de juiste persoon daar in contact brengen. Laat maar even weten.

edit:
Iets als op een knop moeten drukken en bevestigen kan dus ook, om even rond de kloten afdraaien situaties uit te komen ;)