# EE 443 Final Project
# Pitch Shift - Delay Based Approach
## Contributers:
- Jake Garrison
- Jisoo Jung
<!--## Hardware Interface:-->
<!--- KEY0: Reset pitch factor to 1 (equivalent to shifting 0 semitone)-->
<!--- KEY1: Decrease pitch factor by 0.1 if switch0 is disabled, by 1 semitone if switch0 is enabled-->
<!--- KEY2: Increase pitch factor by 0.1 if switch0 is disabled, by 1 semitone if switch0 is enabled-->
<!--- KEY3: UART send button. Send pitch factor and switch config.-->
<!--- Switch0: Semitone toggle. High -> pitch shift by 1 semitone. Low -> pitch shift by 0.1-->
<!--- Switch1: Melody toggle. Pitch shift by designated melody.-->
<!--- Switch2: Delay pitch function-->
<!--- Switch3: Delay echo function-->
<!--- Switch4: Loop -->
<!--- Switch5: Disable right channel dry sound-->
<!--- Switch7: Toggle input-->
<!--NOTE: Only one of switches 1 through 4 should be enabled. Others get disabled-->
## Hardware Control
![Diagram](https://github.com/jake-g/audio_fx/blob/master/delay-based/images/block%20diagram.png?raw=true)
### Pitch Shift Control
- **KEY0:** Pitch reset (p = 1, semitone = 0, no shift)
- **SW0 OFF:** pitch factor (inharmonic multiplier)
- KEY1: Pitch shift decrement 0.1
- KEY2: Pitch shift increment 0.1
- **SW0 ON:** semitone mode (half step mapping)
- KEY1: Semitone decrement 1
- KEY2: Semitone increment 1
### I/O Control
- **SW5 ON:** Enable dry input routing to right output channel
- **SW5 OFF:** Disable right output channel (Wet only)
- **SW7 ON:** Microphone input
- **SW7 OFF:** Line Input
### UART Control
_Sends data to our GUI_
- **KEY3:** Send UART buffer (current pitch factor, switch config and audio buffer)
### Effects Control
_SW1 – SW4: ON is enabled, OFF is disabled, only one can be enabled_
- **SW1 Melody Auto tune:** pitch changes according to user's melody and tempo
- Keys control pitch shift
- **SW2 Pitch Decay:** Input is echoed, pitch shifting each echo by a given rate
- KEY0: decrease pitch change rate
- KEY1: increase pitch change rate
- **SW3 Echo:** Input is echoed with constant pitch and variable decay
- KEY0: decrease decay rate
- KEY1: increase decay rate
- **SW4 Loop:** Loop input indefinitely
- Keys control pitch shift
## Software Interface:
![Matlab GUI](https://github.com/jake-g/audio_fx/blob/master/delay-based/images/labled%20gui.png?raw=trueg)
1. **Global settings:** Displays current note as well as global tempo and key
* User an input tempo and key note frequency
1. **Waveform select:** Choose waveform to map to piano keys
2. **Sample Mode:** Maps sample (from UART) to piano keys using pitch shift algorithm
* User can input sample start and end points
3. **Melody Controls:** Play, record or reset a melody
4. **Note length:** Sets duration of next note played
5. **UART Control:** Initialize and receive UART
* User can set COM port
* Receive, then press KEY3 on hardware to send switch config, current note and an audio sample
* Audio sample is used when in Sample Mode
6. **Hardware Status:** Indicates current pitch setting and Effects switch configuration
没有合适的资源?快使用搜索试试~ 我知道了~
针对dspfpga硬件、linuxC和Matlab优化的实时变调时间.zip
共130个文件
wav:38个
m:16个
h:12个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 139 浏览量
2023-04-09
13:35:10
上传
评论
收藏 124.38MB ZIP 举报
温馨提示
针对dspfpga硬件、linuxC和Matlab优化的实时变调时间
资源推荐
资源详情
资源评论
收起资源包目录
针对dspfpga硬件、linuxC和Matlab优化的实时变调时间.zip (130个子文件)
main.c 8KB
realtime_w_fuzz.c 6KB
main.c 6KB
main.c 5KB
realtime.c 5KB
pitchShiftWav.c 4KB
pitchShiftWav.c 3KB
pitchShiftWav_FULLFILE.c 3KB
snd_to_arr.c 1KB
WavFile.cpp 17KB
main.cpp 5KB
EE443_Pitch_Shift_Report_Jisoo-Jung_Jake-Garrison.docx 4.46MB
Pitch Shifter Control.docx 307KB
piano2.fig 68KB
fzz 9KB
.gitignore 573B
yourISR.h 14KB
PitchShiftFile.h 9KB
PitchShift.h 9KB
PitchShift.h 9KB
PitchShift.h 8KB
WavFile.h 8KB
yourISR.h 7KB
yourISR.h 6KB
sola.h 4KB
echo.h 3KB
melody.h 1KB
fxcallback.h 664B
A Phase Vocoder in Matlab.htm 9KB
LICENSE 11KB
piano2.m 30KB
pitch_shift.m 5KB
pvsample.m 2KB
pvsample.m 2KB
stft.m 2KB
stft.m 2KB
istft.m 2KB
istft.m 2KB
main.m 1KB
pvoc.m 1011B
pvoc.m 1011B
getBuff.m 822B
showFFT.m 457B
main.m 315B
showFFT.m 312B
getFFT.m 178B
Makefile 313B
Makefile 309B
hello.mat 14KB
README.md 3KB
README.md 753B
README.md 746B
CHANGELOG.md 739B
README.md 105B
lathe-compare.mov 18.9MB
compare.mov 14.4MB
project.pbxproj 7KB
FlanG66.pdf 8.81MB
EE443_Pitch_Shift_Report_Jisoo-Jung_Jake-Garrison.pdf 3.59MB
README.pdf 3.59MB
Transforms.pdf 1.72MB
Portnoff76-pvoc.pdf 612KB
EE443FinalProjectProposal_Jisoo-Jung_Jake-Garrison.pdf 376KB
phase vocoder in Matlab.pdf 335KB
LaroD99-pvoc.pdf 58KB
xcschememanagement.plist 573B
C.png 2.56MB
D.png 2.56MB
B.png 2.54MB
A.png 2.54MB
orig.png 2.54MB
E.png 2.53MB
timeline.png 147KB
pitch_shift.png 55KB
time_stretch.png 37KB
Pitch Shift-Jisoo-Jake-smaller.pptx 23.92MB
shiftWav 22KB
shiftWav 15KB
sola 25KB
refs.txt 1KB
solatest.vcproj 3KB
voice.wav 536KB
voice-out_(5).wav 536KB
voice-out_(4).wav 536KB
voice-out_(-4).wav 536KB
voice-out_(-3).wav 536KB
voice.wav 536KB
voice-8khz.wav 103KB
voice-8khz.wav 103KB
voice-8khz-out_(-5)_full.wav 97KB
voice-8khz-out_(-5)E.wav 97KB
voice-8khz-out_(-5)C.wav 97KB
voice-8khz-out_(-5)B.wav 97KB
voice-8khz-out_(-5)A.wav 97KB
voice-8khz-out_(-5)D.wav 97KB
voice-8khz-out_(1).wav 97KB
voice-8khz-out_(-12).wav 97KB
voice-8khz-out_(-5).wav 97KB
voice-8khz-out_(9).wav 97KB
voice-8khz-out_(12).wav 97KB
共 130 条
- 1
- 2
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功