commit
64bf51fc6b
@ -0,0 +1,2 @@
|
|||||||
|
*/target/
|
||||||
|
*/__pycache__/
|
@ -0,0 +1,67 @@
|
|||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
SPEED_FACTOR=1
|
||||||
|
LOW_BASE_FREQ=1000
|
||||||
|
HIGH_BASE_FREQ=1050
|
||||||
|
SECTION_DIFF=-200
|
||||||
|
|
||||||
|
## ADVANCED CONFIG
|
||||||
|
SAMPLE_RATE=10000
|
||||||
|
## END OF CONFIG
|
||||||
|
|
||||||
|
example_new="1 0@1.33 1@3.3 0@3.5 1@3.6 0@3.8"
|
||||||
|
|
||||||
|
def get_args(args):
|
||||||
|
a = args.split("@")
|
||||||
|
return (a[0], float(a[1]))
|
||||||
|
|
||||||
|
def convert(syn):
|
||||||
|
first_state = syn[0]
|
||||||
|
slist = syn.split(" ")[1:]
|
||||||
|
tarr = list()
|
||||||
|
tarr.append((first_state,))
|
||||||
|
time_offset = 0
|
||||||
|
for ti in range(len(slist)):
|
||||||
|
state, time = get_args(slist[ti])
|
||||||
|
tarr[ti] = (tarr[ti][0], time-time_offset)
|
||||||
|
time_offset = time
|
||||||
|
tarr.append((state,))
|
||||||
|
tarr[len(tarr)-1] = (tarr[len(tarr)-1][0], 100)
|
||||||
|
return tarr
|
||||||
|
|
||||||
|
def create_commands(example):
|
||||||
|
return [f"sox -r 10000 -n _tmp_exmp.wav synth {example[i][1]} sine {1000 + (i*50)}" for i in range(len(example))]
|
||||||
|
|
||||||
|
print(create_commands(convert(example_new)))
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
LBF=str(LOW_BASE_FREQ)
|
||||||
|
HBF=str(HIGH_BASE_FREQ)
|
||||||
|
|
||||||
|
METRONOME_CLOCK=MC=f"sox -r {str(SAMPLE_RATE)} -n metronome.wav synth .005 sine 4000".split(" ")
|
||||||
|
|
||||||
|
SPEED_FACTOR=SF=SPEED_FACTOR**-1
|
||||||
|
|
||||||
|
SINE_LINE = ((f"{LBF} {SF} {HBF} {SF} ") * 10).strip(" ")
|
||||||
|
|
||||||
|
def add_metronome(file_name):
|
||||||
|
if not os.path.exists("metronome.wav"):
|
||||||
|
subprocess.call(MC)
|
||||||
|
subprocess.run(["sox", "--combine", "merge", f"{file_name}", "metronome.wav", f"{file_name}_met.wav"])
|
||||||
|
subprocess.run(["mv", f"{file_name}_met.wav", f"{file_name}"])
|
||||||
|
|
||||||
|
def create_tones(tone_list, final_name):
|
||||||
|
split_line = SINE_LINE.split(" ")
|
||||||
|
idex = range(0, len(split_line), 2)
|
||||||
|
|
||||||
|
for i in idex:
|
||||||
|
print(f"sox -r 10000 -n _tmp_output_{str(i)}.wav synth {split_line[i+1]} sine {split_line[i]}")
|
||||||
|
subprocess.run(["sox", "-r", "10000", "-n", f"_tmp_output_{str(i)}.wav", "synth", split_line[i+1], "sine", split_line[i]])
|
||||||
|
add_metronome(f"_tmp_output_{str(i)}.wav")
|
||||||
|
|
||||||
|
files = [f"_tmp_output_{str(i)}_met.wav" for i in idex]
|
||||||
|
subprocess.call(["sox", *files, f"{final_name}.wav"])
|
||||||
|
#subprocess.call(["rm", "_tmp_output_*"])
|
||||||
|
|
||||||
|
create_tones(SINE_LINE, "final")
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
|||||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue