当前位置: 首页 > wzjs >正文

游戏排行榜2023宁波seo

游戏排行榜2023,宁波seo,网页设计代码免费,聊城建设银行网站开放式基金是没有公布每日交易量的。 /funds/data/660008.csv 文件开头: date,jz,ljjz 2016-01-04,1.1141,1.1141 2016-01-05,1.1161,1.1161 2016-01-06,1.1350,1.1350 这是一个将开放式基金数据转换为 MIDI音乐的 js 程序示例。该程序将基金净值映射为 MIDI音符的…

开放式基金是没有公布每日交易量的。

/funds/data/660008.csv 文件开头:
date,jz,ljjz
2016-01-04,1.1141,1.1141
2016-01-05,1.1161,1.1161
2016-01-06,1.1350,1.1350

这是一个将开放式基金数据转换为 MIDI音乐的 js 程序示例。该程序将基金净值映射为 MIDI音符的音高

mkdir test-midi
cd test-midi
npm init -y 
cnpm install csv-parser -S
cnpm install midi-writer-js -S

编写 fund2midi.js  如下

// fund2midi.js
const fs = require('fs');
const csv = require('csv-parser');
const MidiWriter = require('midi-writer-js');// 参数验证
const args = process.argv.slice(2);
if (args.length !== 1 || args[0].length !== 6) {console.log('用法: node fund2midi.js <6位基金代码>');process.exit(1);
}const fcode = args[0];
const csvFile = `/funds/data/${fcode}.csv`;
const outputFile = `melo_${fcode}.mid`;// 读取并处理CSV数据
async function processData() {const results = [];return new Promise((resolve, reject) => {fs.createReadStream(csvFile).pipe(csv()).on('data', (data) => {if (data.date > '2024-01-01') {results.push({date: data.date,jz: parseFloat(data.jz)});}}).on('end', () => {if (results.length < 20) {console.log(`${results.length} < 20`);process.exit(2);}resolve(results);}).on('error', reject);});
}// 生成MIDI文件
function generateMIDI(prices) {const track = new MidiWriter.Track();track.setTempo(120);// 数据归一化const minPrice = Math.min(...prices);const maxPrice = Math.max(...prices);const priceRange = maxPrice - minPrice;// 计算音符范围let minNote = 48; // C3let maxNote = 84; // C5if ((maxPrice / minPrice) < (84 / 48)) {maxNote = Math.round(50 * (maxPrice / minPrice));}if (maxNote % 2 === 1) maxNote++;prices.forEach(price => {const pitch = (priceRange < 0.001)? Math.round((maxNote + minNote) / 2): minNote + Math.round(((price - minPrice) / priceRange) * (maxNote - minNote));const note = new MidiWriter.NoteEvent({pitch: [pitch],duration: '4',velocity: 63   // 音量: 63% *127 = 80});track.addEvent(note);});// 直接在构造函数中传入轨道数组const writer = new MidiWriter.Writer([track]);return writer;
}// 主流程
(async () => {try {const data = await processData();const prices = data.map(d => d.jz);console.log(`基金代码: ${fcode}`);console.log(`数据量: ${prices.length}`);console.log(`最大值: ${Math.max(...prices)}`);console.log(`最小值: ${Math.min(...prices)}`);const midi = generateMIDI(prices);fs.writeFileSync(outputFile, midi.buildFile(), 'binary');console.log(`生成成功: ${outputFile}`);} catch (err) {console.error('发生错误:', err.message);process.exit(1);}
})();

运行 node fund2midi.js 660008 
生成 melo_660008.mid

运行 python play_mid.py melo_660008.mid 

运行 python mido_msg.py melo_660008.mid 查看 midi文件内容

http://www.dtcms.com/wzjs/212250.html

相关文章:

  • 极速网站建设搜索引擎优化的常用方法
  • 给期货交易类做网站违法吗怎样推广自己的网站
  • 做方案收集图片的网站爱站工具包的主要功能
  • 美国地接公司怎么在中国网站做推广津seo快速排名
  • 网站模板 酒类广州广告推广公司
  • 整人网站怎么做网站优化外包顾问
  • 做网站需要哪些人快手刷评论推广网站
  • 找人做网站要准备什么软件注册网址
  • 小网站建设公司排名网页制作软件有哪些
  • 提升网站建设售卖链接
  • 建设p2p网站seo排名优化的方法
  • 全国网站建设哪家专业武汉网络推广外包公司
  • 汽车网站建设规划书定制网站+域名+企业邮箱
  • 兰州做家教去哪个网站比较好微信小程序开发平台
  • 二手服务器做网站文章优化软件
  • wordpress支付宝移动端株洲企业seo优化
  • 建设网站所需要的基础知识企业网站快速建站
  • 织梦做的网站在手机上显示seo关键词优化策略
  • 网上培训班学好seo
  • 做色情网站多久会被抓seo包年优化
  • 智能获客系统seo软件服务
  • 源码怎么做网站搜索引擎yandex入口
  • 嘉兴快速建站合作兰州seo培训
  • 做动态图片的网站吗五八精准恶意点击软件
  • 做网站的服务器哪个系统好营销网点机构号
  • 网店网站怎么做域名交易中心
  • 东莞网站建设 汇卓免费网站分析seo报告是坑吗
  • 免费模板网站都有什么区别seo专业培训课程
  • 徐州铜山区建设局网站什么是网络营销公司
  • 不用js可以做网站吗整合营销传播方案案例