News:

SMF for DIYStompboxes.com!

Main Menu

Tonewoodamp

Started by DrAlx, November 21, 2018, 06:37:24 AM

Previous topic - Next topic

DrAlx

The tonewoodamp has a Spin FV1 inside, so yes it is all digital. I don't know how well the notch filter approach works. The detune pitch shift works like a dream.  Based on what I've done so far (testing on just one guitar though !) I think you can avoid notch filters just by using a coil based pickup.  The notch filters were probably included because they wanted to make a product that could work on nylon string guitars too (i.e. used piezos), or other acoustics that came with piezos ready installed.   I am going to build a FV-1 based reverb with two inputs so I can mix coil and piezo signals.  The piezo signal can be dialled down so it can still hear the body knocks but not feedback. That's all the piezo would be doing. The spin fv-1 has some preprogrammed reverbs. The FVerb project on this forum shows how easy it is to build a reverb with the FV1, and it's then just a matter of getting rid of the dry signal in the fverb by dropping the final mixer.

caspercody

https://www.pedalpcb.com/product/arachnid/

I am curious about using this? Can get the chip programmed with eight different effects. Do a reverb, or delay, chorus. Maybe would not be able to multiple effects at same time. I am curious about the filter programs?

Digital Larry

I did a small amount of consulting early on in their product development so I got one for my own self.  The amp is held to the back of your guitar with 4 REALLY strong magnets.  There's a plastic frame with double sided tape that mounts inside your guitar and holds the  magnets.  I don't think there are any magnets in the unit itself.  The thing that presses against the guitar back to vibrate it is kind of a rubber doughnut. 

I don't know anything about the electronic design, and even if I did, you know... wouldn't be saying anything here about it.

I don't gig at coffee houses so I don't use it a lot, but it's a pretty cool doohickey.
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

caspercody

Anyway to open it up and take pictures to see the electronics?

DrAlx

I have almost finished building my own box for this and have managed to achieve excellent results, meaning you can get loud reverb without feedback.  I will post clips and full build instructions once the remainder of the parts arrive (I am still waiting on some more pots and switches).

It's a veroboard build.  It uses an FV-1 plus an SOIC to DIP adapter board.  I had never soldered surface mount parts before and don't have the best soldering skills (I blame my iron ;) ) but even I managed to pull it off.
The default programs on the FV-1 were no good for me as I have a piezo pickup and this would cause feedback through the guitar body.  So I customised existing reverb code to kill the feedback and wrote it to EEPROM.

Making a custom EEPROM for the FV-1 is easy. All you need is a computer, an Arduino (or a clone, about £5 from eBay) and 4 wires.  I'll provide the Arduino program that writes the EEPROM, and also the ROM image.  I'll provide the Spin assembler code too in case anyone want to customise things or create their own ROM images.

Everything apart from the exciter (i.e. veroboard effects board + class-D amp board + 4xAA NiMH batteries) fits into a plastic 1591 Hammond enclosure but it is a really tight squeeze.



caspercody

DrAlx

Thanks for all your work!! I am looking forward to seeing what you did.

DrAlx

