Note Recorder


QUOTE
You would need a whole lot of storage for that kinda recording. Unless you have some loads of money for multiple SD cards then hey...



What about streaming it via 3g to the server park in your basement? :p

but +1 on the note recorder!!!

Edit: fixed the quote
 
Just in case anyone was wondering, I found the link to the LiveScribe pen:

http://gizmodo.com/gadgets/breaking/livesc...otes-264302.php

Now if indeed the pen's SDK is open (and open enough to allow Linux apps), as the article suggests, this might be either a nice accessory to the Pandora or a good starting point to copy its functionality.

Of course, LiveScribe has some nifty audio logic and comes with microphone earbuds, so it's not as if your work is already cut out for you.
 
The SDK and browsing software are windows only, with a mac port planned for the latter. Not much use.

Right now I'm struggling with some deadlocks. It would seem I forgot how to use threads properly. [edit] Remember kids, reading from a pyaudio stream is blocking.
 
I have knocked up a quick interface concept...


soundconcept.jpg
 
Ok, that seems pretty good. I suppose most of the actual options will be by button presses, then, rather than on the screen? (eg. "begin playing recording")

I would be nice if there was also a slider thing at the bottom, so you could start the playback from any point, not just from one of the "chapters".
 
My GUI concept was a bit more fancy, with comic-like bubbles for the notes, pointing to moments on a slider bar. I'll see if I get around to that.

I didn't have much free time, but I did get around to figuring out how pyaudio and the portaudio behind it work. Here's a proof of concept for the recording part. Terrible code, but works for concept testing. You'll need to install python, portaudio and it's python binding, pyaudio. It may not even work on non-unix machines, so you'll have to do it yourself.

The backend will probably end up as a dbus service and with a separate process for each stream. I will end up using pyprocessing.
 
It might be cool if a text to speech thing was integrated into this as well, so that not only would you have the audio, but you could search for certain phrases or read the lecture. That might be useful for a quick reference while doing homework, creating outlines, blackmailing the company drunk when he flips out at you, etc.

Not that I'm encouraging blackmailing or anything, but that guy is a real jerk.
 
Esn said:
Ok, that seems pretty good. I suppose most of the actual options will be by button presses, then, rather than on the screen? (eg. "begin playing recording")
Duh!

Trust me to forget obvious things like transport controls!

Ok Here's a second stab at it

soundconcept2.jpg


The little advice text (in italic) would appear when you touch a button(or select it with the d-pad). When you release the button (or press with an action button) it would perform its function. If you were using the touch screen and moved your finger onto another part of the screen (off the button) it would release it without performing the action.

The buttons could also have a pressed-in look for when they are in use.

sindbad said:
My GUI concept was a bit more fancy, with comic-like bubbles for the notes, pointing to moments on a slider bar. I'll see if I get around to that.
Hmm interesting concept but I'm worried about how many note points you'd be able to fit onto the screen. I'm all up for a fancy interface, so long as functionality isn't compromised. I suppose you could have it on a vertical slider bar.


emil10001 said:
It might be cool if a text to speech thing was integrated into this as well, so that not only would you have the audio, but you could search for certain phrases or read the lecture.
That would require speech to text, rather than text to speech. Does such a thing even exist in a useful capacity? I quite agree it would be totally awesome if it did!
 
Last edited by a moderator:
I will do my best to design an API for the backend so that someone else can write the GUI if I don't get around to it. Time is short, though.
 
sindbad said:
I will do my best to design an API for the backend so that someone else can write the GUI if I don't get around to it. Time is short, though.
I unfortunately wouldn't know where to start. :( I can just about get by making simple apps with VB / VBA but that's as far as my experience stretches. I presume there's no 'visual' development environment for Pandora?

cb88 said:
what formats would be used anyway? .wav .mp3 .ogg .flac?

Sorry I missed this question.

From a space point of view, a compressed format would be preferable. But there may be times when the user doesn't want to compress the recordings. So I would say ogg & wavv/aiff should be supported. I don't really see any need for MP3 but if it it's easy enough to support (?) then I don't see any reason to specifically exclude it either.
 
Last edited by a moderator:
Qt is a GUI (and not only) toolkit written in C++ that is usable from many other languages. It has a designer so that you can draw GUIs, like the visual whatever from ms. It also looks and behaves natively on all platforms, which is very cool. http://trolltech.com/products/qt/
I like Python and would prefer if the GUI were written in the same language, but it isn't a requirement because my small recording lib should be usable from any language through dbus.

