Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

UnshavenBastard

Member Since 08 Nov 2001
Offline Last Active Apr 28 2013 04:20 AM
-----

Topics I've Started

A real Math Metal song ;)

28 April 2013 - 04:18 AM

http://www.youtube.com/watch?v=mqK63v2Jzks

(full song link in description box)


Feasible? GFX HW audio processing (OpenGL ES)

12 November 2012 - 10:30 AM

Howdy!

Say, is it feasible to attempt to speed up audio processing (like FFT and other DSP stuff) using the graphics hardware on such google Android devices which provide GFX hardware, using OpenGL ES?
I'd reckon one issue would be a botteneck in mem transfer between GFX chip and CPU, increasing latency - well that's my assumption - I have no experience yet with such devices or android.
Btw., I know audio playback in general has high latency on Android, but that's supposed to be fixed in 4.2, which would be what I'd target then.


- unshaven

Growing Libraries between projects

11 October 2012 - 06:42 AM

When I wrote things that are not specific to the very application, and could be useful elsewhere, I’ll often move them to a library.
So far, that library always was part of a workspace (e.g. MSVC workspace) of projects that were related, as an own project.
I would then, despite knowing better, carry that library over to another project, i.e. copy. That means maintenance of several different places, keeping copies of the library in sync when bugs are discovered, or extensions are made, which may become useful for a later stage of older projects.
I knew from the beginning that it would probably be a good idea to have the library as a completely separate project, and only use binaries of it in other projects.
But then… it’s easier to debug everything if the library is part of a project. That’s why I kept it that way.
I can't say I'm really happy that way, though.

How do you do this sort of stuff?

Sound Forge Pro vs. Audio Studio

12 September 2012 - 05:19 AM

Hi there,

at work I occasionally have to fiddle with audio files.
While at home I have my good old Sound Forge from good ol' times when this stuff was bundled with expensive sound cards, at work I currently use the free Audacity.
But it's getting on my nerves, the lack of features and mostly, the clumsy way to achieve things.
I intend to ask the guys from upstairs to buy some Sound Forge version, a current version like Pro 10 is a bit expensive for the not so frequent use, and ebay here doesn't list older versions anymore, too bad.

I've read some bad comments about the cheap version, "Audio Studio".
How castrated is it really compared to the real deal?
Actually I usually don't need more than basic wave editing, format conversions of all sorts, etc.. No fancy effects or stuff only relevant to music production (well maybe some basic filtering every now and then).

Is Audio Studio usable enough, or extremely dumbed down?

Perhaps I'd consider free alternatives, but since I mostly hear "Audacity" when asking for "the best free editor", I haven't looked much further.
I'm quite comfy with Sound Forge.

Thanks for your input,

- unshaven

.NET: Using a SerialPort's BaseStream after port was GC'ed

31 July 2012 - 03:30 AM

Is the following behavior documented somewhere and intended & likely to remain so, for some good reason?
I saw some code that essentially did what the code below does: Create a SerialPort object in a local scope, opening it, grabbing a reference to the SerialPort's BaseStream, then losing the sole reference to the SerialPort object by leaving scope.
Then, the reference to the BaseStream is happily used. I simulate this by enforcing Garbage Collection & waiting for finalizers' completion.
When I initially saw this, I assumed that when the SerialPort gets GC'ed, it would, in the finalizer, also call dispose and in turn call Close() on its stream if it has not yet been disposed, at least, to me, it sounds like something that should be done.
Apparently, this is not the case, and I'm note sure why.

Well, why?

Besides from the fact that thus, the code seems to work - is this acceptable code "cuz you know" ? It looks to me like relying on a quirk, which seems "unclean", but then again, I might be missing something.

- unshaven

[source lang="csharp"]private void test_stuff(){ System.IO.Ports.SerialPort com1 = new System.IO.Ports.SerialPort("COM1"); com1.BaudRate = 9600; com1.Parity = System.IO.Ports.Parity.None; com1.DataBits = 8; com1.StopBits = System.IO.Ports.StopBits.One; com1.Handshake = System.IO.Ports.Handshake.None; com1.ReadBufferSize = 4096; com1.WriteBufferSize = 2048; com1.ReadTimeout = 5000; com1.Open(); Stream stream = com1.BaseStream; com1 = null; GC.Collect(); GC.WaitForPendingFinalizers(); var buf = new byte[1024]; stream.Read( buf, 0, buf.Length );}[/source]

PARTNERS