#26
I am tweaking software now and documenting things.  There is not much to the electronics.  Just the circuit from the FV-1 datasheet plus an opamp to provide gain  at the input + pre-emphasis/de-emphasis noise suppression.   I took Ice-9 (Mick Taylor's) shimmer reverb code from this forum as a template, and made some improvements to the effect and added tweaks to stop the feedback (basically a couple of notch filters + a 10 cent detune).  It will all be fully commented in the code with necessary formulas, so anyone who wants to use different notch frequencies to me can implement that.

In case you are wondering how I found the notch frequencies to use, I first did a simple "clean boost" program for the FV-1 that just provides a simple big gain, and then increased the volume pot till I got feedback.  I have a free "Audio Tool" app for my Kindle Fire that gives spectrum and peak location. You could also record the sound and use Audacity to get the peak in the spectrum.  I got a peak about 940Hz, so wrote second program "clean boost + 940Hz notch" and repeated the procedure.  I could push volume louder till I got second resonance (about 345Hz I think).  So I did third test program with two notch filters (940Hz + 345Hz).
Any residual resonance was taken care of in the software by adding a detune pitch-shift before the reverb ring (it's harder to get resonance if the signal being fed back is slightly off).  There is the bonus of giving a fuller sound due to subtle chorus/doubling effect.
I also tried other reverb code with a more complex reverb loop (more delay lines and all-pass filters) but that actually worked less well and gave feedback at lower volumes.

The trickiest engineering problem isn't electronic or software in my opinion though.  It's mechanical.

The way you are "supposed" to attach the exciter is to peel off the tape on the bottom of the device's "drive-plate" and stick the drive-plate to the surface you want to vibrate.  The adhesive is apparently very strong, and I didn't want a permanent attachment to my guitar (well not yet anyway, as I am still in two minds about whether to eventually mount it inside the guitar).
So I just taped the exiciter down to the back of the guitar with masking tape (you'll see when I post pictures).  That has the drawback of dampening the sound, but the advantage that it can help avoid resonance in the bass frequencies.  With this arrangement, the exciter drive-plate is being pushed against the guitar back surface, not stuck to it.  So it is similar to the way the TWA pushes its exciter (via a rubber ring) against the surface.
I sometimes got resonance (of the actual exciter itself rather than the guitar) and experimented doing other things such as putting a thin layer of foam between the exciter and the guitar.  I even tried taping the exciter to a large piece of cardboard box and stuck that on the guitar.  Just taping it down to the back of the guitar with masking tape sounds very good, but as the masking tape loses its stickiness, you can get feedback resonances of the exciter due to poor attachment. Lightly push the back of the exciter and the problem goes away.

Then a couple of days ago I decided to not tape it down, and instead used a small piece of double sided tape to stick the drive-plate to the guitar back.  This leaves the back of the exciter (the bit with the logo on) free to vibrate with no masking tape restricting it.  That's the way the exciter is designed to be used.  This massively increased the volume and quality of the sound,  especially the bass. If anything the bass at about 100Hz was now a problem.  This could probably have been addressed with filtering (either in the pre-amp bit to the FV-1, or in the software) but I  just went back to using masking tape to limit the bass by restricting the exiter's vibration.  If I was going to make something permanently attached to the guitar, then I would put it inside the guitar, glue the drive plate in place, and tweak the electronics or software to kill resonances.

DrAlx

#27
A quick recording. First me smacking the body with no FX, then with FX.
All coming through the soundhole of the guitar.

https://soundcloud.com/alex-lawrow/mytwa

and some pics.
First is the vero which I pre-tinned and then cut tracks.
Wasn't sure of how much I wanted on the board at that point


The thing taped to the guitar ...


The exciter attached with masking tape.


The guts


... and the class-D amp board.


DrAlx

I'm too lazy to start a new thread, so here are build instructions, Arduino program to write the EEPROM (which includes the ROM data I used for the demo sound clip).  Documented SpinASM assembler code included too. All in the zip file at this link...

https://1drv.ms/u/s!AvrH61utWEtEinNVZF2O6oq4lMO0

Enjoy :)


deadastronaut

that sounds freaking awesome......love it.  8) 8) 8)
https://www.youtube.com/user/100roberthenry
https://deadastronaut.wixsite.com/effects

chasm reverb/tremshifter/faze filter/abductor II delay/timestream reverb/dreamtime delay/skinwalker hi gain dist/black triangle OD/ nano drums/space patrol fuzz//

DrAlx

#30
One thing I forgot to mention. When I turn it on after it's been powered off for a while (say 10 seconds), the act of switching it on causes the fv1 to see an input signal spike and you get that crash reverberated out. So to power up I do a switch on keeping the volume low, that lets caps charge up, then switch off and back on again, or I flip a switch to change program.  I haven't worked out which is the problem cap. If I take the opamp out I get the same effect. I have not managed to find this type of FV1 switch-on noise mentioned elsewhere. If I make the regulator charge up more slowly by using a bigger C and adding some R in series with it then it helps but I had to use an R that was so large that I just dropped voltage. So I dropped that idea.  I am wondering if there is a way to fix things in the program so that there is a delay before something useful happens.

