Archive for the ‘ Development ’ Category

Moving dns server!

Sunday, June 19th, 2011

The site should not be down according to plan. But if it does, it will be back within a day or two.

Thanks for your patience.

Microphone 3.5mm version

Sunday, March 6th, 2011

After a few freak outs using the wm61a microphone assembly with Battlefield Bad Company 2, I think one of the components in the circuit died. Not sure which, and the way I had it taped together made it impossible for me to fix. Will have to build another one. Since I don’t have the materials yet, I decided to build one using 3.5mm jack that utilizes the power from the inline jack. Works just as well, I have noticed more high frequence responses. I don’t have any images of the internals since I forgot to take photos this time . Again, I failed to plan ahead with the wiring size, so unfortunately, the capsule itself portrudes the 3.5mm jack. I filled the rim with superglue to make sure it doesn’t move around.

Finished Product.

Stripped an old PC headset microphone foam.

This microphone will allow me to use mumble chat without wiring up my mixer just to play online games.

The WM61A Sound Sample

Saturday, February 5th, 2011

I noticed a few folks stumbled onto my site from google queries with WM-61a, I’m not sure if I’m providing any useful information but I believe I promised a sound sample. Here is a recording done with my guitar (I’m using guitar for most samples because it’s my current weapon of choice and I’m still learning it).

http://media.kaiyoti.com/WM61a-GuitarTest.ogg

The recording setup includes:

DIY Mic (WM-61a) ->
The Amp (from Christian’s Website) -> (using 1/4″ patch cable)
Behringer Xenyx 502 Mixer ->
Behringer U-Control 202 ->
My Sweet PC

Note that I’m not using the slot with the pre-amp on the mixer unit. The preamp on this mixer adds way to much static and interference so I turned it off. If you’re listening through headphones, you’ll notice a low volume noise which is partially attributed by my PC fans (There are 6 fans in total), that really can’t be helped. The guitar was about 3/4 of a foot away from the microphone. The amp/mic works just as well with a 1/4″ to 1/8″ convertor directly into the PC microphone port. Unfortunately, that setup does not include an attenuator, so the input is a bit loud.

You might also notice that the texture of the guitar sounds different from previous samples. This is because I replaced and readjusted both the nut and the saddle pieces to a more balanced height (weighing it against buzz amount). The previous condition was my brother’s handy work when he tried lower the actions by carving the string grooves deeper in the nut and the saddle. The poorly cut grooves resulted in more buzzing. I didn’t even realize that saddles aren’t supposed to have grooves until I saw another guitar in a store. I’ve also restrung the guitar strings to use one with a lighter sound. So the recordings will sound drastically different, and hopefully cleaner.

I’m going to work on the second mic to allow stereo recording. Will also see if I can add a potentiometer to the amp. And I actually have a drill this time to carve holes for the 1/4″ female outlet. At the same time, I’m trying different piezo elements to capture more sources for the final mix.

Paul

WM-61a Panasonic Electret Microphone Project – Gallery

Sunday, December 12th, 2010

2010-12-03 21.47.30Microphone Capsule soldered and heat shrinked

2010-12-03 21.47.44
Another shot of the prepared microphone capsule with leads

2010-12-04 03.44.03
Two is better than one, one is shorter because I didn’t take into account that the leads were twised when measuring for the second.

2010-12-12 13.01.08
This is actually the second circuit I made, the first one was horrible planned which gave me no room to fit into the enclosure. The actual schematics can be found here. I drew my own for future reference so I can plan the size of the circuit better for mark II.

2010-12-12 14.33.56
After clipping off some pc board supports, I was able to fit everything into the box with the leads soldered onto 1/4” female jacks.

2010-12-12 14.35.10
A finished product.

P.S – I will have another update with sound quality shortly.

Waveloop – Wave looping cmdline tool

Sunday, September 26th, 2010

Being a producer of custom sound samples, I’ve came across the problem of sound looping of my samples in the past. To achieve this, I manually construct a fades in audacity to create loop point. But this is tedious work, especially with hundreds (if not thousands) of audio samples to go through. To ease this process, I did what I do best, automate via scripts. The choice of tool was AutoIt (Windows Only). This was a GUI automation scripting tool. Works wonders, but I soon found it tedious to run each script manually. So I ventured forth by using the C# api from AutoIt to automate so I can parse input files for batch edits. But the overhead from the GUI automation was still making the whole process slow. Not to mention the change in Audacity’s processes, it made automation a bit difficult. I also tried to port the C# code to C++ but that was left unfinished (mostly because of the release of Battlefield Bad Company 2).

So recently I decided to give the direct wave file manipulation a go. I came across multiple open source libraries that can parse headers and read / write to wave files. Finally ended up working with the Synthesis Toolkit (STK). Some other libraries include the RIFF class from libgig which can be found in Linuxsampler (really good), CLAM (C++ Library for Audio and Music), looks like an extensive library but the installation instructions was a massive turn off, Libsndfile (good for multi formats). There were also a few other libraries I found but they seemed to be geared towards video games audio, bit of an overkill.

After a few hours of work, I’ve finished a simple command line wave looping tool in c++ in Codeblocks.

Waveloop - Loop tool

There are at least 4 required fields:

  1. filein – the input file name
  2. loopstart – the starting point of loop (can be in seconds or sample #)
  3. loopend – the ending point of the loop (can be in seconds or sample #)
  4. xfadelength – the cross fade length (can be in seconds or sample #)

Notice that when you input in seconds, you need to prefix the parameters with “s”.

For some apparent reason, the reading utility from STK doesn’t seem to read the inputs consistently in terms of normalization, so I’ll have to dig into this. Therefore, files parsed by the waveloop utility are all normalized to peak at 0db. I’ve only tested it with 16bit and 24bit Wave files currently, but according to STK specifications, 32bit samples should work as well. Multichannel files are supported. Only uses linear fading for now, I’m not sure if there’s a need for other interpolated fades. I should also point out that currently, anything after the “loopEnd” will be trimmed off. In the future, I might want to fade the tail to create release samples.

This is also my first time using Codeblocks, all I can say is that it’s horrible. I’ve used Visual Studio and Eclipse for C++ environments, and I have to say that the codeblocks autocomplete is the worst by far.

Download: Waveloop Utility for Windows 0.1a (GNU General Public License V3)
Mac and Linux ports are pending consideration…

The next update will include csv/xml file parsing for batch edits. Stay tuned!

Feedbacks are welcome!

[Update 09/27/2010] – Fixed normalization bug, now output file data is no longer normalized.