SlideShare a Scribd company logo
µRock
⾃自我介紹
• 本名:楊宗凡
• 綽號:浪打、sonicyang
• 來⾃自:成⼤大電機⼆二年級
• 成⼤大C4Labs成員
• sonicyang.me
• github.com/sonicyang
Microcontroller
ARM Cortex M4F
ARMv7 180 Mhz FPU SIMD
IEEE

754
1010001010101
1010001010
10100010101011001
01010101
1010001010101
10100010101100101
FirmwaresThe fundamental of Everything
ARM
DSP Library
FatFs
Library
STM32F429
CMSIS
STM32 Cube
FreeRTOS
DSP Library FATFS uGFX
f(x) d(x) g(x)X = ADCf(x) g(x)
Analog Digital Converter
DAC F(x)g(x)
Digital Analog Converter
Let’s say it’s 3 bits
Data Pipe
ADC
DAC
Buffer
(12bits unsigned)
Q12.20
(Fix-Point Signed)
Effect 1
(Configurable)
Effect 2
(Configurable)
Effect 3
(Configurable)
Effect 4
(Configurable)
Wave Audio
(SD Card)
Q12.20
(Fix-Point Signed)
Buffer
(12bits unsigned)
Q NumbersIEEE 754
加法
6.25
3.125+———————
9.375
0110.010
0011.001+————————
1001.011
乘法
6.25
3.125✕—————————————————
19.53125
00110.010
00011.001✕————————————————————————————
10011.100010
同理⼀一共6位⼤大家都知道是五位⼩小數
010
過多的要捨去
保留MSB
SIMD
BA
✕ ✕HIGH LOW
-
Result
BranchesFunctions
The Aid of Python
• 內建⼤大數
• 無浮點誤差
• Matplotlib
Distortion & Overdrive
• Distortion是⽤用 If 或是飽和來 Clip
• Overdrive是再把結果
乘上Sine函數來圓滑
Saturation Arithmetic
• Distortion除了⽤用判斷的Clip還可以⽤用飽和運算達成
• ⼀一般 Signed 16bits 運算
• 16384 * 2 > 32767 所以會是 - 32768
• 飽和 Signed 16bits 運算
• 16384 * 2 > 32767 會鎖在 32767
Compressor
Input
Output
Level Relationship
Time
Level
聽不到
Audio Signal
聽的到惹!
Compressor
• 使⽤用Envolope來偵測聲⾳音
⼤大⼩小,也就是計算RMS
• 超過額定⼤大⼩小就壓縮⼀一定
⽐比例
• 漸進壓縮
Delay & Reverb
• 500 ms進⼊入實⽤用範圍
• 由於內部的記憶體不夠⼤大,所以使⽤用外部的記憶體
• 外部 I/O 成為速度瓶頸
Data (t) In Data (t) Out+
Data (t - 1) Data (t - 2) Data (t - 3)
EQ
• IIR 濾波器
• MATLAB設計、DSP Library實作
Data (t) In Data (t) Out
High
Mid
Low
Gain
Gain
Gain
IIR濾波器
• 離散系統下⾯面,
等校於類⽐比濾波器設計
• 將不同Delay後的資料,
衰減後疊加達到濾波的效果
IN OUT+
Delay
Delay
Wave
錄⾳音、回放、伴奏功能
uGfx based UI
Live Demo
Further Information
Github : github.com/sonicyang/urock
Hackpad : uRock.hackpad.com
Thank You for Listening
任何問題歡迎提出

More Related Content

What's hot

S4A
S4AS4A
Raspberry Pi專題製作四旋翼飛行器
Raspberry Pi專題製作四旋翼飛行器Raspberry Pi專題製作四旋翼飛行器
Raspberry Pi專題製作四旋翼飛行器
艾鍗科技
 
成果展簡報-Zigbee無線自動燈光及溫度調控系統
成果展簡報-Zigbee無線自動燈光及溫度調控系統成果展簡報-Zigbee無線自動燈光及溫度調控系統
成果展簡報-Zigbee無線自動燈光及溫度調控系統
艾鍗科技
 
Raspberry Pi 智能風扇
Raspberry Pi 智能風扇Raspberry Pi 智能風扇
Raspberry Pi 智能風扇
艾鍗科技
 
用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人
艾鍗科技
 