UPDATE: I managed to modify the code to mute the input (for up to several seconds if necessary) when the program starts, but it doesn't fix things.  To clarify, if everything is already powered up OK, and I toggle to that program then I get the second or so of silence that I intended and then the effect starts up fine.  I don't get that when I first put on the power though.  I get no sound at all.  Permanently.  Until I toggle to another program and then back.  I think the reason is that I implemented the muting by using a delay line with feedback as a sort of countdown timer for when the effect should start.  I can only assume that at power up there is garbage in the delay line (instead of zeros) and that is what stops my scheme from working.  I will post this on the Spin forum.

UPDATE 2:  Advice on the Spin forum was that noise on startup is down to either the cap on the crystal not letting it start up quick enough, or there being a problem with the supply.  I tried everything. Larger caps on the crystal.  I powered the board with a separate switch direct to the battery instead of using the same switch as the class D amp.  Tried larger caps on the input and output of the regulator.  No luck with any of them.  I am going to live with the workaround of toggling the power on/off/on to switch on.

DrAlx

I noticed an error in the build document above (missing connection on the diagram showing how to bridge strips together).  I have corrected it, and also tweaked the program code to save a few instructions (there were a few places where quantities were written to registers and then read back immediately in the next instruction.  I will pull the old zip file.  Use this one instead ...
https://1drv.ms/u/s!AvrH61utWEtEinTuwzdgxpn2TVm8

caspercody

DrAlx

Thanks for the files and instructions. I got your file burned onto my EEPROm using the Arduino method you described.

Question for you, I found some SpinAsm files on the web that I would like to try to burn onto my chip using the same method, but how do I convert the SpinAsm file to verity in the Arduino software?

Thanks
Rob

DrAlx

#33
You need to download the development environment "SpinASM IDE" from the Spin website. It only runs on windows, not Linux or mac.  In it you create a project called "ROM" (so that it will produce a header called ROM.h). The project has 8 slots where you specify the .asm files for the 8 programs.  You check the box to compile the project to a "Source File" (i.e. a header file) and hit "Build".  The spin software has quite poor usability IMO (but hey it's free). The installer was stupid and wouldn't put folders where I wanted them. I ended up editing registry entries to get it to work properly.
Note that the header file needs some tweaks before it can be copied to the folder with my burner program. Follow the instructions written in the EEPROM burner program.

BTW I just refined my method of attaching to guitar for both the box and the exciter. It is completely detachable and with no sticky glue or tape that could mess up the guitar finish. The exciter is now "correctly" attached to the guitar back (i.e. its drive plate is stuck to it, not pressed down with masking tape, but it is still detachable!!!). I used similar tech as the TWA. Some strong magnets (though they are not essential nor the most important thing). The key thing is Airstick microsuction tape. I will post details and pictures shortly.

DrAlx

OK, here are the details of how I got everything to securely attach to the guitar, yet be easy to detach (and put on another guitar).  The key ingredient is Microsuction Tape.  I used AirStick but there are other brands.
I got the 0.5mm thick tape.  I should probably have got the 0.8mm thick tape as it is apparently stronger, and might have handled the curved guitar back a bit better.



It's pretty cool stuff.  See videos for it.  You unstick it by slowly applying leverage to one side of the tape.
The tape needs smooth and flat surfaces to work properly, so a glossy guitar back is fine. I have not tried it on a matt or satin finish.

The exciter's "drive plate" is basically a disc with a large hole in it (like a washer with a large hole), and comes covered with a very strong adhesive tape by 3M. The drive plate does not have large surface area and would chew up the suction tape if it was applied directly to it.  So here is what I did.  I took a piezo transducer like this (about 1 inch diameter)



and ripped off the wires and scratched off the PZT, so all I was left with was a thin flat brass disc.
I then stuck microsuction tape to the bottom of the disc, and stuck the exciter's drive plate to the top of disc.
So the brass disc effectively becomes a drive plate with a large microsuction tape surface.  It holds onto the guitar back very well.  The bare wires leading to the exciter's coil got very close to the brass disc, so I covered those problem areas of the disc with masking tape.

I used microsuction tape for the box also. The guitar back is slightly curved so there is no point covering the entire bottom of the box with suction tape as not all of it will make contact with the guitar back.  So I superglued two 50mm x 25mm x 2mm stainless steel plates to the bottom of the box. The aim is to have them both make as much contact with the curved guitar back as possible.  I could have chosen the placement a little better, and should probably have separated them by about half the distance.



I then covered the steel plates in microsuction tape.



The tape holds onto the guitar back very well, but over time (say a few hours) I noticed that the tape on the plates tends to lose suction on the two outermost edges because the guitar back is slightly curved and not totally flat.  So probably only about half of the tape is stuck to the guitar back.  It is still really strong, and you can pick the guitar up by the box and shake it, and it will stay stuck to the guitar back.

As a sort of insurance policy, I bought five 25mm diameter x 2mm thick N50 neodymium magnets.  I made a stack of 3 and a stack of 2 and put them in the guitar so that they pulled the steel plates towards the guitar back.



The main job of the magnets is not to hold the box, but rather to make sure that the microsuction tape stays flat and does not peel away from the curved guitar back.  It mostly worked.  One steel plate is still totally flat after a day, and the other lost about 1/4 contact (probably down to magnet placement).  Based on what I have found out, I would say all you need to reliably fix the box to the guitar is a single centrally placed 50mm x 25mm x 2mm steel plate covered in microsuction tape, and a stack of 2 or more of the above magnets inside of the guitar.  A stack of 5 magnets would definitely do it.


Further up the thread I mentioned that when the exciter drive plate is stuck to the guitar back (rather than pressed onto it as in my original experiments) that the sound quality and volume was much improved, but that the exciter had a nasty bass resonance. I previously addressed that by taping down the exciter to kill the bass vibration, but I have come up with a much better solution.  I took a 2p coin and used microsuction tape to stick it to the back of the exciter.  The 2p coin will actually stick to the exciter on its own (because there is a magnet in the exciter) and I only used suction tape to make the attachment more robust.



Her Majesty's head provides enough mass to kill the horrible bass resonance, while not seeming to affect the sound in any other way.

Nice one Liz !!

caspercody

I do have SpinASm IDE loaded on my windows 10 computer.

Where do you create a file, and call it Roh.h?

Just to make sure I am describing what I am trying to do, and even if it is possible.

I have a file downloaded from the Spin forum, called Shimmer.spn (it might be the same one you used for your TWA). I want to convert this spn file to the same format you used to be able to burn it onto the EEPROm chip using my Arduino UNO?

Thanks
Rob

caspercody

Never mind, I got it to work.

Thanks again for all your help and work on this!!

DrAlx

#37
OK. In case anyone else wants explicit details here is a doc saying what to do..

https://1drv.ms/b/s!AvrH61utWEtEixf2K4YlPq-kutvt


BTW, I've reworked the shimmer algorithm I posted and got it even better.  I'm working on a bunch of other effects, mostly by tweaking things that are out there.  Playing with a very nice plate/hall reverb at the moment.  Am working on a delay too but that is tricky regarding feedback.

PRR

#38
> I took a 2p coin ..... Her Majesty's head provides enough mass .... Nice one Liz !!

The UK two pee is very rare in the US; even coin shops won't bother.

Two US Cents still is not as heavy as your 2p.

It is remarkably close to a US Quarter for mass and diameter. (Johnson Sandwich of course; I ignore the pre-LBJ silver quarters as they are now precious.)

Two pence -- United Kingdom (UK)
Mass   7.12 g
Diameter   25.9 mm

Quarter dollar --- United states
Mass   5.67 g
Diameter   24.26 mm (0.955 in)

By the nature of resonance, the small difference in mass makes a small-small difference in resonance.

As you say, the face may matter: live sovereign versus dead rebel must affect tone.

For reference:

Nickel  --- United States
Mass   5.000 g  Diameter   21.21 mm (0.835 in)

Half dollar ---- United States
Mass   11.340 g  Diameter   30.61 mm (1.205 in)

Canadian Nickel is, oddly, 4/5 of a US Nickel (3.95 g). However a Can 5c *has* steel in it, so may "actually stick to the exciter on its own". Except the now-rare 1943 US "steel" penny (worth 13c in bad condition), none of the US coins stick to a magnet worth a darn.
  • SUPPORTER

EBK

You forgot the US dollar coin, Paul:

8.1g
26.5mm
  • SUPPORTER
Technical difficulties.  Please stand by.