PDA

View Full Version : MarkE's Hawk DSP Project


MarkE
09-24-2007, 02:09 PM
Hi
I just wanted to start a thread here on this project as I have other people that I know from other boards looking in on it.

This project is going really well. I finally managed to get it in a rack case, so here is a picture to give you a general idea.

http://www.thehawkstudio.com/picts/hawkdsp1.jpg

Here is a shot of one of the test screens. This will later be programmed out

http://www.thehawkstudio.com/picts/hawkdsp2.jpg


The unit on the left side with the switch hanging out of it is a single channel low voltage tube front end to process either active or passive pickups from a guitar or bass in addition to the normal line inputs. This should give me the flexibility to do just about anything with it. I will later move it to the right side when I complete the circuit.

I am having one significant design problem related to the parametric EQ section and I will get worked out eventually. In the meantime I decided to go ahead and complete the firmware by writing a pleasing user interface. This is going to be pretty nice when I complete it.

The "Hawk DSP" will have the following features when its completed..

Stereo line inputs: Two sets, switchable via software

Stereo line outputs: Two sets, switchable via software, either or both.

Tube driven direct guitar/bass input

DRC Module: This is a three slope audio compressor/expander. Now this is really cool!

Programmable Reverb: Can be setup as simple reverb, delay, flanger or like an echoplex.

Soft volume and loudness processing: I just switched this in yesterday and is working better than expected. Its great just for listening to music.

Fully parametric 10 band EQ: This is the heart of the beast. You can set up to ten seperate bands with each band configurable.

Treble/bass module with selectable filter shelfs and gains: This would be used in simpler setups instead of the EQ.

Line In/Out and headphone outputs with seperate volume controls: Controlled by rotary encoders, push to mute. Integrated headphone amp.

Full spectral and VU readouts on screen in real time.

and even a screen saver! I want to write a MIDI interface into this but Im not sure what to do with it :)


There is a seperate interface screen for setting up each module, and each group of setups can be saved as a named preset for later recall. The main screen has on screen sliders for line-in volume, line out volume, headphone volume, balance, bass, treble that is common for all screens. Each encoder knob has a push-in switch to mute the various functions along with an LED indicator. I wrote this in yesterday and is working perfectly.

Technical details
Sample rate switchable 48k, 96k.
Word length switchable 24 and 32 bits.
Interface format I2S or L/R justified.
Main processor is a dsPIC 30F6014
Development system is a MikroElectronika dsPIC Pro board with dsPIC C compiler. ICSP programming.
DSP is a TI TAS3103
Codec is a TI TLV320AIC23B
Display: 240x128 blue back light LCD


The analog section will use op amps in addition to the tube circuit. These are easy and haven't been designed yet.

More pictures, schematics and text to come as the project proceeds forward. Ideas are welcome. Thanks for looking in.

Here are hand drawn schematics. Formal ones will follow. The main boards components are built on plug-in modules so that the design can be easily changed at will.

MarkE
09-24-2007, 03:02 PM
Here are two pictures of the main screen setup that I propose. This is just preliminary but I think I came up with something really usable. Description below. The screen looks a bit washed out as I have the back lighting cranked all the way up. Its hard to get pictures of this.

http://www.thehawkstudio.com/picts/hawkdsp3.jpg

Description of control layout.
On the left side of screen: Top to bottom = Power LED, control for on/off/back lighting adjustment, display contrast.

Right side: 7 encoders which are hard to see in this picture. There are three to the right of the display, the top one is the menu selector and the two below that change function depending on which screen you are in. On the right are a group of 4 encoders for adjusting Line-in level, line out level, headphone volume and balance. Each has a "push to mute" function except for balance which is "push to center. Each of the 4 have an led above indicating mute status except for the balance control which is amber and indicates centered balance.

The screen layout I chose (and I would love to hear ideas here) has common and function areas. The area at the top shows the name and number of the currently selected preset. Just below that are indicators showing which modules are active within the selected preset. This is a graphic that I will later update to something more pleasing..
On the right side middle is the menu. It allows you to switch between the various modules, DSP, reverb, EQ etc. When a module is selected the center section will contain the setup graphs etc for that module. In this picture the DSP module is selected and Im just showing primitive sliders for treble and bass. Later it will contain a full spectral readout of the audio signal.

On the right hand bottom of the screen there are sliders for line-in, line-out, headphone volume and balance. To the right of that there are left and right VU meters, which are empty now as the unit has no audio flowing through it.
These are common and remain active for all screen modes.

Here is another picture of the DSP screen with the menu scrolled down a bit. There are options for NEW, SAVE, LOAD, SAVE AS etc to manage presets. Each module has its own scrolling menu.

http://www.thehawkstudio.com/picts/hawkdsp4.jpg

I will continue to work on these graphics as the project continues. I can program anything so any ideas or thoughts would be helpful.

Aesthetics:
A display bezel will be added.
All screws will be painted
All knobs will be like the silver ones on the left. The others are borrowed from other projects for the time being as the silver knobs are expensive.
The tube front end module on the left will have switches installed, cleaned up and moved over to the right side of the DSP.
There is also a back plate containing all audio inputs and outputs with the exception of two on the front panel that are for headphone output and instrument input.

