Forum Rule: Always post complete source code & details to reproduce any issue!
Page 6 of 6 FirstFirst ... 4 5 6
Results 126 to 142 of 142

Thread: Teeny Guitar Audio Board

  1. #126
    Senior Member Blackaddr's Avatar
    Join Date
    Mar 2017
    Location
    Canada
    Posts
    171
    Quote Originally Posted by SteveC View Post
    Can anyone suggest a standard enclosure? I have some 125B size (1590N1?) which are 4.77" x 2.6" x 1.39" but they seem to be a bit shallow. My teensy 3.6 has a stacked header which makes it even worse.
    Steve
    Take a look at Hammond's 1590 series listing. I've not fitted the board yet in an enclosure but it looks like you need about 1.5" of internal depth, so look for boxes with at least that.
    http://hammondmfg.com/dwg.htm

    Maybe see if a 1590S will work? (1.57" internal usable depth)
    https://www.digikey.com/product-deta...M158-ND/131032

    Should give you the depth you need as well as "face space" to wire in some switches or pots to the GPIO headers on the TGA Pro.

  2. #127
    Junior Member
    Join Date
    Oct 2012
    Location
    Boston
    Posts
    15
    Thanks,

    I found these Mammoth Electronics enclosures:
    https://www.mammothelectronics.com/p...0bbt-enclosure (4.67 x 3.68 x 1.95")
    https://www.mammothelectronics.com/products/4s1590bbm (4.67" x 3.654" x 1.547")

    Much cheaper than Digikey!

  3. #128
    I just found some time to test the Board. One thing is, the Teensy looses its memory/program after disconnecting from the USB. After reconnecting, the program doesn't run. Tested with 2 different Teensys. This applies to both test programs.Programs, which don't use the GTA work fine. Any idea?
    And Mem0 isn't working (I added it, looks OK to me). Mem1 is fine.
    Last edited by DragonSF; 01-10-2018 at 12:02 PM.

  4. #129
    Senior Member Blackaddr's Avatar
    Join Date
    Mar 2017
    Location
    Canada
    Posts
    171
    Quote Originally Posted by DragonSF View Post
    I just found some time to test the Board. One thing is, the Teensy looses its memory/program after disconnecting from the USB. After reconnecting, the program doesn't run. Tested with 2 different Teensys. This applies to both test programs.Programs, which don't use the GTA work fine. Any idea?
    And Mem0 isn't working (I added it, looks OK to me). Mem1 is fine.
    I've got a couple things for you to try regarding the program not running. I assume you've already grabbed the latest version of the BAGuitar library from the repo.

    1) Are you running the example BA3_TGA_Pro_2MEM.ino?
    Try removing the following code from the setup() function.
    Code:
    while (!Serial) {}
    This causes a wait loop until an serial window is connected. It shouldn't be there anymore (it was already removed from the other examples). If you unplug the USB and plug it back in, the sketch will wait infinitely until you bring up a serial monitor again. I've just updated this fix into the github repo.

    2) If not the issue above, are you running BA0_TGA_Pro_TRY_FIRST.ino?
    This sketch uses the WM8731 codec driver built into the Audio library which has some issues where sometimes it can't seem to program the codec. The BAAudioControlWM8731 in the BAGuitar Library alters the disable/enable sequence to improve reliability and also adds retry support so if an I2C transaction is garbled, it resends it. So if you haven't tried the latest BAGuitar library from github (master branch) make sure you try that.

    As for the MEM0 problems:
    - how are you testing them? Are you running the BA3_TGA_Pro_2MEM example? If so, is it occasional errors or every transaction fails? It sounds like a solder connectivity issue if every transaction fails. Make sure the capacitor next to MEM0 doesn't have a cold solder joint on either side. You can use the schematic to figure out which pins on the MEM0 part connect to which pins on the Teensy. Use a multimeter to check for connectivity while the teensy is in the socket (powered off of course) to ensure all solder joints (including your teensy pins on your teensy board) are good.

  5. #130
    Thanks for the advice, it&s working now. I found a bad soldering spot ob piun1 of MEM0. After re flowing, the chips are tested fine.
    I tried to run BA3_TGA_Pro_2MEM.ino, which works fine, unless I add an output cable to DRY OUT. Then the wet signal becomes inaudible.
    In exmaple BA4_TGA_Pro_delay_reverb.ino only the wet signal is audible (no mix). Looking at the schematics, the dry signal should be always there and not interfere with the wet signal. Issue or feature? Please advise again.

  6. #131
    Senior Member Blackaddr's Avatar
    Join Date
    Mar 2017
    Location
    Canada
    Posts
    171
    Quote Originally Posted by DragonSF View Post
    Thanks for the advice, it&s working now. I found a bad soldering spot ob piun1 of MEM0. After re flowing, the chips are tested fine.
    I tried to run BA3_TGA_Pro_2MEM.ino, which works fine, unless I add an output cable to DRY OUT. Then the wet signal becomes inaudible.
    In exmaple BA4_TGA_Pro_delay_reverb.ino only the wet signal is audible (no mix). Looking at the schematics, the dry signal should be always there and not interfere with the wet signal. Issue or feature? Please advise again.
    First up, I took a close look at the BA4_TGA_Pro_delay_reverb.ino and found a typo. I didn't noticed before because I was doing stereo testing. The connection to mixer 0 should have been i2sIn 0, not i2sIn 1. I've corrected the example on github, but you can easily fix it locally. Also, I copied the final output onto both channels so when you're mono in (typical for guitar) you hear the output on both output channels.

    Here's the new connections:

    Code:
    // Audio Connections
    // ... other connections ...
    AudioConnection      patch1(i2sIn,0, mixer,0); // mixer input 0 is our original dry signal - THIS WAS ERRONEOUSLY SET TO (i2sIn,1,mixer,0)
    /// ... other connections
    AudioConnection      patch5(cabFilter, 0, i2sOut, 0); // connect the cab filter to the output.
    AudioConnection      patch5b(cabFilter, 0, i2sOut, 1); // connect the cab filter to the output.
    As for the DRY OUTPUT jack, if you look at the schematic, they are tapped directly off the signal just before it enters the codec, however they are not buffered again (that would require more even op-amp circuits). Basically, it's just a passive splitter. The caveat is whatever you connect here appears as a load in a parallel with the codec input (once again, just like a Y-splitter cable).

    If you connect the DRY_OUTPUT to something with much higher impedance than the codec input, the loading effect will be negligible. If you plug in something with line-level inpedance, you'll hear a small volume drop (3db due to the split load). Most amps and pedals fall in the high impedance category. It's also worth noting that if you plug a mono cable into the DRYOUT, you are grounding the right channel input to the codec since it's missing the ring, but it shouldn't matter because the mono cable plugged into the INPUT is also grounding the right input channel. Grounding audio channels is electrically safe because they are ac coupled, it just mutes them.

    Now it should be clearer why plugging something into the the DRY OUTPUT was causing an issue (assuming you plugged in a mono cable). It grounds the right channel input to the codec (which shouldn't matter) but it did matter in this case because of the typo in the example which was using i2sIn,1 (the right channel) when it should have been using left channel input.

    Sorry for the typo, thank you for bringing the issue to my attention.

    In general, it's good practice if you are using stereo input, to only use a stereo plug on the DRY OUTPUT. If you are using a mono input, then a mono plug on the dry output is fine.

    Let me know if this doesn't resolve your issues.
    Last edited by Blackaddr; 01-11-2018 at 02:47 AM.

  7. #132
    Yes, that makes sense (Dry out stealing all the soon to be wet signal). And I can confirm, delay+reverb demo works as it should.
    I tried to use you new components in the GUI, but this doesn't work, because the definitions are not there. Are you planning to extend the GUI or shall I do that? (I've done that before and it's quite easy). I'll share the results with you for spreading.Compliments on the low noise level.

  8. #133
    Senior Member Blackaddr's Avatar
    Join Date
    Mar 2017
    Location
    Canada
    Posts
    171
    Quote Originally Posted by DragonSF View Post
    Yes, that makes sense (Dry out stealing all the soon to be wet signal). And I can confirm, delay+reverb demo works as it should.
    I tried to use you new components in the GUI, but this doesn't work, because the definitions are not there. Are you planning to extend the GUI or shall I do that? (I've done that before and it's quite easy). I'll share the results with you for spreading.Compliments on the low noise level.
    Thank you for your compliments! Once again, sorry about the typo in the demo, I appreciate your patience. I should probably add the DRY OUTPUT explanation to the documentation.

    I thought about extending the GUI but it is not high on up the priority list yet. Right now I'm coding up a collection of general purpose library routines (rather than stand alone audio objects) common to many effects. This includes generic delay functions, LFO function generators (sine, square, random, etc.), filters, as well as a common memory interface (internal or external).

    This will allow me make single audio object like delay that supports both internal and external memory in the same class. As well it should make it easier to develop more complex effects out of those building blocks, like phasers, tremolo, double tracking, etc.

    The first objects build with these library routines will be an AudioEffectAnalogDelay and AudioEffectSoundOnSound.

  9. #134
    Junior Member
    Join Date
    Apr 2018
    Posts
    1
    For anyone interested in using the TGA-Pro MIDI input, here's an example sketch that I hacked together to demonstrate how to use the sound fonts and AudioSynthWavetable library. Here's the repo: https://github.com/rabarar/GeneralMidiSynth-TGAPro

  10. #135
    how can i connect an true bypass switch?

  11. #136
    Senior Member Blackaddr's Avatar
    Join Date
    Mar 2017
    Location
    Canada
    Posts
    171
    Quote Originally Posted by wolke View Post
    how can i connect an true bypass switch?
    You'll need to build yourself a true bypass box, something like described here in this article: https://www.premierguitar.com/articl...ypass-lesson-1

    The reason why you usually need true bypass is most pedals have tone-suck caused by too low an input impedance. High impedance (500K to 1M) is very noisy unless high quality resistors are used, usually referred to as audio grade. Most guitar pedals believe it or not DO NOT use audio grade components. That's why the "Boutique" pedal industry exists.

    The TGA Pro has 1 Meg input impedance using high quality audio grade resistors and caps in it's input stage to prevent tone suck from the start. You'll probably find that using the analog bypass built into the CODEC will give you a high fidelity bypass you're looking for.

    The analog bypass is access using the function on the codec control class here.

  12. #137
    I love the analog bypass feature you linked to. I saw that feature in the sgtl5000 chip's documentation, but didn't think it was used in the Teensy Audio adaptor. I'd like to know how you were able to do that, but first I should probably figure out how to use the code you have already done!

    So, do I just take the code on the github page you linked to and paste that into the Teensyduino IDE editor? Or would I install it like a library?

  13. #138
    thx,

    imo, an true bypass circuit is important for an guitar audio board which comes with already soldered 6,3mm jacks. your teensy guitar board suggest and ready to use pedalboard design. if i have to build my own true bypass circuit inside the "xyz...?? teensy guitar effect pedal" based on your guitar board i do not want desoldering 6,3mm jacks and so on. maybe only two jumpers on your circuit board can implement this feature.

    i think that most e-guitar player which play on tube amps do not want effect pedals without true bypass. on my pedal board i combine 8 pedals. i do not use extra routings or loop/bypass switches because the setup will grow to much and need a lot of extra space and to many cables.

    /g
    wolke

    ps:
    i do not trust the codec build in bypass feature . and this is not a true bypass. see codec audio flow diagram.
    https://www.cirrus.com/images/produc...01d7f56f0a.svg

  14. #139
    Senior Member Blackaddr's Avatar
    Join Date
    Mar 2017
    Location
    Canada
    Posts
    171
    Quote Originally Posted by Beavis View Post
    I love the analog bypass feature you linked to. I saw that feature in the sgtl5000 chip's documentation, but didn't think it was used in the Teensy Audio adaptor. I'd like to know how you were able to do that, but first I should probably figure out how to use the code you have already done!

    So, do I just take the code on the github page you linked to and paste that into the Teensyduino IDE editor? Or would I install it like a library?
    If you are using the TGA-Pro board and already have the BAGuitar Library installed and working, you are probably already using the BAAudioControlWM8731 class to control the codec. This class provides the ADC bypass.

    If you are using a Teensy Audio Board with a SGTL5000 codec, my BAAudioControlWM8731 class won't help you because the codecs are not compatible with each other.

    As described in the header file documentation, the CODEC ADC bypass takes the analog signal output from after the CODEC's built in preamp and sends it directly to the analog output, bypassing the entire digital portion of the codec.

    There is definitely a lot of momentum behind true-bypass. IMO, as a engineer, I disagree with most of the hype. The purpose of true bypass is to prevent the poorly designed guitar pedal's input stage (not high enough impedance) from loading the guitar pickups when bypassed, as well as circuitry that is low fidelity, usally sub-par op-amps. Stick a proper high impedance buffer at the start of the signal chain and the problem is solved. This is why you don't really get tone suck with active pickups, they have this buffer.

    One of the few exceptions is where the pedal is designed to load and react to the pickups impedance loading. Probably one of the only examples of this is the germanium based Fuzzes. They only sound good when it's lower impedance is allowed to directly load passive pickups, and then only if the germanium transistors are "good ones". All other scenarios sound best with a proper buffer as close to the guitar pickups as possible.

    A guitar amp (even a tube amp) has a very high input impedance which is why the guitar dynamics work very well in plugged directly into it. Tube amps sound even better when a buffer with gain is driving them, like a Tube Screamer pedal.

    In summary, true bypass solves two problems that are best solved in other ways:
    - guitar pedals that do not have a high enough input impedance suck tone when bypassed. FIX: put a high impedance buffer at the start of the chain.
    - guitar pedals that have noisy, non transparent (they apply unwanted EQ) circuits that are in the path when bypassed: FIX: build a bypass box like the link in my previous post, buy properly designed high quality pedals, or boutique versions of classic pedals with these problems corrected.

    Don't take my word for it though. Do some research and come to your own conclusions.

    Here's what Pete Cornish thinks about true bypass:
    http://www.petecornish.co.uk/case_ag...ue_bypass.html

    That out of the way, here's some psuedo code of how you might use the ADC bypass on the TGA Pro with the BAGuitar Library:

    Code:
    #include "BAGuitar.h"
    BAAudioControlWM8731 codec;
    bool bypassed = true;
    
    setup() {
        // ... other setup code
        codec.enable();
    }
    
    loop() {
        // ... assume  you've written some function bypassButtonPushed() that returns true if button is pushed since last check
        if (bypassButtonPushed()) {
            bypassed = !bypassed;
            codec.setAdcBypassed(bypassed);
        }
    }
    Last edited by Blackaddr; 05-05-2018 at 07:20 PM.

  15. #140
    @Blackaddr -- Thanks so much for your reply! Sorry for the beginner question, I still have a real tough time seeing the big picture. Thanks for the help. Sorry to say, I don't have your pedal, but I checked it out on Tindie and was very impressed! What a value (you must be losing money selling these)!! I have recently started playing guitar again (after I screwed an old Ibanez neck onto a 2x4 piece of lumber), and made a single transistor preamp and a "fuzz" with I think 2 transistors to plug into a boom-box. (My gear freak days are long gone) I had been toying with the idea of getting an MXR DynaComp, but for the same money I could get yours. Or I might let the "guitar" gather dust! Well thanks again!

  16. #141
    whether "true bypass" is important for a guitar player, of course, depends on the particular style of play. There are so many different ones. That's why there are no standards for whether things are better or not.
    simply to offer the possibility to adapt the pedal to all personal preferences would be good. I would, for example, order a board if it offered jumpers for a true bypass switch.

    /g
    wolke

  17. #142
    Senior Member Blackaddr's Avatar
    Join Date
    Mar 2017
    Location
    Canada
    Posts
    171
    @wolke I do hear what you're saying, and I appreciate your feedback. Adding more jumpers and routing it would be difficult, the PCB routing is very challenging as is to layout, while keep maximum isolation of the digital and analog signals. However, I may offer a version of the board without the connectors installed in the future which would let you implement your on true bypass. The reason I can't offer that right now is I have to test every board before shipping and I can't do that unless there are connectors installed.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •