TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

标题: 波形頻譜 [打印本页]

作者: saiyaku    时间: 2012-8-25 11:09:08     标题: 波形頻譜

嘛 ASS生成太大了 用處不大
只是結合這個 也比較好理解 頻譜是怎麼一回事
有興趣的可以寫一些 自己的頻譜
思路上建議不用拘泥于傳統頻譜 水波式的發散頻譜 或者是某種圖形 四周的點作為波形點 不規則拉升
  1. from tcaxPy import *

  2. from util.tcAudio import *

  3. SPECHEIGHT = 127   #頻譜高度
  4. SPECWIDTH = 300    #頻譜寬度(太寬了很卡 測試可以更小一點 到500 我就crash沒壓出來。。。)
  5. BANDS = 300        #柱狀條數(波形頻譜和寬度一樣)


  6. def Spectrum(fft):      # convert fft data to graph

  7.     bars = []

  8.     b0 = 0

  9.     for x in range(BANDS):

  10.         peak = 0        # peak of a certain bar

  11.         b1 = pow(2, x * 10.0 / (BANDS - 1))

  12.         if b1 > 1023:

  13.             b1 = 1023

  14.         if b1 <= b0:

  15.             b1 = b0 + 1    # make sure it uses at least 1 FFT bin

  16.         while b0 < b1:

  17.             if peak < fft[1 + b0]:

  18.                 peak = fft[1 + b0]

  19.             b0 += 1

  20.         y = int(sqrt(peak) * 3 * SPECHEIGHT - 4)   # scale it (sqrt to make low values more visible)

  21.         if y > SPECHEIGHT:

  22.             y = SPECHEIGHT     # cap it

  23.         bars.append(y)

  24.     return bars

  25. def tcaxPy_User():


  26.     file_name = GetVal(val_OutFile) + '.ass'

  27.     ass_header = GetVal(val_AssHeader)

  28.     ASS_FILE = CreateAssFile(file_name, ass_header)

  29.     tcAudioInit()

  30.     channel = tcAudioOpen('h.mp3')      # 此處修改 音頻文件名

  31.     freq = tcAudioGetFreq(channel)      # usually 44100 Hz

  32.     duration = tcAudioGetDuration(channel)

  33.     num = int(duration * freq / 2048)

  34.     hStr1 = "{\p1}m 0 0 l 0 -70 l 1 0 l 0 70 l 0 0"
  35.     hStr2 = "{\p1}m 0 0 l 0 -50 l 1 0 l 0 50 l 0 0"

  36.     for i in range(num):

  37.         ASS_BUF = []


  38.         fft = tcAudioGetFFT(channel, 2048)

  39.         bars = Spectrum(fft)

  40.         bar_width = int(SPECWIDTH / BANDS)

  41.         count = len(bars)

  42.         for j in range(count):

  43.             start = i * 100 * 2048 / freq

  44.             end = (i + 1) * 100 * 2048 / freq

  45.             x = (1280 - SPECWIDTH) / 2 + bar_width * j

  46.             y = 500

  47.             FSC = fsc((bar_width) * 100, bars[j] * 2)

  48.             CLR1 = color1("FFBD00") + alpha1(0)   

  49.             CLR2 = color1("FFFFFF") + alpha1(119)   
  50.             ass_main(ASS_BUF, SubL(start, end, 0, Pix_Style), an(7) +blur(0.8) + pos(x, y) + FSC + CLR1, hStr1)
  51.             ass_main(ASS_BUF, SubL(start, end, 1, Pix_Style), an(7) +blur(0.8) + pos(x, y) + FSC + CLR2, hStr2)
  52.         WriteAssFile(ASS_FILE, ASS_BUF)     # write the buffer in memory to the file

  53.         progress(i + 1, num)

  54.     tcAudioFin()

  55.     FinAssFile(ASS_FILE)
复制代码

作者: 由纪大小姐    时间: 2012-8-25 11:59:26

频谱算法都有了,这个要慢慢看…额
作者: cherry    时间: 2013-7-1 11:51:42

  好难的感觉。哎。。
作者: bvzxzxc    时间: 2014-1-14 16:27:53

没看懂

作者: karasuki    时间: 2014-7-14 06:18:17

我只看到了 if循环语句和什么码率啥的不知道是不是 哈哈 继续玩耍去
作者: 面麻    时间: 2015-5-28 12:46:28

请问util.tcAudio在哪里啊?
作者: 月悠天云    时间: 2015-10-19 15:17:09

同上想问问util.tcAudio这个模块在哪...
作者: 面麻    时间: 2015-10-19 22:11:49

本帖最后由 面麻 于 2015-10-19 22:16 编辑

它是一个独立模块,不包含在发行版中,可以从下面的帖子下载:
http://www.tcax.org/forum.php?mod=viewthread&tid=198
将其中的 tcAudio.pyd 放到 ...\tcax\util\ 文件夹中即可,相应地,在脚本中包含下面的语句:
  1. from util.tcAudio import *
复制代码

作者: zpao120    时间: 2016-6-11 11:18:50

面麻 发表于 2015-10-19 22:11
它是一个独立模块,不包含在发行版中,可以从下面的帖子下载:
http://www.tcax.org/forum.php?mod=viewthr ...

