【计算机视觉】pycharm自制一个吉他扒谱软件(附源码)

【计算机视觉】pycharm自制一个吉他扒谱软件(附源码)

  • 构思起源
  • 结果展示
  • 吉他音频和图片附件可以从我的git上下载
  • 源码

构思起源

作为一个深度吉他爱好者,拥有一个自制的扒谱软件真是梦寐以求的事情,以前扒谱还要手画六线谱,谱子用完就扔了,很麻烦,现在有了这个软件一切就简单了,话不多说,下面就来看看吧

结果展示

结果展示
运用鼠标按在上面的黄点,可以发出相应的吉他的声音,同时在上面的吉他谱上显示出相应的数字

吉他音频和图片附件可以从我的git上下载

链接: link.请添加图片描述

源码

import cv2
from PIL import ImageGrab#截图的库
from playsound import playsound
image=cv2.imread(u'D:\\PycharmProjects\\pythonProject\\Saved Pictures\\IMG_20220228_123846_edit_112632392600521.jpg',1)#读取吉他图片
a=[]
b=[]#创建鼠标事件
def Event_Lbuttondown(event,x,y,flags,param):#设置鼠标事件,将点到的位置放出相应的声音if event==cv2.EVENT_LBUTTONDOWN:xy="%d,%d"%(x,y)a.append(x)b.append(y)#ab数组中存放了鼠标点击的坐标cv2.imshow("image",image)#--------当存了50个单音以后自动截图并保存再当前目录下,然后更新吉他谱if len(a)>50:img=ImageGrab.grab(bbox=(100,70,1830,400))str = input("输入歌曲名字")img.save(str+'.jpg')a.clear()cv2.rectangle(image, (100, 50), (1400, 240),(255, 255, 255), cv2.FILLED)cv2.line(image, (100, 70), (1400, 70), (255, 0, 0), 2)cv2.line(image, (100, 100), (1400, 100), (255, 0, 0), 2)cv2.line(image, (100, 130), (1400, 130), (255, 0, 0), 2)cv2.line(image, (100, 160), (1400, 160), (255, 0, 0), 2)cv2.line(image, (100, 190), (1400, 190), (255, 0, 0), 2)cv2.line(image, (100, 220), (1400, 220), (255, 0, 0), 2)#----------将每个案件结合鼠标事件,因为吉他中每个按键不是均匀分布的,所以我是一个一个敲的,没有用到矩阵,后面的代码大多数都差不多#------------------0if 1457-12<x<1457+12  and \447-12<y<447+12:#---------------------鼠标坐标在黄色点上时触发鼠标事件cv2.putText(image,'0',(100+25*len(a),80),cv2.FONT_HERSHEY_PLAIN,2,(0,255,0),2)#--------同时将相应的数字写入吉他谱中cv2.imshow("image", image)#-----更新画面playsound(r"D:\音频文件\0_6.mp3")#-----同时播放音频文件if 1459 - 12 < x < 1459 + 12 and \477 - 12 < y < 477 + 12:cv2.putText(image, '0', (100+ 25 * len(a), 110), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\0_5.mp3")if 1464 - 12 < x < 1464+ 12 and \513 - 12 < y < 513 + 12:cv2.putText(image, '0', (100 + 25 * len(a), 140), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\0_4.mp3")if 1466 - 12 < x < 1466 + 12 and \546 - 12 < y < 546 + 12:cv2.putText(image, '0', (100 + 25 * len(a), 170), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\0_3.mp3")if 1465 - 12 < x < 1465 + 12 and \582 - 12 < y < 582 + 12:cv2.putText(image, '0', (100 + 25 * len(a), 200), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\0_2.mp3")if 1469 - 12 < x < 1469 + 12 and \614 - 12 < y < 614 + 12:cv2.putText(image, '0', (100 + 25 * len(a), 230), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\0_1.mp3")#------------------------第一品if 1374-12<x<1374+12  and \444-12<y<444+12:cv2.putText(image,'1',(100+25*len(a),80),cv2.FONT_HERSHEY_PLAIN,2,(0,255,0),2)cv2.imshow("image", image)playsound(r"D:\音频文件\1_1.mp3")if 1379 - 12 < x < 1379 + 12 and \477 - 12 < y < 477 + 12:cv2.putText(image, '1', (100+ 25 * len(a), 110), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\1_2.mp3")if 1381 - 12 < x < 1381+ 12 and \513 - 12 < y < 513 + 12:cv2.putText(image, '1', (100 + 25 * len(a), 140), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\1_3.mp3")if 1383 - 12 < x < 1383 + 12 and \546 - 12 < y < 546 + 12:cv2.putText(image, '1', (100 + 25 * len(a), 170), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\1_4.mp3")if 1386 - 12 < x < 1386 + 12 and \582 - 12 < y < 582 + 12:cv2.putText(image, '1', (100 + 25 * len(a), 200), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\1_5.mp3")if 1387 - 12 < x < 1387 + 12 and \617 - 12 < y < 617 + 12:cv2.putText(image, '1', (100 + 25 * len(a), 230), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\1_6.mp3")#-------------第二品if 1275 - 12 < x < 1275 + 12 and \439 - 12 < y < 439 + 12:cv2.putText(image, '2', (100 + 25 * len(a), 80), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\2_1.mp3")if 1277 - 12 < x < 1277 + 12 and \474 - 12 < y < 474 + 12:cv2.putText(image, '2', (100 + 25 * len(a), 110), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\2_2.mp3")if 1280 - 12 < x < 1280 + 12 and \511 - 12 < y < 511 + 12:cv2.putText(image, '2', (100 + 25 * len(a), 140), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\2_3.mp3")if 1279 - 12 < x < 1279 + 12 and \545 - 12 < y < 545 + 12:cv2.putText(image, '2', (100 + 25 * len(a), 170), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\2_4.mp3")if 1282 - 12 < x < 1282 + 12 and \584 - 12 < y < 584 + 12:cv2.putText(image, '2', (100 + 25 * len(a), 200), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\2_5.mp3")if 1282 - 12 < x < 1282 + 12 and \619 - 12 < y < 619 + 12:cv2.putText(image, '2', (100 + 25 * len(a), 230), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\2_6.mp3")#--------------------------333if 1180 - 12 < x < 1180 + 12 and \436 - 12 < y < 436 + 12:cv2.putText(image, '3', (100 + 25 * len(a), 80), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\3_1.mp3")if 1184 - 12 < x < 1184 + 12 and \474 - 12 < y < 474 + 12:cv2.putText(image, '3', (100 + 25 * len(a), 110), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\3_2.mp3")if 1185 - 12 < x < 1185 + 12 and \511 - 12 < y < 511 + 12:cv2.putText(image, '3', (100 + 25 * len(a), 140), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\3_3.mp3")if 1184 - 12 < x < 1184 + 12 and \549 - 12 < y < 549 + 12:cv2.putText(image, '3', (100 + 25 * len(a), 170), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\3_4.mp3")if 1185 - 12 < x < 1185 + 12 and \584 - 12 < y < 584 + 12:cv2.putText(image, '3', (100 + 25 * len(a), 200), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\3_5.mp3")if 1187 - 12 < x < 1187 + 12 and \623 - 12 < y < 623 + 12:cv2.putText(image, '3', (100 + 25 * len(a), 230), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\3_6.mp3")#--------------------4if 1086 - 12 < x < 1086 + 12 and \433 - 12 < y < 433 + 12:cv2.putText(image, '4', (100 + 25 * len(a), 80), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\4_1.mp3")if 1092 - 12 < x < 1092 + 12 and \471 - 12 < y < 471 + 12:cv2.putText(image, '4', (100 + 25 * len(a), 110), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\4_2.mp3")if 1095 - 12 < x < 1095 + 12 and \511 - 12 < y < 511 + 12:cv2.putText(image, '4', (100 + 25 * len(a), 140), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\4_3.mp3")if 1095 - 12 < x < 1095 + 12 and \549 - 12 < y < 549 + 12:cv2.putText(image, '4', (100 + 25 * len(a), 170), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\4_4.mp3")if 1095 - 12 < x < 1095 + 12 and \587 - 12 < y < 587 + 12:cv2.putText(image, '4', (100 + 25 * len(a), 200), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\4_5.mp3")if 1095 - 12 < x < 1095 + 12 and \627 - 12 < y < 627 + 12:cv2.putText(image, '4', (100 + 25 * len(a), 230), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\4_6.mp3")#---------------5if 1008-12<x<1008+12  and \430-12<y<430+12:cv2.putText(image,'5',(100+25*len(a),80),cv2.FONT_HERSHEY_PLAIN,2,(0,255,0),2)cv2.imshow("image", image)playsound(r"D:\音频文件\5_1.mp3")if 1006 - 12 < x < 1006 + 12 and \471 - 12 < y < 471 + 12:cv2.putText(image, '5', (100+ 25 * len(a), 110), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\5_2.mp3")if 1006 - 12 < x < 1006+ 12 and \511 - 12 < y < 511 + 12:cv2.putText(image, '5', (100 + 25 * len(a), 140), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\5_3.mp3")if 1010 - 12 < x < 1010 + 12 and \549 - 12 < y < 549 + 12:cv2.putText(image, '5', (100 + 25 * len(a), 170), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\5_4.mp3")if 1010 - 12 < x < 1010 + 12 and \589 - 12 < y < 589 + 12:cv2.putText(image, '5', (100 + 25 * len(a), 200), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\5_5.mp3")if 1010 - 12 < x < 1010 + 12 and \629 - 12 < y < 629 + 12:cv2.putText(image, '5', (100 + 25 * len(a), 230), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\5_6.mp3")#-----------------6666if 921-12<x<921+12  and \426-12<y<426+12:cv2.putText(image,'6',(100+25*len(a),80),cv2.FONT_HERSHEY_PLAIN,2,(0,255,0),2)cv2.imshow("image", image)playsound(r"D:\音频文件\6_1.mp3")if 922 - 12 < x < 922 + 12 and \471 - 12 < y < 471 + 12:cv2.putText(image, '6', (100+ 25 * len(a), 110), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\6_2.mp3")if 921 - 12 < x < 921 + 12 and \511 - 12 < y < 511 + 12:cv2.putText(image, '6', (100 + 25 * len(a), 140), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\6_3.mp3")if 919 - 12 < x < 919 + 12 and \551 - 12 < y < 551 + 12:cv2.putText(image, '6', (100 + 25 * len(a), 170), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\6_4.mp3")if 923 - 12 < x < 923 + 12 and \592 - 12 < y < 592 + 12:cv2.putText(image, '6', (100 + 25 * len(a), 200), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\6_5.mp3")if 920 - 12 < x < 920 + 12 and \637 - 12 < y < 637 + 12:cv2.putText(image, '6', (100 + 25 * len(a), 230), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\6_6.mp3")#-----------------77if 842-12<x<842+12  and \425-12<y<425+12:cv2.putText(image,'7',(100+25*len(a),80),cv2.FONT_HERSHEY_PLAIN,2,(0,255,0),2)cv2.imshow("image", image)playsound(r"D:\音频文件\7_1.mp3")if 842 - 12 < x < 842 + 12 and \470 - 12 < y < 470 + 12:cv2.putText(image, '7', (100+ 25 * len(a), 110), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\7_2.mp3")if 846 - 12 < x < 846 + 12 and \507 - 12 < y < 507 + 12:cv2.putText(image, '7', (100 + 25 * len(a), 140), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\7_3.mp3")if 845 - 12 < x < 845 + 12 and \552 - 12 < y < 552 + 12:cv2.putText(image, '7', (100 + 25 * len(a), 170), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\7_4.mp3")if 846 - 12 < x < 846 + 12 and \595 - 12 < y < 595 + 12:cv2.putText(image, '7', (100 + 25 * len(a), 200), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\7_5.mp3")if 846 - 12 < x < 846 + 12 and \639 - 12 < y < 639 + 12:cv2.putText(image, '7', (100 + 25 * len(a), 230), cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)cv2.imshow("image", image)playsound(r"D:\音频文件\7_6.mp3")image=cv2.resize(image,(1500,700))#将图片拉伸成相应的大小#画出吉他谱cv2.rectangle(image, (100,50), (1400,240),(255,255,255), cv2.FILLED)
cv2.line(image,(100,70),(1400,70),(255,0,0),2)
cv2.line(image,(100,100),(1400,100),(255,0,0),2)
cv2.line(image,(100,130),(1400,130),(255,0,0),2)
cv2.line(image,(100,160),(1400,160),(255,0,0),2)
cv2.line(image,(100,190),(1400,190),(255,0,0),2)
cv2.line(image,(100,220),(1400,220),(255,0,0),2)#将吉他上的所有建用黄点标出cv2.putText(image,"0",(1453,383),cv2.FONT_HERSHEY_PLAIN,3,(0,0,255),5)
cv2.circle(image,(1457,447),12,(0,255,255),-1)
cv2.circle(image,(1459 ,478),12,(0,255,255),-1)
cv2.circle(image,(1464 ,514),12,(0,255,255),-1)
cv2.circle(image,(1466 ,546),12,(0,255,255),-1)
cv2.circle(image,(1465 ,581),12,(0,255,255),-1)
cv2.circle(image,(1469 ,614),12,(0,255,255),-1)cv2.putText(image,"1",(1373,389),cv2.FONT_HERSHEY_PLAIN,3,(0,0,255),5)
cv2.circle(image,(1374,444),12,(0,255,255),-1)
cv2.circle(image,(1379 ,477),12,(0,255,255),-1)
cv2.circle(image,(1381 ,513),12,(0,255,255),-1)
cv2.circle(image,(1383 ,546),12,(0,255,255),-1)
cv2.circle(image,(1386 ,582),12,(0,255,255),-1)
cv2.circle(image,(1387 ,617),12,(0,255,255),-1)cv2.putText(image,"2",(1277,383),cv2.FONT_HERSHEY_PLAIN,3,(0,0,255),5)
cv2.circle(image,(1275,439),12,(0,255,255),-1)
cv2.circle(image,(1277 ,474),12,(0,255,255),-1)
cv2.circle(image,(1280 ,511),12,(0,255,255),-1)
cv2.circle(image,(1279 ,545),12,(0,255,255),-1)
cv2.circle(image,(1282 ,584),12,(0,255,255),-1)
cv2.circle(image,(1282 ,619),12,(0,255,255),-1)cv2.putText(image,"3",(1181,379),cv2.FONT_HERSHEY_PLAIN,3,(0,0,255),5)
cv2.circle(image,(1180,436),12,(0,255,255),-1)
cv2.circle(image,(1184 ,473),12,(0,255,255),-1)
cv2.circle(image,(1185 ,511),12,(0,255,255),-1)
cv2.circle(image,(1184 ,549),12,(0,255,255),-1)
cv2.circle(image,(1185 ,585),12,(0,255,255),-1)
cv2.circle(image,(1187 ,623),12,(0,255,255),-1)cv2.putText(image,"4",(1097,369),cv2.FONT_HERSHEY_PLAIN,3,(0,0,255),5)
cv2.circle(image,(1086,433),12,(0,255,255),-1)
cv2.circle(image,(1092 ,471),12,(0,255,255),-1)
cv2.circle(image,(1095 ,511),12,(0,255,255),-1)
cv2.circle(image,(1095 ,549),12,(0,255,255),-1)
cv2.circle(image,(1095 ,587),12,(0,255,255),-1)
cv2.circle(image,(1095 ,627),12,(0,255,255),-1)cv2.putText(image,"5",(1013,364),cv2.FONT_HERSHEY_PLAIN,3,(0,0,255),5)
cv2.circle(image,(1008,430),12,(0,255,255),-1)
cv2.circle(image,(1006 ,471),12,(0,255,255),-1)
cv2.circle(image,(1006 ,511),12,(0,255,255),-1)
cv2.circle(image, (1010 ,549),12,(0,255,255),-1)
cv2.circle(image,(1010 ,589),12,(0,255,255),-1)
cv2.circle(image,(1009 ,629),12,(0,255,255),-1)cv2.putText(image,"6",(932,359),cv2.FONT_HERSHEY_PLAIN,3,(0,0,255),5)
cv2.circle(image,(921,426),12,(0,255,255),-1)
cv2.circle(image,(922 ,471),12,(0,255,255),-1)
cv2.circle(image,(921 ,511),12,(0,255,255),-1)
cv2.circle(image,(919 ,551),12,(0,255,255),-1)
cv2.circle(image,(923 ,592),12,(0,255,255),-1)
cv2.circle(image,(920 ,637),12,(0,255,255),-1)cv2.putText(image,"7",(852,354),cv2.FONT_HERSHEY_PLAIN,3,(0,0,255),5)
cv2.circle(image,(842,425),12,(0,255,255),-1)
cv2.circle(image,(842,470),12,(0,255,255),-1)
cv2.circle(image,(846 ,507),12,(0,255,255),-1)
cv2.circle(image,(845 ,552),12,(0,255,255),-1)
cv2.circle(image,(846 ,595),12,(0,255,255),-1)
cv2.circle(image,(846 ,639),12,(0,255,255),-1)cv2.namedWindow('image')
cv2.setMouseCallback("image",Event_Lbuttondown)#相应鼠标事件
cv2.imshow("image",image)#显示图片,将矩阵空间变为图片cv2.waitKey(0)#等待键盘操作执行相应操作
cv2.destroyWindow()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/16765.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在线扒站源码