Until next time......

SilverHamer
09-24-2007, 06:56 PM
GAWD!!! You're such a "Tech-Head", Mark...LOL. I'm more of a "Plug-n-play" sort of a guy...most of what you have described here went right over my head...but that's ok...this is your magic! You Da Man!

MarkE
09-24-2007, 07:09 PM
Thanks Larry. This is the kind of shit I do when Im not working on one of our tunes in the studio. I have programmed microcontrollers professionally most of my life, well, that is until I moved to Pennsyl-fuken-vania where jobs like this are scarce. On Long Island jobs are everywhere. I did manage to find one company here where I will be doing that, but my start has been delayed until some project $$$ comes through. In the meantime I get to enjoy some time off and try to stay sharp working projects like this :)

babayaga
09-27-2007, 06:38 PM
Hey Mark! It's really looking good now matey.... I'm a sucker for anything with knobs, sliders and led's on it, so this is really groovy! When you have a minute you could always build me one!! 0:-)

Seriarsely... I'd like to kit up with some hardware processors, but the price has always been prohibitive (... although the Behringer range - both of my desks are from them... ). It would certainly make things easier going on the PC processor by not piling up all those VST effects....

I like the range of control you've got in handling the pre-sets for the different modules - is there going to be a set number allowed for each module, or can you just carry on? I tend to do the same thing using the VST's - often saving a particular bunch of settings to the song rather than the sound (e.g. Lucky Man - Guitar Reverb). Linking it to the song makes it easily recognisable for future projects when I want to reuse a particular sound. Can you do the same with your DSP, although I gather the answer would be Yes!?

Good work sunbeam.... the project might warrant a YouTube demo when its finished... I'd certainly like to see / hear you use it! G.

MarkE
09-27-2007, 08:02 PM
Thanks Graham! Believe it or not I was planning on shooting a youtube demo when I'm close to completion.

Right now I'm working on my options to get a live spectrum readout on the screen that operates in real time. I have a primitive one setup but it is very limited. (pic below). I have several other design options that require a bit-o-work and I will probably head in that direction.

Like you, I cant afford to get a really nice DSP as they range in the thousands of dollars. This was the primary reason I chose to tackle this as a project. I also want to stay sharp as I am no longer working in this field.

Anyway, here is a brief description of the presets and how they work.
The dsp has several modules that the audio signal can flow through. These are...
EQ
Bass/Treble
Reverb/Delay
Compression/Expansion

...to name a few. Any or all of these modules can be enabled and included in the signal flow.
Each module has setup variables that control it. For example, the EQ will have frequency, Q and gain for each of the ten bands. The compressor has attack/decay times, compression ratio etc.

If you are doing something specific, like mastering a track, you would enable/setup each module as necessary to get the result you are looking for. Once done, this entire setup can be given a name and saved/recalled as a preset.
I haven't defined the memory storage for the presets yet but I'm guessing that I can probably store about 100+ full presets just within the processors non-volatile memory. I'm tinkering with the idea of adding a memory chip to the board that will get me up in the thousands, but I'm not sure if I'll need it.

I'm also adding a variety of signal routing mixers that will allow me to place the DSP in various configurations without swapping wires. If I were to use it as a signal processor for a guitar, the guitar would be plugged directly into the DSP and the DSP's output would be fed into one of my yamaha mixer channels for recording.
If I were to use the DSP to master a track I would have to position it at the output of the yamaha mixer and before the computer's record input.
I hate swapping wires with patch bays etc so I'm trying to automate this. I may make an automated patch bay as a separate project. I'll bet that I could actually sell those!! I've never seen one anywhere or even heard of one. I came up with this idea the other day.

Anyway, thanks for the interest. Here is a pic spectral readout test screen. Tempus Fugit is playing :)

http://www.thehawkstudio.com/picts/hawkdsp5.jpg

mezz64
11-10-2007, 03:25 AM
Any updates Mark? I've been following your progress from diyaudio and was wondering if you ever got things figured out and also if you would be willing to share your code. I'm attempting a similar project with a dsPIC and I'm new to the chip, any guidance you provide would be appreciated. Thanks!

MarkE
11-10-2007, 03:33 AM
Hi,
Thanks for asking. I have made significant progressing coding the project but am still running into plenty of trouble getting the biquads working properly. I cant get them to function predictably no matter what I try.
I just recently started a new job and had to drop working on it for a bit, but I plan on getting back to it.

sure, You can have a copy of the C code if you like. It contains all of the code necessary to get the TAS up and configured properly, the clocks, mixer etc etc etc. Its written in MicroElectronika C. It also has the code for a full debounced, interrupt driven encoder group that is driven through microchip GPIOs. Just let me know if you want it. Hit me with a private message with your email address.

MarkE

upulpp
01-21-2010, 01:57 AM
Hello every one
I'm new to audio dsps...
I'm expecting to use this TAS3103 for my audio processing project. I'm searching for some sample codes before get into my project.
can anyone help me to get in to my protect?:)