Right now recordings are simple wave files. I haven't found a well maintained python library for encoding/decoding audio in multiple formats yet so I may have to make one, but it is possible to encode in mp3, ogg and flac. I intend to make flac the default format because it can be converted to anything else without loss of quality and takes up less space than a plain wave.
 
Pleng said:
From a space point of view, a compressed format would be preferable. But there may be times when the user doesn't want to compress the recordings. So I would say ogg & wavv/aiff should be supported. I don't really see any need for MP3 but if it it's easy enough to support (?) then I don't see any reason to specifically exclude it either.
http://en.wikipedia.org/wiki/Speex
 
Last edited by a moderator:
Pleng said:
emil10001 said:
It might be cool if a text to speech thing was integrated into this as well, so that not only would you have the audio, but you could search for certain phrases or read the lecture.
That would require speech to text, rather than text to speech. Does such a thing even exist in a useful capacity? I quite agree it would be totally awesome if it did!


http://cmusphinx.sourceforge.net/html/cmusphinx.php

I'm going to start playing around with it. Once I get my beagleboard running, I'll try to get pocketsphinx running on that.
 
Last edited by a moderator:
sindbad said:
Qt is a GUI (and not only) toolkit written in C++ that is usable from many other languages. It has a designer so that you can draw GUIs, like the visual whatever from ms. It also looks and behaves natively on all platforms, which is very cool. http://trolltech.com/products/qt/
I like Python and would prefer if the GUI were written in the same language, but it isn't a requirement because my small recording lib should be usable from any language through dbus.



OK I'm downloading QT demon now. Will see what I can come up with, if anything.


Tom` said:
Pleng said:
From a space point of view, a compressed format would be preferable. But there may be times when the user doesn't want to compress the recordings. So I would say ogg & wavv/aiff should be supported. I don't really see any need for MP3 but if it it's easy enough to support (?) then I don't see any reason to specifically exclude it either.
http://en.wikipedia.org/wiki/Speex


Hmm interesting. However if it's designed for VoIP I would suspect it would attempt to place emphasis on capturing the sound immediately in front of the mic, an eliminating background noise (this is just my suspicions, I could be completely wrong), whereas if you're recording in a bus lecturer hall, or a at a meeting you'd be wanting to capture the overall sound.

emil10001 said:
Pleng said:
That would require speech to text, rather than text to speech. Does such a thing even exist in a useful capacity? I quite agree it would be totally awesome if it did!
http://cmusphinx.sourceforge.net/html/cmusphinx.php

I'm going to start playing around with it. Once I get my beagleboard running, I'll try to get pocketsphinx running on that.


Awesome. That'd be so cool in an application like this. Though I assume it would need a pretty clean input stream?
 
Last edited by a moderator:
in my experience sphinx is hard to use... also has high requirements

http://www.fonixspeech.com/

http://www.fonixspeech.com/pdf/FonixTalk61spec.pdf

heh... the CPU requirement for tts is like 30MIPS.... which wouldn't even make the pandora blink it shure would be nice to finally see a device that has support for tts... i mean even the tts in MacOS 9 (running on a 130~ mhz powerbook for crying out load X.x) was better than what windows XP has

fonix is supported on arm and omap...

If it worked well it might be worth paying for... especially with the really low requirements it has
 
cb88 said:
heh... the CPU requirement for tts is like 30MIPS.... which wouldn't even make the pandora blink it shure would be nice to finally see a device that has support for tts... i mean even the tts in MacOS 9 (running on a 130~ mhz powerbook for crying out load X.x) was better than what windows XP has

I think we're dreaming of speech to text, not text to speech. For that just boot up an Amiga emulator and use "Say" Wooohooo! :D
 
Last edited by a moderator:
Sounds good for bootlegs too, hope you make it able to record CD quality or higher audio ;)
 
Theres no reason that the speech to text has to be done in real time. There could be a way to sync to a pc that will back up a lecture and make the conversion to text. It could also be a background task.
 
greendots said:
Theres no reason that the speech to text has to be done in real time. There could be a way to sync to a pc that will back up a lecture and make the conversion to text. It could also be a background task.
Hmm I'm not sure hoe effective it would be doing it as a background task. Could take an ice-age! I do like the idea of the parent-app on the PC doing the conversion. That'd be pretty sweet.
 
Last edited by a moderator:
Back
Top