介绍&#xff1a; 上传就可以用 网盘下载地址&#xff1a; http://kekewl.org/zT7gE9VEwUT 图片&#xff1a;

如果你不会扒谱,来吧,这款软件给你超能力

我大学时期同寝室的一个同学&#xff0c;弹得一手好吉他。最让我们佩服的事&#xff0c;可以把任意一首歌的歌谱扒出来&#xff01;每年联欢会&#xff0c;我们选个歌&#xff0c;他就能很快把谱子扒出来&#xff0c;大家就可以拿着各种乐器开始准备表演节目。这个技能一直让我…

想要快速扒谱?快来掌握这些小技巧吧!

相信喜欢音乐的小伙伴们都遇见过这样的事情&#xff0c;有时候我们听到了一手非常好听的歌曲&#xff0c;自己也想要翻唱它&#xff0c;结果在网上找了半天&#xff0c;也没有找到这首歌曲的谱子&#xff0c;于是我们只能非常遗憾的错过了它。 这时候我们不妨来卷起袖子试试自己…

听音扒谱app_掌握这些,你也可以轻松扒谱(下)

如果你只想要扒取歌曲的演唱旋律&#xff0c;那只需要看《掌握这些&#xff0c;你也可以轻松扒谱(上)》这篇文章就可以啦~ 但是如果你需要扒取音乐的伴奏&#xff0c;那就需要观看下方的内容继续学习啦~ 图片来自EarMaster中文官网 1.练习听分解和弦 如果我们想扒取歌曲的伴奏旋…

