in

Telligenti

Serving up fresh ideas every day, Telligent style

Jim Martin

March 2008 - Posts

  • Silverlight Video Upload Application

    After doing a lot of digging around on the Internet about Microsoft's free silverlight hosting service I realized that it was quite complicated to use if you just wanted to host a video.  It took me a long time to figure out that in fact it does support just hosting videos without the need for all the .js files and xaml.  Here is a post from Tim Sneath with instructions on uploading a video.  The method of video/application uploading described in Tim's post is used by Microsoft so that with every video you can embed some .js and xaml and then reference the hosting service in say an iFrame and it will pull down all the .js files and xaml you hosted with your video.  This is cool and all but if you created you're own solution for defining your video player and .js files and you want to host this solution and only use videos from the Microsoft service then you don't want to have to go through all these steps for just hosting a video file.

    Microsoft's service does allow for hosting just video's, but it's still kind of a complicated process and not well documented at this point.  First you have to create a manifest.xml file and specify a dummy.xaml file.  Then you have to zip this up with your video, create a new application on silverlight.live.com and upload your files to your new application.

    manifest

    I decided this was way to much work for just uploading a video.  I was playing around with Vertigo's Video.Show and it provided a great example of how to upload video to silverlight.live.com.  So inspired by video.show I created a little windows app to do the uploading for me.  Here is how it works:

    First, create an account on silverlight.live.com.  Once your account is created you will need your Account ID and Account Key.

    ManageAccountScreen

    Fill out the account ID and account key in the uploader.  When you click upload video it will create the manifest.xml file for you, grab the video you referenced, zip up the two files, create the application for you on silverlight.live.com, upload your zip, and then clean everything up from your local hard drive.  Once the upload is complete in the Video Location text box you will be provided with the location of your newly uploaded video.

    uploaderbefore

    • Account ID:  This is the account ID that you are provided with once you sign-up with the silverlight streaming service.
    • Account Key:  This is the account key that you are provided with once you sign-up with the silverlight streaming service.
    • Video: This is the video file that you want to upload to the silverlight streaming service.
    • Video Location:  Once your upload completes this will display the streaming reference to your uploaded video.

    uploaderafter

    applications

    You can download the uploader here.  Please keep in mind this is just a little utility I created and it should be considered Alpha. Enjoy!

  • Graffiti Silverlight Video Plug-In

    I decided to create a plug-in for graffiti to allow for silverlight videos within graffiti posts.  This plug-in supports Microsoft's free streaming service as well as just placing the .wmv on your own server.  It is one graffiti.silverlight.video.dll and you just drop it in the bin of your graffiti web site.  Here is how it works:

    Drop the graffiti.silverlight.video.dll into your bin and you will then see in your plug-in's location the option to enable or disable the plug.

    PlugIn

    Once you enable the plug-in it will automatically create 4 custom fields that you will use to configure video in any graffiti post.

    customfields

    • Enable Video:  If you check this your post will automatically include all the needed javascript files and XAML to support video in your post.  This keeps every post in graffiti from downloading these files by default and means that it will only embed these files if you've enabled video.
    • Video DIV Style String:  This is used because I noticed that firefox does not like it if within a <div> you have an object tag and that <div> does not have any styling.  If you don't at least put a height on that div it will hide your video
    • Auto Play Video:  If you check this option when someone visits your post the video will start to play automatically
    • Video URL:  This is where your video is located.  This plug supports using Microsoft's free streaming video service as well as hosting the files on your own server.  (I will do a follow-up post explaining the Microsoft Streaming Service)

    Now once you've set all your video options to set the placement of the video within your post you just type your post and where ever you want the video placed just put the tag VIDEO

    post

    Here it is in action:

    [VIDEO]

  • ipMIDI Sending MIDI over LAN

    MIDI was first proposed in 1981 out of the need to standardize a form of communication between electronic instruments.  1983 saw the publishing of the MIDI specification 1.0.

    Today MIDI plays an important role in all musical applications and is used every day as the conduit between electronic instruments and music production systems.  Up until fairly recently the only way to send and receive MIDI data between instruments and the PC was through an audio interface with MIDI or a dedicated MIDI interface.  Most electronic keyboards still require MIDI cables to send and receive MIDI but I suspect we will see this to change in the coming years allowing for the transmission of MIDI data via Ethernet from musical instruments to any other device on a LAN.

    The way in which we are sending and receiving MIDI data between computers has recently seen a change.  No longer do we have to run multiple MIDI cables between computers.

    With computers decreasing in price almost daily it is not uncommon to see multiple computers sharing the demanding load of recording music and sample instrument playback (see Connecting Multiple Digital Audio Workstations for more details).  This sharing of computer resources is similar to how the animation studios render complex 3D animations.

    One important part in connecting multiple computers for the purpose of sharing in the load produced by the demands of digital audio recording and sample instrument playback is the way in which these computers talk to each other via MIDI.  Most computers are already connected to a local area network so it only makes since that we should be able to send the MIDI data over this already existing connection.  This is where ipMIDI comes into play.

    What Is ipMIDI:

    ipMIDI allows any MIDI application on the LAN to communicate with any other MIDI application via IP network.  ipMIDI sends MIDI data over Multicast UDP.  The fact that it uses Multicast UDP means ipMIDI broadcasts MIDI data to all the connected MIDI applications/computers.  There is not a separate client and server application, just one application that you install on all the computers that you want to communicate.

    So far I've been very happy with ipMIDI.  For $79 you can connect up to three computers.  I still think $79 is a little pricey for what is essentially a driver and I've even thought about developing my own solution and re-selling for cheaper.  Out of the two leading products, ipMIDI and MidiOverLan, ipMIDI is almost half the cost and you get one extra computer connection so it gets my vote over MidiOverLan.  I did try MidiOverLan utilizing the 14 day trial and it's a solid product but in my opinion it is way over priced.

    ipMIDI offers a trial for download here, so if you're not sure it will work in your environment you can always give it a test run.

  • Now With Photos

    Click here to view some pictures of my play room aka home studio.

    I finally got around to setting up some photo galleries in flickr so I decided to add them to my blog.  I'm using the silverlight graffiti plug-in that Kevin talks about in his post here.  I'm also using Rich's flickr side bar widget.

  • VIDEO: Let It Be

    This is another quick little sample video using EastWest Quantum Leap Pianos.  In this video I'm playing "Let It Be" on my Yamaha S90ES triggering the samples of the Bechstein in Quantum Leap Pianos.

    Stream Video

     

  • VIDEO: Playing EWQL Piano

    Well the much anticipated piano sample library of 2008 EastWest Quantum Leap Pianos shipped last week.  This library is absolutely amazing!  This sample library consists of 35 DVDs of samples from 4 different high dollar pianos.  You can read more about it here.

    I created a quick demo video where I'm improvising using this library.  The specific piano samples in this video are from the Steinway.  Enjoy!

  • Connecting Multiple Digital Audio Workstations (DAWs)

    The term DAW, or Digital Audio Workstation, is just a fancy name for a computer that is optimized in both software and hardware to be used in the production of music/audio.

    There really isn't that big of a difference between a DAW and the standard home computer.  The differences usually come down to configuration and hardware choices.

    In my home studio I have two DAWs both of which I built custom so that I could have the utmost control over all the critical components.  I found that while today you don't save much by building computers from scratch you do still save a little.  For me the reason for building from scratch is not so much the little bit of cash you save as it is the flexibility in configuration options.

    Main PC (DAW #1) Configuration:

    Slave PC (DAW #2) Configuration:

    Hardware Choices:

    A couple things you probably notice are that on DAW #2 I'm using a different mother board, different graphics card, and different audio interface.  Let me explain...

    First, the mother board.  A lot of people will recommend the Gigabyte P35-DS3R mother board, but I don't, and here is why.  After about 15 days my P35-DS3R shut down and would never come back to life.  The motherboard would never make it to the bios post process.  It would power on, beep 3 times and then restart over and over again.  I did a search on the Internet and found out I was not the only one having this problem.  Apparently it was an issue a lot of people were experiencing.  Luckily I only had the board for 15 days, but since I didn't have my receipt I had to exchange it for the exact same board.  So far my second P35-DS3R has worked great.

    Second, the graphics card.  Do not buy the NVIDIA GeForce 7300 LE Graphics Card.  This graphics card fan is so damn loud and I mean very very loud, it's ridiculous.  The ASUS EN7300GT Silent is SWEET!  It is exactly that, silent, it does not use a fan.

    Finally, the audio interface.  In my slave PCs I only need ADAT since I'm sending ADAT out from the slave to the main PC.  The E-MU 1212m is a heck of a deal and a great sound card, although patchmix is a little confusing at first.

    How it's all connected:

    DAW #1 handles all the recording and sequencing as well as all the effects processing.  DAW #2 is simply a powerful VSTi host that consists of just instrument sample libraries.

    I'm using Midi-Over-LAN to send MIDI information from DAW #1 to DAW #2 over my LAN.  Midi-Over-LAN words great and I highly recommend it.  I tried FXTeleport and Steinberg's V-Stack and Midi-Over-LAN plus ADAT has worked the best for me.

    It's important when working with multiple sound cards that they are in sync and share the same clock.  DAW #1's Audio Interface, the firestudio, uses internal clocking and sends the clock signal across S/PDIF to the 1212m on DAW #2.  I send ADAT (8 mono audio channels) to the firestudio's ADAT IN connected to DAW #1 so now I can record all the audio from DAW #2 without having to go through any A/D D/A conversions.  It all stays in the digital domain and latency is kept to a minimum.  NOTE:  Sending clock from the 1212m to the firestudio did not work for me, for some reason the firestudio could not stay locked.

Powered by Community Server (Commercial Edition), by Telligent Systems