使用 Arduino 控制 ESP8266 的各種方式
使用 Arduino 控制 ESP8266 的各種方式使用 Arduino 控制 ESP8266 的各種方式
使用 Arduino 控制 ESP8266 的各種方式
Kenson Chiang
 
HC 05藍芽模組連線
HC 05藍芽模組連線HC 05藍芽模組連線
HC 05藍芽模組連線
Chen-Hung Hu
 
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論
吳錫修 (ShyiShiou Wu)
 
Arduino藍牙傳輸應用
Arduino藍牙傳輸應用Arduino藍牙傳輸應用
Arduino藍牙傳輸應用
吳錫修 (ShyiShiou Wu)
 
實作 Linux Driver 移植在樹莓 Pi 上:Linux One wire sensor & I2C framebuffer Driver Po...
實作 Linux Driver 移植在樹莓 Pi 上:Linux  One wire sensor & I2C framebuffer Driver Po...實作 Linux Driver 移植在樹莓 Pi 上:Linux  One wire sensor & I2C framebuffer Driver Po...
實作 Linux Driver 移植在樹莓 Pi 上:Linux One wire sensor & I2C framebuffer Driver Po...
IttrainingIttraining
 
Raspberry Pi 溫濕度發報機
Raspberry Pi 溫濕度發報機Raspberry Pi 溫濕度發報機
Raspberry Pi 溫濕度發報機
艾鍗科技
 
Arduino導讀
Arduino導讀Arduino導讀
Arduino導讀
GUO CHENG-YAN
 
艾鍗學院-單晶片韌體-CC2500通訊實驗
艾鍗學院-單晶片韌體-CC2500通訊實驗艾鍗學院-單晶片韌體-CC2500通訊實驗
艾鍗學院-單晶片韌體-CC2500通訊實驗
艾鍗科技
 
MicroPython簡介
MicroPython簡介 MicroPython簡介
MicroPython簡介
Max Lai
 
Arduino 習作工坊 - Lesson 3 電音之夜
Arduino 習作工坊 -  Lesson 3 電音之夜Arduino 習作工坊 -  Lesson 3 電音之夜
Arduino 習作工坊 - Lesson 3 電音之夜
CAVEDU Education
 
141118 Raspberry Pi 電鈴工作坊@松山文創園區
141118 Raspberry Pi 電鈴工作坊@松山文創園區141118 Raspberry Pi 電鈴工作坊@松山文創園區
141118 Raspberry Pi 電鈴工作坊@松山文創園區
CAVEDU Education
 

What's hot (17)

S4A
S4AS4A
S4A
 
Raspberry Pi專題製作四旋翼飛行器
Raspberry Pi專題製作四旋翼飛行器Raspberry Pi專題製作四旋翼飛行器
Raspberry Pi專題製作四旋翼飛行器
 
成果展簡報-Zigbee無線自動燈光及溫度調控系統
成果展簡報-Zigbee無線自動燈光及溫度調控系統成果展簡報-Zigbee無線自動燈光及溫度調控系統
成果展簡報-Zigbee無線自動燈光及溫度調控系統
 
Raspberry Pi 智能風扇
Raspberry Pi 智能風扇Raspberry Pi 智能風扇
Raspberry Pi 智能風扇
 
用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人
 
使用 Arduino 控制 ESP8266 的各種方式
使用 Arduino 控制 ESP8266 的各種方式使用 Arduino 控制 ESP8266 的各種方式
使用 Arduino 控制 ESP8266 的各種方式
 
HC 05藍芽模組連線
HC 05藍芽模組連線HC 05藍芽模組連線
HC 05藍芽模組連線
 
nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論nodeMCU IOT教學03 - NodeMCU導論
nodeMCU IOT教學03 - NodeMCU導論
 
Arduino藍牙傳輸應用
Arduino藍牙傳輸應用Arduino藍牙傳輸應用
Arduino藍牙傳輸應用
 
實作 Linux Driver 移植在樹莓 Pi 上:Linux One wire sensor & I2C framebuffer Driver Po...
實作 Linux Driver 移植在樹莓 Pi 上:Linux  One wire sensor & I2C framebuffer Driver Po...實作 Linux Driver 移植在樹莓 Pi 上:Linux  One wire sensor & I2C framebuffer Driver Po...
實作 Linux Driver 移植在樹莓 Pi 上:Linux One wire sensor & I2C framebuffer Driver Po...
 
