Google Now has essentially been ported to Ice Cream Sandwich ROMs. This is the full, legit search, including the very natural Jelly Bean voice. I have tested it on my Galaxy S II running 4.0.4, and it works quite well most of the time. Sometimes the app can not show anything on screen, no matter what version I use, but in general it works well and recognizes my voice and speaks to me in such a beautiful way.
Warning: This is a root procedure, and could be dangerous. Perform at your own risk. DroidDog and the devs are not responsible for any damage caused by a bad flash, a screw up, or the sexy lady of Google Now ruining your marriage.
Also, this only works on ARMv7 devices. If you want to know if your device applies (it most likely does), go here for a list of ARMv7 devices.
There are multiple versions you can download from the source link, so choose your poison. All of them have at least one thing broken. The first one (with double take) works quite well for the most part, and you might want to try out the version without auto launch. It could work for you.
After choosing the zip you want, reboot into CWM recovery (or whatever recovery you use, as long as it is custom). Flash the zip, and reboot. When you’re booted, use a root file explorer (like Solid, ES, or Root Explorer), and navigate over to /system/usr/srec/ and there will be two folders. They are “config” and “en-US.” You will need to change permissions. They should look like this:
Mine were already set to this, but if they aren’t change them. Then hit the search button and go through the setup. You should be done! Tell us how it goes in the comments!