AutoGPT 安装指南,使用避坑要点

最近&#xff0c; AIGC 中最火的可能就当属于 AutoGPT 了吧&#xff0c;首先简单介绍一下AutoGPT 背景 AutoGPT 是基于 ChatGPT API 接口开发&#xff0c;项目首推 GPT-4 模型&#xff0c;但 OpenAI 账号 API 只有 gpt-3.5-turo 权限同样也可以使用。 项目在 github 上获取的…

Langchain使用OpenAPI过程中报错openai.error.RateLimitError

Langchain使用OpenAPI过程中报错openai.error.RateLimitError 在使用agent跑demo时突然出现以下情况 最后抛出异常&#xff1a; openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.通过查阅官方文档发现原因所在&…

【第二周】卷积神经网络

【第二周】卷积神经网络 学习专知课程《卷积神经网络》&#xff0c;主要内容包括&#xff1a; CNN的基本结构&#xff1a;卷积、池化、全连接典型的网络结构&#xff1a;AlexNet、VGG、GoogleNet、ResNet 1.代码练习 MNIST 数据集分类&#xff1a;构建简单的CNN对 mnist 数…

failed to load response

原因&#xff1a; 因为后端没有把跨域的相关信息写到Header&#xff0c;导致前端无法加载数据。 分析&#xff1a; 1、首先先查看项目中有没有配跨域相关的配置&#xff0c;然后发现有配。 2、这个应该是在执行controller的时候返回才会加上。 3、因为我们项目做了个拦截器…