我已经把tcAudio.pyd放到...\tcax\util\ 文件夹里了,也修改音乐文件名,还是有问题,请问使用这个代码具体步骤是什么呀。。
作者: 面麻    时间: 2016-6-11 23:04:08

zpao120 发表于 2016-6-11 11:18
我已经把tcAudio.pyd放到...\tcax\util\ 文件夹里了,也修改音乐文件名,还是有问题,请问使用这个代码具 ...

首先确定,tcAudio.pyd 位于正确路径,其次写好 TCC 文件,注意 init 和 fin 设为 true,指定相应的 py 脚本和 k.ass,就可以了。
指出几点问题:1. 完全引用别人的脚本,而不弄清楚基本原理,是不合适的;
2. 不学好基础教程也是不好的,应当先学好基础,否则很多地方都是糊涂的。
作者: zpao120    时间: 2016-6-14 12:24:17

面麻 发表于 2016-6-11 23:04
首先确定,tcAudio.pyd 位于正确路径,其次写好 TCC 文件,注意 init 和 fin 设为 true,指定相应的 py  ...

好吧。。总感觉py脚本编辑有些难学,最近也没什么时间了,只想试试能不能套用
作者: アクマ    时间: 2016-7-27 21:57:02


作者: Seekladoom    时间: 2022-2-13 02:14:05

本帖最后由 Seekladoom 于 2022-2-13 15:04 编辑

附上工程文件:
【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part001.rar.rar (950 KB, 下载次数: 1453)
【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part002.rar.rar (950 KB, 下载次数: 1428)
【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part003.rar.rar (950 KB, 下载次数: 1400)
【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part004.rar.rar (950 KB, 下载次数: 1420)
【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part005.rar.rar (950 KB, 下载次数: 1330)
【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part006.rar.rar (770.06 KB, 下载次数: 1274)

注:如上压缩包内的字幕文件体积达到了167M,用Aegisub直接打开100%会提示报错cannot conver from utf8 to binary。要想正常预览请看如下方法及步骤:


步骤1:点击文件→打开字幕并指定编码
步骤1.png

步骤2:点击需要打开的大体积字幕文件
步骤2.png

步骤3:选择UTF8编码
步骤3.png

步骤4:等待20-40秒,就可以看到正常显示的波形频谱特效字幕文件了。
步骤4.png

配合如下帖学习更佳:
[完整特效] [SAI]034_hyoukaOP2




附件: 【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part006.rar.rar (2022-2-13 14:55:29, 770.06 KB) / 下载次数 1274
http://www.tcax.org/forum.php?mod=attachment&aid=MjkwOXw5ODBkNzAwOXwxNzE0ODQzOTEwfDB8MA%3D%3D

附件: 【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part005.rar.rar (2022-2-13 14:55:28, 950 KB) / 下载次数 1330
http://www.tcax.org/forum.php?mod=attachment&aid=MjkwOHw3Y2E3MmQ5YXwxNzE0ODQzOTEwfDB8MA%3D%3D

附件: 【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part004.rar.rar (2022-2-13 14:55:28, 950 KB) / 下载次数 1420
http://www.tcax.org/forum.php?mod=attachment&aid=MjkwN3xiMjc3OGU5ZHwxNzE0ODQzOTEwfDB8MA%3D%3D

附件: 【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part003.rar.rar (2022-2-13 14:55:27, 950 KB) / 下载次数 1400
http://www.tcax.org/forum.php?mod=attachment&aid=MjkwNnxjNmE2MWQyZnwxNzE0ODQzOTEwfDB8MA%3D%3D

附件: 【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part002.rar.rar (2022-2-13 14:55:26, 950 KB) / 下载次数 1428
http://www.tcax.org/forum.php?mod=attachment&aid=MjkwNXwyZDc5OTE5MXwxNzE0ODQzOTEwfDB8MA%3D%3D

附件: 【附打开大体积字幕文件方法】TCAX Karaoke Effect 459 - 波形频谱.part001.rar.rar (2022-2-13 14:55:26, 950 KB) / 下载次数 1453
http://www.tcax.org/forum.php?mod=attachment&aid=MjkwNHw3ZDBkMWE1OHwxNzE0ODQzOTEwfDB8MA%3D%3D

图片附件: 步骤4.png (2022-2-13 15:01:01, 108.25 KB) / 下载次数 807
http://www.tcax.org/forum.php?mod=attachment&aid=MjkxM3w2ZTZlZmQzM3wxNzE0ODQzOTEwfDB8MA%3D%3D



图片附件: 步骤3.png (2022-2-13 15:01:00, 96.43 KB) / 下载次数 838
http://www.tcax.org/forum.php?mod=attachment&aid=MjkxMnw4NmNlMmRmZXwxNzE0ODQzOTEwfDB8MA%3D%3D



图片附件: 步骤2.png (2022-2-13 15:01:00, 150.95 KB) / 下载次数 797
http://www.tcax.org/forum.php?mod=attachment&aid=MjkxMXxkZjhmOTgyMHwxNzE0ODQzOTEwfDB8MA%3D%3D



图片附件: 步骤1.png (2022-2-13 15:01:00, 62.99 KB) / 下载次数 811
http://www.tcax.org/forum.php?mod=attachment&aid=MjkxMHxkY2QwNWVhMXwxNzE0ODQzOTEwfDB8MA%3D%3D






欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://www.tcax.org/) Powered by Discuz! X2