Raspberry Pi 溫濕度發報機
Raspberry Pi 溫濕度發報機Raspberry Pi 溫濕度發報機
Raspberry Pi 溫濕度發報機
 
Arduino導讀
Arduino導讀Arduino導讀
Arduino導讀
 
艾鍗學院-單晶片韌體-CC2500通訊實驗
艾鍗學院-單晶片韌體-CC2500通訊實驗艾鍗學院-單晶片韌體-CC2500通訊實驗
艾鍗學院-單晶片韌體-CC2500通訊實驗
 
Technotrend
TechnotrendTechnotrend
Technotrend
 
MicroPython簡介
MicroPython簡介 MicroPython簡介
MicroPython簡介
 
Arduino 習作工坊 - Lesson 3 電音之夜
Arduino 習作工坊 -  Lesson 3 電音之夜Arduino 習作工坊 -  Lesson 3 電音之夜
Arduino 習作工坊 - Lesson 3 電音之夜
 
141118 Raspberry Pi 電鈴工作坊@松山文創園區
141118 Raspberry Pi 電鈴工作坊@松山文創園區141118 Raspberry Pi 電鈴工作坊@松山文創園區
141118 Raspberry Pi 電鈴工作坊@松山文創園區
 

Similar to uRock @ SITCON 2015

嵌入式作業系統設計與實作 - 電吉他調音器
嵌入式作業系統設計與實作 - 電吉他調音器嵌入式作業系統設計與實作 - 電吉他調音器
嵌入式作業系統設計與實作 - 電吉他調音器聖文 鄭
 
S3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnS3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnVidur Garg
 
智慧家庭 簡報
智慧家庭 簡報智慧家庭 簡報
智慧家庭 簡報艾鍗科技
 
[智慧創新應用自造松]LPWAN]技術現況與應用實務
[智慧創新應用自造松]LPWAN]技術現況與應用實務[智慧創新應用自造松]LPWAN]技術現況與應用實務
[智慧創新應用自造松]LPWAN]技術現況與應用實務
MAKERPRO.cc
 
Tiny6410um hw-20101026
Tiny6410um hw-20101026Tiny6410um hw-20101026
Tiny6410um hw-20101026
syed_sifa
 
Wireless Communication short talk
Wireless Communication short talkWireless Communication short talk
Wireless Communication short talk
Pei-Che Chang
 
王團 03-19 考題 & 解答
王團  03-19 考題 & 解答王團  03-19 考題 & 解答
王團 03-19 考題 & 解答T客邦
 
王團 03-19 考題 & 解答
王團  03-19 考題 & 解答王團  03-19 考題 & 解答
王團 03-19 考題 & 解答T客邦
 
Ad9850 mc145151
Ad9850 mc145151Ad9850 mc145151
Ad9850 mc145151kcarring
 
LinkIt Smart 7688程式開發
LinkIt Smart 7688程式開發LinkIt Smart 7688程式開發
LinkIt Smart 7688程式開發
Wei-Tsung Su
 
2009.03 _TI-DSP簡報_slide_share
2009.03  _TI-DSP簡報_slide_share2009.03  _TI-DSP簡報_slide_share
2009.03 _TI-DSP簡報_slide_share
Harry Wang
 
视频编码原理简介Sohu版
视频编码原理简介Sohu版视频编码原理简介Sohu版
视频编码原理简介Sohu版
pluschen
 
Arduino簡介
Arduino簡介Arduino簡介
王團 03-19 考題
王團  03-19 考題王團  03-19 考題
王團 03-19 考題T客邦
 
王團 03-19 考題
王團  03-19 考題王團  03-19 考題
王團 03-19 考題T客邦
 
Arduino 習作工坊 - Lesson 4 通訊之夜
Arduino 習作工坊 -  Lesson 4 通訊之夜Arduino 習作工坊 -  Lesson 4 通訊之夜
Arduino 習作工坊 - Lesson 4 通訊之夜
CAVEDU Education
 
STM32F4 for 智慧型電動輪椅系統Part1
STM32F4 for 智慧型電動輪椅系統Part1STM32F4 for 智慧型電動輪椅系統Part1
STM32F4 for 智慧型電動輪椅系統Part1
Jack Wang
 