前端请求failed to load response解决方案

情况是这样的&#xff0c;vue写的一个前端页面&#xff0c;写了一个上传图片的功能&#xff0c;在生产环境上是可以使用的&#xff0c;但在测试环境上不可用&#xff0c;所以开始找原因。 第一步 打开浏览器&#xff0c;查看网页代码&#xff0c;走到network页面开始抓包。 …

任务一 唐诗赏析软件

&#xff08;1&#xff09;TextView控件详解 在Android中&#xff0c;文本框使用TextView表示&#xff0c;作用是在界面上显示文本。TextView提供了大量的XML属性&#xff0c;通过这些属性值的设置可以控制其显示内容的外观。表2-1显示了TextView常见的XML属性说明。TextView的…

若依框架 项目运行报错问题

前端项目启动报错 Syntax Error: TypeError: eslint.CLIEngine is not a constructor stackoverflow上的解决方法 1&#xff09;升级webstorm 到2019版本 2&#xff09;降级eslint 到5 我选择 2) 代码如下 npm install --save-dev eslint5安装报错 1、npm audit fix 2、npm a…

大爆发还是大崩盘?亿万富翁Bankman-Fried解读NFT

iNFTnews.com消息&#xff0c;在接受CNBC采访时&#xff0c;加密衍生品交易所 FTX 的首席执行官 Sam Bankman-Fried 表示NFT几乎比他见过的任何东西都更快地成为主流。他还指出&#xff1a;“快速采用一种新趋势既让人兴奋&#xff0c;也存在风险。” “Visa刚刚宣布他们购买了…

