Oct 13 2014

Touch up your sound with SoundTouch [w/code]

Screen Shot 2014-10-13 at 11.55.42 AM
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
Continue Reading »

Share

No responses yet

Sep 30 2014

FFMpeg with Lame MP3 and streaming for the Arduino Yun

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 (https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/CoreAudioOverview/SupportedAudioFormatsMacOSX/SupportedAudioFormatsMacOSX.html), 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.
Continue Reading »

Share

No responses yet

Jul 23 2014

Small footprint Bluetooth-enabled Arduino clones

Published by under electronics

Just a bit of online research on a small footprint Bluetooth-enabled Arduino clone for prototyping:

Share

No responses yet

Jul 01 2014

Push a file to your Smartphone

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)

So here is the bash script (It's not elegant - but it works)
Continue Reading »

Share

No responses yet

Jun 24 2014

Simple ATTiny85 USB board

Published by under code,electronics,work

IMG_20140623_121908_fixI 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.
Continue Reading »

Share

No responses yet

Apr 08 2014

Struggles with creating Linux Live USB on Mac OSX

Published by under linux,Solutions

SO I've been trying to create a bootable live USB of some linux distro on the Mac and failed consistently. That is - until I found a magical solution!
Continue Reading »

Share

No responses yet

Mar 20 2014

GDoc/LaTeX compilation GUI with Tkinter/Python [w/ code]

Published by under code,programming,python,school,tips

¡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.
Continue Reading »

Share

No responses yet

Jan 08 2014

Share NFS from Windows

Published by under linux,Raspberry Pi,Windows

I recently bought a second raspberry pi, for the purpose of making it a "dumb" media center running XBMC (Raspbmc to be exact). I already have a media center PC running XBMC on Windows 7, and I wanted to connect my raspberry pi to the downloaded media, stored remotely on the Win7.

First, of course, I tried SMB (windows share). It worked… ok. But after installing a new HP Wireless printer, it seemed to disconnect a lot. I don't fully understand why, but it appears that the printer publishes itself as SMB master thus disconnecting my other SMB connections (or maybe only Linux ones)

Anyways, I have spent almost two days, understanding how to connect the Raspberry pi to Windows 7 using NFS. It was not easy, because it seems Microsoft has dropped support for it on home OS (even Win7 ultimate) since Windows XP.

I ended up doing it with Cygwin (which gives powerful Linux capabilities to windows machines).

I want to outline what I have done in order for this to work. This process could be very easy and it could be frustrating. I really hope it will help you do it yourself.

So it might do the trick as step-by-step, and you might come some obstacles on the way

The original guide I used can be found in this link, however it did not work at once and I had to tweak a bit. Also, it is referring to Windows XP.

As this is not step-by-step in full, with screenshots, it might help you on your journey. This can also help you with any windows share to be exported to linux

Here it is: Continue Reading »

Share

7 responses so far

Jan 04 2014

Trying out my mashup skills

Published by under Music,Uncategorized

This is not proper technical thingy, but I took some time to try out some audio skills by doing somewhat obvious mashup
Came out pretty good, in my opinion

Sara Baraeilles's "Brave" and Katy Perry's "Roar" sound very similar. So I took two acapellas and instrumental and mixed them together.

Enjoy (or.. not)

Share

No responses yet

Dec 21 2013

Speak friend and enter

Published by under Uncategorized

Screen Shot 2013-12-21 at 12.58.00 PM

Share

No responses yet

Next »