Ever used a microcontroller for audio DSP?
Replies
Ask a question
Engage with community members and experts to find solutions and answers.
Search questions and answers
View questions by topic
Application
- Industrial
- Scientific
- Medical
- Automotive
- Lighting
- Audio
- Video & Imaging
- Security
- Green/Environmental
- Military
- Communication
- Consumer
- RF & Wireless
Technology
- Communication
- Microcontroller & Processor
- Analogue & Power
- Programmable Logic
- Display/Lighting
- Memory
- Test & Measurement
- Electro Mechanical
- Software
- Passives
- Software
- Embedded Systems
- USB
- Ethernet
- Powerline
- CAN
- SERIAL
- Zigbee
- WiFi
- Bluetooth
- GSM
- Microwave
- GPS
- 8 Bit
- 16 Bit
- 32 Bit
- DSP
- Data Acquisition
- Power Management
- Amplifiers & Linear
- Clocks &Timings
- Sensors & Transducers
- Interfaces
- Batteries
- FPGA
- LCD
- OLED
- LED
- EEPROM
- FLASH
- 8,051,803,180,328,050
- PIC
- ST7/STM8/8032
- AVR
- PIC
- MSP430
- PIC32
- C2000
- ARM Cortex
- AVR32
- Interconnection
- Thermal Management
- Relays
- Enclosures
- Power Supplies
- Motors & Controllers
- PCB Design Tools
Manufacturer
- Agilent
- Analog Devices
- Atmel
- Freescale
- FTDI Chip
- Infineon
- Intel
- Maxim
- Microchip Technology
- National Semiconductor
- NXP
- Renesas Technology
- RS
- Silicon Laboratories
- STMicroelectronics
- Tektronix
- Texas Instruments
- Xilinx
- Altera
- Digi International
- Intersil
- Keil
- Melexis
- Parallax Inc.
- Power Integrations
- Toshiba
- Arduino
- TE Connectivity
- Avago
- Kingbright
- Sharp
- Allegro
- Raspberry Pi
Theme
- Arduino
- Interconnections
- LED Lighting
- RS EDP
- Robots
- DesignSpark
- DesignSpark PCB
- MBED
- 3D Design
- TI Launchpad (MSP 430)
- eTech Magazine
- Embedded Software
- DesignSpark PCB 设计工具
- STM8-L
- Energy Harvesting
- Embedded Computing
- Tutorials
- Education: Projects
- SketchUp
- MSP430 FRAM
- chipKIT
- DesignSpark PCB
- chipKIT Challenge
- Dev Kits
- Raspberry_Pi
View questions by keyword
- microchip
- Arduino
- nano
- shield
- test
- pic32
- microcontroller
- pic
- soldering
- contact
- RF
- EEPROM
- M3
- ETHERNET
- USB
- MICRO
- STARTER
- standards
- LED drivers
- Energy consumption
- connectors
- cables
- cable
- socket
- wire
- thermal
- speed control
- EDP
- Embedded
- Development
- Platform
- motor
- control
- MBED
- Cloud
- online
- ARM
- LPC1768
- robot
- lighting
- Dev kit
- learning
- power
- MOSFET
- automotive
- Zigbee
- wireless
- MAC
- LED
- PoE
- Cisco
- 802.3af
- electronics
- designspark
- community
- clock
- video
- design
- blog
- profile
- production
- change
- 3D CAD
- 3D
- SMT
- component
- ti
- spice
- simulation
- analogue
- manufacturing
- value
- technology
- Intel
- Radio
- NXP
- mcu
- software
- education
- FPGA
- pcb
- schematic
- BOM
- IDF
- DesignSpark PCB
- Windows
- Linux
- libraries
- mounting holes
- pads
- components
- DesignSpark PCB. pcb
- pcb layout
- autorouter
- undefined
- save
- activation
- Library
- Eagle schematic import problems designspark
- PCB compatibility
- design engineers
- design consultants
- About Designspark
- location
- microwave
- connector
- transformer
- blogging
- multiple
- installation
- search
- training
- power supply
- fail
- modify pads
- single-sided routing
- unconnected
- report
- eagle
- import
- smd
- auto route
- layers
- surface mount
- create component
- gate
- Bridge
- dsp
- electronics design
- microcontrollers
- Boundary-scan
- PCB test
- Repair
- mounting
- holes
- protoyping
- pcb manufacture
- printing
- FPGA software
- pour
- spacing
- shape
- Support Data File
- subscribe
- earls court
- feedback
- closed loop
- Constant Current
- Activation for 2 computer
- footprint
- survey
- pipe
- failed activation
- Sensor
- Two instances of DesignSpark
- component library
- electroluminesence
- jumping
- website
- PCB Symbol schematic symbol
- Google SketchUp
- sparkfun
- footprints
- opto
- opto-coupler
- 4n35
- 4n25
- RTOS
- OrCAD
- netlist
- EDIF
- Crash
- Bug
- Bug report
- NATIONAL
- DS90CR288AMTD
- Design spark
- Pick and Place
- gerber
- activate
- Site problems
- wine
- Activation problem
- compliant
- prototyping
- bug style
- ugly style
- PC
- suggestions
- ideas
- improvements
- features
- circuits
- unroute
- track
- silkscreen
- glue
- Colours
- University
- Wish List
- Mouse Wheel Pan
- skills
- engineering
- schools
- Touch Screen
- Panjit
- part
- PCD Manufacture
- Rigidflex
- Heatsink
- layout
- display
- zoom
- level
- time travel
- rewind
- corrupt lip file
- individual
- rename
- net
- Embedded Live
- basic
- sinclair
- zx spectrum
- diy
- computer games
- games
- console
- games console
- newsletter
- subscription
- mitre
- personal
- copy
- 48k
- tutorial
- flexi
- Imperial
- metric
- measurements
- units
- language
- basics
- battery
- Track length
- Net Length
- LVDS Pairs
- Display Net Name
- missing
- ultrasonic
- matched filter
- CDMA
- edit
- DWG
- files
- assembly
- drill
- panel
- OAuth
- robots
- pour copper
- user manual
- guitar
- bloggers
- maker faire
- Library Tutorial
- STM8
- STM8A
- STM8AF6266T ST-Link
- STM8AF51AAT
- DSI
- pth
- Activation code
- rotate
- equivalent part
- Download Problem
- RJ45
- pad
- ipc-7351
- Embedded Systems
- Microprocessors
- COMMS
- board
- strain gauge
- low power
- must see
- exhibition
- lvs
- amateur radio
- dxf
- bitmap
- MPLAB
- PIC24
- PICDEM FS-USB
- RS catalogue
- GC-Prevue
- Engineer
- custom
- project
- backup
- nets
- create component problem
- Design Spark PCB duplicate
- exellon
- problem
- Spark
- Agilent
- Measurement
- Oscilloscope
- etech
- RS
- Hierarchical design
- copper pour
- PWM
- watch
- mobile
- PCB inductor
- Basic Stamp BS2
- national instruments
- tektronix
- test gear
- interface
- xbox
- 360
- drill backoff
- back off
- hole
- Internships
- arm cortex
- High speed cable assemblies
- Keepouts
- test and instrumentation
- mini pci express card
- board layout
- Compliance testing
- cable assembly
- copper
- updates
- grids
- grid
- Mamufacturing Plots
- embedded software
- firmware
- Window Output
- Ubuntu
- Car
- CAD Component Editor
- motor control
- web page
- image export
- Bluetooth
- WiFi
- switching
- pic18f
- cd
- starter kit
- AMP
- microwave week
- newbie
- Search by rs order number
- materials
- Export
- saving files
- smika07
- PDF output
- Netlist Import Orcad
- Light Bulb
- Component to Component errors
- Design rule check
- Via
- esd
- Design Spark PCB
- PCB Flash Pads Gerber
- Text Messaging
- lost component files
- STP
- VDIP2
- back emf
- drill holes
- voltage control
- pinswap
- gateswap
- pin-swap
- gate-swap
- pin
- swap
- parts
- symbols
- buck boost convertor
- Arrange items
- circle
- pin naming
- T&M
- odb++ allegro .brd
- batch edit
- multiple components
- Eagle Import PCB
- electro static discharge
- digital signal controllers
- verilog
- Help of DesignSpark PCB
- digital power
- clear
- bus
- component chooser
- seminar
- graphics
- Power planes
- copper removal
- etch
- object avoidance
- photovoltaic
- Molex
- pcb design
- process
- workflow
- help
- 8 bit
- discovery
- light control
- board PCB
- moc302x
- ultra librarian
- Net Aliases
- forum
- modular robotics
- win7
- application issue
- atmega328
- error
- issue
- bugreport
- @DesignSparkRS
- Powerplanes
- manchester
- test and measurement
- rf design
- communications
- Package Value default
- Export file formats
- emc
- testing
- technical documentation
- ce marking
- values
- text
- protel
- inverter
- mains plug
- switch
- GPS
- plotting
- Grounding
- scale scaled data
- dimensions
- spider
- Tested
- Component Libraries
- sound
- audio
- effects
- pedal
- vias
- DRC
- publication quality output
- wordpress
- process improvement
- symbol
- high voltage
- pervasive
- ubiquitous
- key finder
- manufacturing.
- library searching
- RS Stock No.
- VIA tenting
- solder mask via
- pad tent
- pad tenting
- tent
- LeCroy
- push and hold switch
- Download
- SD Card
- server
- 6
- etech magazine
- software defined radio
- ui
- Exporting Netlist from Schematic
- connectivity
- Computer
- Ground Plane Connections
- find component
- DIP switch
- Bicolor LED
- BNC
- Voltage
- Protection
- pcb copper area
- die lifetime
- potentiometer
- datasheets
- Intertool communication
- oscillator
- stupid spam filter
- Pin Naming Problem DesignSpark
- NEW
- miter segment
- duplicate
- duplication
- launch
- SW_FSM2JH
- Code Template
- C
- measure distance
- dc
- 24v
- 12v
- Package
- updating
- LDR
- bill
- sheets
- printig
- circuit board
- where
- offpage
- DAQ
- data acquisition
- floating ground
- operational amplifier
- buffer
- feedback signal
- motor controller signal offset
- signal measurement
- pour copper area
- cnc
- save as
- image
- picure
- layer
- Library Import Slow Hang Eagle
- connect component zero distance near over
- password-reg
- Component generation
- relay
- foot print
- finder
- editor
- android
- manufacturing design research
- REACH
- wizard
- component wizard
- can't find
- Flash Programmer
- Burner for MCU
- Catastrophic
- Failure
- broken library?
- TO-220
- op-amp
- flooded Planed
- Drill Data
- Plated slot
- Relay Design
- PCB Artist
- vista start window
- Parallels
- share
- upload
- how to
- instructions
- startup
- net connection
- hang
- padstack
- pad removal
- inner layer pad
- windows 7
- Keys
- shapes
- communities
- lean change
- manufacture
- editing
- ADC
- inductor
- custom pad
- 3D Printing
- logo
- jpg
- bmp
- molex
- connector
- library
- future plans
- off pcb components
- adding parts to library
- Template
- DesignSpark C2000 schematics experimenter kit control card
- sch pcb wide screen together
- dos system PCB DESIGNSPARK
- sch files
- file
- Toner Transfer
- diode
- pinmapping
- IPC-7351B
- sorting
- ee ferrite core bobbins pcb mountable
- feature request
- back-off
- Obsolete
- RS parts
- mouse
- gerber / drill different scale
- Off line
- power controller
- pcb board
- optocoupler
- to92
- 2n2222
- 2n2907
- description
- dimension
- qfp
- trace
- line
- Adding Gates
- autorouting
- design rules
- EDA software
- signal
- name
- DesignSpark - Add Component Annoyance
- splash
- silicon
- electrons
- 3d view pan
- Schematics Net List Project
- LPRF
- lunch break
- modify
- Industrial
- element
- 14
- solid
- liquid
- solid state
- DRV
- manufacturing design test
- Specctra
- Electra
- freerotung.net
- birthday
- aniversary
- EMI
- 24 bit
- averaging
- designspark is 1
- 1st
- cake
- split
- plane
- routing
- placement
- q&a
- dryer
- assembly layer
- emulator
- psip
- efc
- R-PSIP-G3
- fairchild
- FQP47P06
- IC
- dil
- sil
- header
- vicor
- schematic symbol
- pcb track
- flexible pcb
- buss
- opto coupler
- easypc
- JRC
- NJM2675E2
- libray
- amplification
- miniature
- logic
- fader
- ribbon cable
- Rectangular pads
- plated
- protect components from ESD
- damage
- solder pad
- cadsoft
- volta
- volts
- SET files
- solidworks
- compression
- squashing
- canned
- compress
- gases
- gas
- stan meyer
- draw
- pythagorus
- pythagorean
- ignition coil
- identification
- cross reference
- load switching
- contactors
- electromagnet
- flickering
- NatSemi
- rca
- phono
- xlr
- neutrik
- sound generator
- ULN2803
- large drawing
- pan
- tube
- valve
- thermionic
- multiple parts
- select
- rotation
- paths
- compliance
- air
- Download terms and conditions
- chipset
- networking
- handset
- 3D View
- not fitted
- recruiting
- jobs
- blind vias
- jumper cable
- jennic
- zarlink
- jennet
- xauth
- capacitor
- lead spacing
- DRV104
- importing a new component
- identify
- T3D 66
- T3D66
- gerbv
- M code
- back annotation
- annotation
- backward changes
- panelisation
- dreambox
- set top box
- Problems
- diode bridge
- lineal bridge
- example
- amidon
- toroid
- rf transformer
- best practices
- automatically routing
- differential signals
- high speed signals
- watchdogs.
- library manager
- Milling
- hpgl
- Power plane
- MSP430 Dev Kit
- GND
- VCC
- dxf import
- LM3915
- simulate
- gcode
- google sketch up
- sales
- electrical
- isolation
- next version
- upgrade
- atmega8a
- design engineer
- latest technology
- Fujitsu Siemens
- solder mask
- Password
- populate
- via size
- design technology dialogue
- adding items
- library of schematics
- PCB symbols
- new schematic item
- wizzard mode
- QFP-80
- Project nets
- RS part number field
- custom report generator.
- defult libraries
- disappeared
- ORCAD SCHEMATIC
- hamradio application (CW keyer)
- Sudoku
- CNC PCB Manufacturing
- Mirror Printing
- web bench
- XY
- data
- 3d views to cute PDF
- Poured Shape Cutout
- slots
- importing libs
- Firewall
- Manufacturing problem
- PCB fabrication
- Analog Devices
- wikipedia
- designspark pcb libraries
- .cml
- how to make
- own PCB foot print?
- required angle
- schematic diagram
- Bug LT library
- edit foot print
- Errors
- through hole
- Custom Board Shape
- Drawing line pcb symbol
- movie
- wall-e
- where's wall-e
- fun
- edit schematic
- teardrop pad
- edit symbol MM scale
- pga
- bga
- numbering
- Net display in Interactive bar
- Schematic editor
- net display
- gerber files
- generate gerber files
- convert EasyPC V6 files
- EasyPC converstion
- Windows 7 32 bit
- DesignSpark re-install
- re-install
- import Eagle
- capacitors
- electrolytic
- 1W LED
- Library Bug Wrong Symbol
- g code
- pcb pads
- pcb to g code
- Components buyer
- copper filling
- pdf inverted plot
- VGA DE15
- drill hole error
- name symbols
- pin names
- pin numbers
- digital
- clearance
- obstacle
- obstruction
- short circuit
- ulp
- net names
- Error PICAXE-08M_0
- PCB design software
- Varistor
- Robotic
- chipKIT
- last save
- date
- date and time
- convert gerber
- DB connectors
- Customer
- .sch
- remove pin names
- classroom
- pcb Convertor
- .idb
- 45 degrees
- DRIVER DESIGN
- tlc
- leddriver
- pwp
- htssop
- Low power RF
- MAX32
- DxDesigner
- PADS Layout
- outline
- arduino pro mini layout
- import OrCAD
- EDN netlist
- power amplifier
- pen plotter
- plotter
- Telecomms
- 2 layer
- fill plane
- vss
- hatching
- Crystal
- Add Layer
- pcb foot print symbol
- group of symbols
- white text
- Power Ground Plane Editing
- SOT-23
- SOT-23 Symbol
- folders
- PCB LED
- Low power wireless
- backgroung image
- circuit diagram
- Schematic Design Window
- usb type b
- type b
- library component
- OPA657
- digital power control
- gap components autoplace
- analysis
- ATTiny5.
- automatically connect
- cross probe schematic PCB
- searchable
- Save to Lib
- layer transparent
- visible editable edit
- insert own component
- own library
- insert component
- PCB Coils
- pcb layers
- design check error's
- Custom components
- links
- Net completion errors
- highlight net
- test buy
- purchase
- build
- Library Symbols
- Windows 2000
- .sch files
- Chipkit Challenge
- schematic connection
- Packages
- DesignSpark PCB ver3
- board outline
- LTspice
- pcb symbol
- test & measurement
- adding components
- connect
- Basic IO shield OLED
- 16 bit
- ChipKit Max32
- design changes
- r&d
- designspark schematic
- MPIDE
- autoroute
- multiple gates
- manufacturer
- Raspberry Pi
- traces
- test electronics market test and measurement design manufacture build pcb rf microwave digital analogue
- Update fake e-mail
Bright spark
Related questions
8 Mar 2011
5 Mar 2012
2 Mar 2012
4 May 2012
30 Apr 2012
Subscribe to Questions and Answers
Receive notifications on activities to areas, content, categories and connections activities.