AI工具究竟是帮手还是对手?

本文概要 近日育碧开发了人工智能工具 Ghostwriter&#xff0c;可以一键生成游戏NPC对话。不少游戏开发者担心AI写手工具的出现会让自己“饭碗”不保&#xff0c;但Swanson表示这个工具只是为了提供第一稿的 barks来减少对话生成工作的繁琐度。AI工具究竟是帮手还是对手&#x…

【自然语言处理】【大模型】DeepMind的大模型Gopher

DeepMind的大模型Gopher 《Scaling Language Models: Methods, Analysis & Insights from Training Gopher》 论文&#xff1a;https://arxiv.org/pdf/2112.11446.pdf 相关博客 【自然语言处理】【大模型】CodeGeeX&#xff1a;用于代码生成的多语言预训练模型 【自然语言处…

一文读懂“大语言模型”

1、背景 本文基于谷歌云的官方视频&#xff1a;《Introduction to Large Language Models》 &#xff0c;使用 ChatGPT4 整理而成&#xff0c;希望对大家入门大语言模型有帮助。 本课程主要包括以下 4 方面的内容&#xff1a; 大语言模型的定义描述大语言模型的用例解释提示…

Azure OpenAI 官方指南04|Codex的模型结构和应用场景

Codex 是 OpenAI 公司推出的 GPT-3&#xff08;Generative Pre-trained Transformer – 3&#xff09;的多个派生模型之一。它是基于GPT语言模型&#xff0c;使用代码数据进行 Fine-Tune&#xff08;微调&#xff09;而训练出的专门用于代码生成/文档生成的模型。Codex 模型参数…

