Shop OBEX P1 Docs P2 Docs Learn Events
New FSRW and PSM Audio — Parallax Forums

New FSRW and PSM Audio

RaymanRayman Posts: 14,652
edited 2015-02-15 06:52 in Propeller 1
Just typed up a WAV player for the PSM that included variable attenuation...

That's when I noticed a buzz when the volume was turned down...
Figured out that it's coming from the SD card interface!
I'm still sorting out how exactly it's happening· (so turn it up loud!)

Anyway, on a hunch I tried it with the new FSRW and sure enough the buzz was lessened at lot.· I was speculating that a higher frequency interface would do that...

But...· Something in the new FSRW is interfering with the LCD (causing the screen to go white).
I'll have to ask Rokicki and Lonesock what's up in their thread...

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

Comments

  • RaymanRayman Posts: 14,652
    edited 2009-07-18 23:08
    Ok, we've found the problem in the new FSRW! I'll post the driver soon.
    I think I may have made a mistake using pins for audio adjacent to pins for SD...
    But, at least it's much better with the new FSRW.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
  • Mike HuseltonMike Huselton Posts: 746
    edited 2009-07-18 23:37
    Rayman,

    Great sleuthing!

    I hate RFI, grounding and shielding problems with a passion. Must come from my years as a recording engineer.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2009-07-19 00:02
    Ray,
    I've been using the new fsrw drivers in a WAV player I've just knocked together. There certainly is that buzz at very low levels but since I've got mine made up on a bit of matrix board that would be understandable. The final pcb should not have any such noise in it (other than what may be playing from the card). What method did you use for attenuation? Did you just use signed binary shifts?

    Rather than running software tests for Rokicki's and lonesock's fsrw I am actually measuring the raw rates on the scope so I will post my findings up when I'm done. So far I think driver is performing as well as it ever could at the SPI level but I would also like to have at least two files open and perhaps use simple handles to distinguish between them.

    I'm also experimenting with dual DAC's running at different output sampling rates and selectively summing these so that I can combine the higher frequencies at less resolution with the lower frequencies.

    At the moment I'm just looking at reading the track title by embedding it in the header or at the end of the file rather than a separate list. I cheated with the display and used one of my serial backpacks. As for wav FILE conversion on Linux I have found MPG123 command line tool works very well but I also run NCH's SWITCH under Wine as it allows me to do large batches of files using a GUI dialog.

    *Peter*
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-07-19 00:39
    The SD card should have a good bulk decoupling cap for the power right at the socket. This may help.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • RaymanRayman Posts: 14,652
    edited 2009-07-19 01:05
    I haven't proven it yet, but I don't think bypassing is the problem... I'm pretty sure the problem is pin-to-pin coupling inside the Prop... There's no fix except to keep SD pins seperate from audio pins.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2009-07-19 02:15
    I use a 10uf tantalum right at the socket but this is mainly for supply droop. The noise issue is usually to do with layout especially the analog and digital grounds. For this purpose the analog ground is actually the Propeller due to it acting as a DAC and the SD card ground should have it's own path back to supply as these devices can draw large bursts of current thus inducing "spikey" noise in the ground path. You can however just ensure that the DAC capacitor goes to a clean ground away from the SD.

    Naturally it pays to give the SD card it's own regulator too which only needs to be the small SOT-23 kind. If you can't use a separate regulator then a suggestion is to include a small inductor of a few uHs in the supply to the SD card which should include the 0.1uF and 10uf (or more) decoupling right across the socket.

    *Peter*
  • RaymanRayman Posts: 14,652
    edited 2009-07-19 12:35
    Here's a new wav player for the PSM.

    It fixes the skipping problem with computer generated wav files.· Also, adds some volume control.
    (Also uses the new FSRW and gives less background hiss).

    I'll update the OBEX version with this new code soon.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

    Post Edited (Rayman) : 7/21/2009 12:29:55 AM GMT
  • RaymanRayman Posts: 14,652
    edited 2009-07-19 13:52
    Ok, All better!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

    Post Edited (Rayman) : 7/21/2009 12:30:18 AM GMT
  • RaymanRayman Posts: 14,652
    edited 2009-07-21 00:29
    Thanks to lonesock and Rokicki for providing this new FSRW that is much faster!

    I've updated the files posted above with the latest version...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
  • David GallowayDavid Galloway Posts: 1
    edited 2015-02-15 06:52
    Rayman wrote: »
    Here's a new wav player for the PSM.

    It fixes the skipping problem with computer generated wav files.· Also, adds some volume control.
    (Also uses the new FSRW and gives less background hiss).

    I'll update the OBEX version with this new code soon.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

    Post Edited (Rayman) : 7/21/2009 12:29:55 AM GMT


    I've got this working on my demoboard with the TV instead of the TFT since I don't have a PSM board. Thanks for the code!
    The one thing I've noticed is that there is a very loud pop at the very beginning of any wave file that I play. I'm trying to loop a sound and it pops at the start of every sound.
    I will take a look and try to debug this but is there already a fix or a newer version? Perhaps you have an inkling of the issue.

    Thanks again it's been fun to play with,

    David
Sign In or Register to comment.