How to Make a Scanning Drone in Chinese
How to Make a Scanning Drone in ChineseHow to Make a Scanning Drone in Chinese

Similar to uRock @ SITCON 2015 (20)

嵌入式作業系統設計與實作 - 電吉他調音器
嵌入式作業系統設計與實作 - 電吉他調音器嵌入式作業系統設計與實作 - 電吉他調音器
嵌入式作業系統設計與實作 - 電吉他調音器
 
S3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnS3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cn
 
智慧家庭 簡報
智慧家庭 簡報智慧家庭 簡報
智慧家庭 簡報
 
9439AD2
9439AD29439AD2
9439AD2
 
[智慧創新應用自造松]LPWAN]技術現況與應用實務
[智慧創新應用自造松]LPWAN]技術現況與應用實務[智慧創新應用自造松]LPWAN]技術現況與應用實務
[智慧創新應用自造松]LPWAN]技術現況與應用實務
 
Godson x86
Godson x86Godson x86
Godson x86
 
Tiny6410um hw-20101026
Tiny6410um hw-20101026Tiny6410um hw-20101026
Tiny6410um hw-20101026
 
Wireless Communication short talk
Wireless Communication short talkWireless Communication short talk
Wireless Communication short talk
 
王團 03-19 考題 & 解答
王團  03-19 考題 & 解答王團  03-19 考題 & 解答
王團 03-19 考題 & 解答
 
王團 03-19 考題 & 解答
王團  03-19 考題 & 解答王團  03-19 考題 & 解答
王團 03-19 考題 & 解答
 
Ad9850 mc145151
Ad9850 mc145151Ad9850 mc145151
Ad9850 mc145151
 
LinkIt Smart 7688程式開發
LinkIt Smart 7688程式開發LinkIt Smart 7688程式開發
LinkIt Smart 7688程式開發
 
2009.03 _TI-DSP簡報_slide_share
2009.03  _TI-DSP簡報_slide_share2009.03  _TI-DSP簡報_slide_share
2009.03 _TI-DSP簡報_slide_share
 
视频编码原理简介Sohu版
视频编码原理简介Sohu版视频编码原理简介Sohu版
视频编码原理简介Sohu版
 
Arduino簡介
Arduino簡介Arduino簡介
Arduino簡介
 
王團 03-19 考題
王團  03-19 考題王團  03-19 考題
王團 03-19 考題
 
王團 03-19 考題
王團  03-19 考題王團  03-19 考題
王團 03-19 考題
 
Arduino 習作工坊 - Lesson 4 通訊之夜
Arduino 習作工坊 -  Lesson 4 通訊之夜Arduino 習作工坊 -  Lesson 4 通訊之夜
Arduino 習作工坊 - Lesson 4 通訊之夜
 
STM32F4 for 智慧型電動輪椅系統Part1
STM32F4 for 智慧型電動輪椅系統Part1STM32F4 for 智慧型電動輪椅系統Part1
STM32F4 for 智慧型電動輪椅系統Part1
 
How to Make a Scanning Drone in Chinese
How to Make a Scanning Drone in ChineseHow to Make a Scanning Drone in Chinese
How to Make a Scanning Drone in Chinese
 

More from 宗凡 楊

COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺
宗凡 楊
 
uRock @ Jserv Course Final
uRock @ Jserv Course Final uRock @ Jserv Course Final
uRock @ Jserv Course Final
宗凡 楊
 
C4Labs PCB Miller Project
C4Labs PCB Miller ProjectC4Labs PCB Miller Project
C4Labs PCB Miller Project
宗凡 楊
 
Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14
宗凡 楊
 
Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14
宗凡 楊
 

More from 宗凡 楊 (6)

COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺
 
uRock @ Jserv Course Final
uRock @ Jserv Course Final uRock @ Jserv Course Final
uRock @ Jserv Course Final
 
C4Labs PCB Miller Project
C4Labs PCB Miller ProjectC4Labs PCB Miller Project
C4Labs PCB Miller Project
 
Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14
 
Cnc fablab
Cnc   fablabCnc   fablab
Cnc fablab
 
Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14Lambda's CNC @FabLab 10/27/14
Lambda's CNC @FabLab 10/27/14
 

uRock @ SITCON 2015