[论文] LIMA: Less Is More for Alignment

文章目录 概要内容关键方法高质量样本获取模型评估方法 结论思考 Meta新模型LIMA&#xff0c;基于LLaMa-65B&#xff0c;精选1000个微调样本进行训练&#xff0c;对比GPT-4/Bard/DaVinci003&#xff0c;表现出强大的性能。 结果表明&#xff0c;大语言模型中的几乎所有知识都是…

ChatGpt万能公式以及详细使用方法(实时更新最新方法)

万能公式&#xff1a; 1. 我希望你 / 我想让你 充当 / 担任 / 扮演( 设定角色) 2. 我将为你提供 (关键信息) 3. 你的工作 / 任务是 (工作内容) 4. 我的第一个要求是&#xff08;输出目标) 例如: 我希望你充当一名广告商。您将创建…

九类AI应用和五个简单LLM的Prompt技巧

文章目录 一、九类AI应用二、五个提示词技巧三、MidJourney的prompt使用举例Reference 一、九类AI应用 AI艺术&#xff1a;造梦日记、MidJourney、Stable Diffusion、Adobe、Stability、Remove AI聊天&#xff1a;ChatGPT、Discord、文心一言、Google Bard、星火、Character.…

使用 ChatGPT 和 React 创建一个惊艳的3D卡片(二)

在上一篇文章中&#xff0c;我们一起使用 ChatGPT 和 React 构建了一个基本的卡片布局&#xff0c;效果如下图所示。如果您还没有看过上一篇文章&#xff0c;可以通过这个链接快速查看《使用 ChatGPT 和 React 创建一个惊艳的3D卡片&#xff08;一&#xff09;》。 在此基础上&…