jkvasan
Hi,
I was just wondering, if any of the Digital Potentiometer chips can do the job. Some are available from Microchip with SPI interface. SPI is faster mode of communication and all we need is a fast processor with audio in a memory chip. Feeling nostalgic about a projcet done years ago to generate a sine waveform of around 15 KHz for some application with one of those digi pots and a renesas chip.
LStacey
Digital potentiometer?
willscottja ...
If you want to make various effects I don't think it's too tricky, For something like a wah pedal I think you some how impose a phase shift on the input waveform. And distortion for rock and metal playing you impose a square wave on it. You could probably make your own sounds by just playing with the waveform. You'd probably have to do that before you convert it to a digital signal or after you convert it back to analogue to send into the speakers.
I had a similar idea to do that kind of thing in labview, where the front panel is your stompbox and you get the code to grab an audio signal and then impose all sorts of things on it. But it only really stayed as an idea.
LStacey
I've got no issues with the actual DSP code. Once I've got the sample value, it's just maths. Buffers (requitred for delay and time constants in filters) would be more of a challenge but I'm sure I could work it out.
The bit I would find most tricky is extracting the value of the samples, purely because I don't know the hardware that well but if it's already been done, that makes life a lot easier!
Ioannis Kedros
I was working with an external audio DAC from TI a few weeks ago (http://focus.ti.com/docs/prod/folders/print/tlv320aic23b.html) together with an mbed. I think it is a perfect match for your project.
In my experiments, I was reading a wav file (16bit samples per channel @ 32 KHz, but you can go as high as 32bit samples and 96KHz) from an SD card that was hooked to an mbed. The samples were passed to the audio codec over the I2S protocol. The results were really impressive! You were able to hear proper music just like a high end portable MP3 player (http://mbed.org/blog/entry/spot-mbed-at-embedded-world/)!
For example the codec’s ADC can read your audio input (according to your desired resolution and sampling rate) and the mbed can easily handle the manipulation of the audio samples, like adding effects, delays, reconfigurable gain into a selection of samples or whatever you can imagine basically! Then, just pass the samples to the audio DAC of the codec and... job done!
But the best part is that all of those can happen in a real time environment!
LStacey
Wow. That sounds pretty impressive. Have you got any details on how you did it? I'd love to see the code.
Ioannis Kedros
We will have a few blog posts soon... together with code examples, explanation of the code and libraries!
LStacey
Awesome!
I look forward to that. Are you on Twitter? If you are, drop me a message @DesignSparkRS. I'm sure our Twitter followers would benefit from this.
Bill Marshall
Depends on the 'quality' you require. CD quality (up to 20kHz analogue signal bandwidth) will require an ADC to be taking samples at 40 ksamples/sec at least - Nyquist criterion. In between sample taking, the MCU must perform whatever process is required on that and previous samples in order to produce an output to the DAC. You will need to run some test programs on the mbed to see just how fast the internal ADC can run. This will largely depend on how efficient the mbed driver routine is. You may also find that your effects 'algorithm' may need to written in assembler code to fit it in between samples. For an effects pedal much lower bandwidth may be acceptable, and some distortion may even be desirable!
LStacey
I was thinking about this actually. I guess breaking up the samples and processing the value they hold is the tricky part.
Maybe I need to do a quick proof of concept first.
Any tips on what ADC/DAC I should go for?
Bill Marshall
The LPC1768 mbed MCU chip has an 8-channel 12-bit ADC and a single channel 10-bit DAC on board. Worth checking these out as the mbed firmware contains the necessary drivers. If not fast enough then external ADC/DAC chips will be needed.
banjohat
TI is very good at giving samples + they have a very nice search engine in their products.. go have a look at those :)
LStacey
I was referring to samples in the data sense but you're right about TI's search engine. :)
banjohat
I know :) The reference to the search engine was for your to add with the nyquist criterion. Then you should be able to find the right samplerate ;)
banjohat
I would loveto see your work when (and if) you get i working. However I think that the latency is the biggest problem. While Arduino/MBed/others are very easy to code, I think that all the macros make some overhead that introduce latency in the system. It might be nothing - I don't know.
In the end it would depend on the speed of the AD/DA converters so it might just work fine :)
LStacey
That's what I'm hoping. Latency really needs to be under 4ms to be passable so it's a pretty tall order.