Another look at our blog, made us think: Why do we still look so 90's?
This is when we decided to do some cosmetic and functional changes:
We changed the theme (We though about buying a wordpress theme, but for some reason, they're way too expensive),
We installed a new commend system called "Disqus"
We have a new logo,
And we generally want to make your stay more comfortable.
We hope you like it.
HAPPY NEW YEAR
Roy and Arnon
So I needed to speed up / slow down an audio stream I had (speech generated with Flite TTS) and naively I thought it would suffice to simply sample it at the right intervals and interpolate.
I quickly discovered that just re-sampling won't do because changing frequency also changes pitch proportionally. And then I discovered the world of Time Scaling in audio and it's many algorithms and approaches to change the tempo without changing pitch.
To my surprise there were a number of ready made free libraries that do it, but the first one I tried - RubberBand - did not work out, it had too many dependencies I simply couldn't be bothered compiling it for the Mac. But SoundTouch, well it had a Homebrew formula so it won by default.
I wrote a little simple wrapper around it, that interfaces nicely with Qt.
Let's see what's going on there
So, I've been trying to stream audio off of a USB microphone connected to an Arduino Yun.
Looking into it online I found some examples using ffserver & ffmpeg, which sounded like they could do the trick.
However right from the start I've had many problems with playing the streams on Android and iOS devices.
Seems Android likes a certain list of codecs (http://developer.android.com/guide/appendix/media-formats.html) and iOS like a different set of codecs (Link here), but they do have on codec in common - good ol' MP3.
Unfortunately, the OpenWRT on the Arduino Yun has an ffmpeg build which does not provide MP3 encoding... it does have the MP3 muxer/container format, but streaming anything other then MP3 in it (for example MP2, which the Yun-ffmpeg does have) simply doesn't work on the Android/iOS.
From experiments streaming from my PC a ffmpeg/libmp3lame MP3 stream, it looks like the mobile devices are quite happy with it - so I will need to recompile ffmpeg with Lame MP3 support to be able to stream it.
Just a bit of online research on a small footprint Bluetooth-enabled Arduino clone for prototyping:
- RFDiuno - http://www.rfduino.com/
- Galago's BlueBlock - http://logiblock.com/products/blueblock/
- TinyDuino's Bluetooth shield - https://tiny-circuits.com/index.php/tiny-duino/tiny-duino-communication-products/tiny-shield-bluetooth.html
- RedBearLab's BLEMini - http://redbearlab.com/blemini/
- Coin's BLE board - https://github.com/CoinApps/arduino-ble-dev-kit/wiki
- BLEduino - http://bleduino.cc/about/
This is a quick tip. If you need to push a notification to your smartphone, or even send a file, I recently stumbled upon "Pushbullet".
I was looking for a solution to send a file (with automatic download) to my phone, via bash script on my raspberry pi. I've been using pushover for a while, but as far as I know, it doesn't support files
I have read the Pushbullet API, and came to realise that sending a file have 3 steps
1. Getting credentials to send the file
2. Upload the file to a remote server
3. Send a notification of "file" type with the download url
Of course, you can do 1 and 2 youself if you have access to a place which stores the file (I also managed to send a dropbox download link)
You need to sign up for Pushbullet via web, to get the api key, and also install the app on your smartphone (obviously)
I needed to create a small, cheap USB-enabled circuit to serve as a key logger, and I've found some nice projects online that explain how to do this.
I found out you could use an ATTiny85 to run the V-USB software USB stack, and I only needed the one input pin to gather data (it's going to be a USB "That was easy" button).
Since this was done so many times before, I will be brief, and try to point out problems I had instead of a regular tutorial.
¡Hola mis amigos!
I'm learning spanish, but I'm also annoyed with collaborating on LaTeX papers. That's why I've created the GDoc-LaTeXifier so the syntax will be clear when I collaborate on a paper with a remote friend.
But now we both want to compile a PDF on our machines. So I've created the tiny shell script that downloads the paper and runs PDFLaTeX.
The problem is that this opens a new terminal window and runs the script. I've been able to sort it out so that it closes the terminal window when it's done, by on my friend's mac it doesn't, so he ends up with a ton of open windows.
Enter - the GDoc/LaTeX compiler GUI.