Duplicate cards or deck to have both text and audio only questions

Hi,

I’m French and I use Anki to learn Japanese, with the “TANGO N5” deck

This deck is associated with a course, the “N5 Bootcamp for French beginners”.

My cards have a front side with a Japanese sentence (with kanji)

The back side have :

  • Japanese audio pronunciation
  • Japanese kana pronunciation
  • French translation

I want to work also with audio pronunciation / listening skills ; that is to say :

  • front side with Japanese audio only
  • back side with Japanese text and French translation

I know it’s possible to switch cards to “audio only” mode.

But I want to work both “Japanese kanji sentence reading” and “audio listening” ; that is to say :

  • Japanese sentence text front side cards
  • Japanse audio only front side cards

So I wonder if it’s possible to duplicate the deck - or duplicate all cards - to have both “text” and “audio only” cards.

The difficulty is that :

  • I need to keep my current progress
  • I need to keep the new cards daily rate, to match the progression of the “N5 Bootcamp” course lessons

I think I may duplicate the whole deck, to have a “text” deck and an “audio only” deck, with the same daily rate of news cards each.

What should I do?

Thanks

Bests regards

You don’t need to “duplicate” the deck.

What you’re talking about is adding another card type to your note type so that Anki makes an additional card for each of your notes. It sounds like you’re new to Anki, so take a minute to understand the difference between notes and cards.

You can add another card type to make your audio-front cards. This will affect every note that uses this note type. You’ll need to move your {{field replacements}} around on the new card type and you can find the basics about working with card templates in the manual – Field Replacements - Anki Manual . [This video has a good example of doing a bit more editing on the new card type].

Having multiple card types is a good thing, and each time you study one “sibling” card, it reinforces the other siblings. So doubling your number of cards doesn’t necessarily mean you’ll double your workload – but it’s not possible to study all of them without increasing your workload.

Thank you

So that :

  • each élement in the Anki desk’s database is a ‘note’
  • each ‘note’ has several ‘field’, in my case :
    • Japanese text with kanji
    • Japanese pronunciation
    • Japanese audio
    • French translation

Currently, in my deck, there is only one ‘card type’

A ‘card type’ always contains 2 ‘template’ :

  • front template (the question)
  • back template (the answer)

Each ‘template’ is a HTML code that uses note’s ‘field’

Anki create one flash card for each ‘note’ and each ‘card type’

So I have to add a second ‘card type’

This is my version of Anki :

Version ⁨26.05 (e64c6b1a)⁩
Python 3.13.13 Qt 6.11.0 Chromium 140

I go to the menu ‘Tools’ > ‘Manage note types…’

Then a tiny windows appears, I can see a custom [Obi Senpai] Tango N5 that my deck uses

When I clic on ‘Fields’ button, I can see all fields used

There are a special feature in the Tango N5 card type ; when I enter a ‘x’ in the ‘Description’ of the field ‘14: Audio on Front’, it’s change all my flash cards to ‘audio in front’.

But I don’t want this. I want to add a second ‘cart type’

So I go back to the previous windows and clic on ‘card’ button

Here I can see the current ‘card type’

It contains huge HTML code :

Front ‘template’ :

</br>

{{^Audio on Front}}<span class="expression-field"><span display-type="kanji" class="wrapped-japanese">{{ExpressionFurigana}}</span></span>{{/Audio on Front}}

{{#Audio on Front}}{{#ExpressionAudio}}<span class="expression-field">{{ExpressionAudio}}</span>{{/ExpressionAudio}}{{/Audio on Front}}
{{#Audio on Front}}{{^ExpressionAudio}}<span class="expression-field"><span display-type="kanji" class="wrapped-japanese">{{ExpressionFurigana}}</span></span>{{/ExpressionAudio}}{{/Audio on Front}}


<!-- Gestion de l'accent de hauteur -->

<script>function processJIphoneEnter(e){var t,i;if(e.classList.contains("hovered-word"))hideRuby(e);else{var a=document.getElementsByClassName("hovered-word")[0];a&&hideRuby(a),e.classList.contains("unhovered-word")&&showRuby(e)}if(i=e.getElementsByClassName("pitch-accent-popup")[0])if("block"==i.style.display)i.style.display="none",i.style.top="",i.style.left="";else{if(t=document.getElementsByClassName("pitch-accent-popup"))for(var s=0;s<t.length;s++)t[s].style&&(t[s].style.display="none",t[s].style.left="",i.style.top="");i&&formatPopup(i,e)}}function formatPopup(e,t){e.style.position="absolute",e.style.display="block";var i=t.closest(".card"),a=i.getBoundingClientRect().top+i.offsetHeight,s=document.body.offsetWidth,n=mobileAndTabletcheck();n&&(s=i.getBoundingClientRect().left+i.offsetWidth);var c=0;document.body.scrollHeight>document.body.clientHeight&&(c=14),e.getBoundingClientRect().left<s&&(e.style.left="2px");var r=t.offsetHeight,o=0;t.classList.contains("pitch-shape-box")&&(o=-5),e.style.top=r+"px";var p=e.getBoundingClientRect().left+e.offsetWidth;if(p+c+10>s){var l=p-s;e.style.left="-"+(l+2+c)+"px"}var d=e.getBoundingClientRect().top+e.offsetHeight,h=a;!n&&h>200&&d>h?e.style.top="-"+(e.offsetHeight+3-o)+"px":n&&h>300&&d>h&&(e.style.top="-"+(e.offsetHeight+3-o)+"px")}function processEntry(e){var t;e.classList.contains("unhovered-word")&&showRuby(e),(t=e.getElementsByClassName("pitch-accent-popup")[0])&&formatPopup(t,e)}function processExit(e){var t;if(e?e.classList.contains("hovered-word")&&hideRuby(e):hideRuby(!1),t=document.getElementsByClassName("pitch-accent-popup"))for(var i=0;i<t.length;i++)t[i].style&&(t[i].style.display="none",t[i].style.left="",t[i].style.top="")}function bracketEscape(e){var t,i=/\[\d*\]+/g;if(i.test(e)){t=e.match(i);for(var a=0;a<t.length;a++)e=e.replace(t[a],"☶")}return t?[e,t]:[e,[]]}function replaceBrackets(e,t){if(t)for(var i=0;i<t.length;i++)e=e.replace("☶",t[i]);return e}function htmlEscape(e){var t=/<[^<]*?>/g,i=!1;if(t.test(e)){i=e.match(t);for(var a=0;a<i.length;a++)e=e.replace(i[a],"☷")}return i?[e,i]:[e,!1]}function returnHTML(e,t){if(t)for(var i=0;i<t.length;i++)e=e.replace("☷",t[i]);return e}function hideRuby(e){var t;if(void 0!==e&&(e.classList.add("unhovered-word"),e.classList.remove("hovered-word")),(t=document.getElementsByClassName("hovered-word"))&&t.length>0)for(var i=0;i<t.length;i++)t[i].classList&&(t[i].classList.add("unhovered-word"),t[i].classList.remove("hovered-word"))}function showRuby(e){e.classList.remove("unhovered-word"),e.classList.add("hovered-word")}function cleanUpSpaces(e){return e.replace(/\n/g,"").replace(/ /g,"")}function convertToHira(e){for(var t="ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッヰヱ",i="",a=0;a<e.length;a++)-1!==t.indexOf(e[a])?i+="がぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをんぁぃぅぇぉゃゅょっゐゑ"[t.indexOf(e[a])]:i+=e[a];return i}function fetchColoredPitchIds(e){for(var t,i=[],a=0;a<e.length;a++){(t=e[a].match(/(n[\d]{1,2})|(k[\d]{1,2})+?|[hanok]/g)).length>1?i.push('<span class="'+pitchConvert(t[0][0])+'">'+t[0].toUpperCase()+'</span><span style="color:black;">-</span><span class="'+pitchConvert(t[1][0])+'">'+t[1].toUpperCase()+"</span>"):i.push('<span class="'+pitchConvert(t[0][0])+'">'+t[0].toUpperCase()+"</span>")}return'<span style="font-family:Arial;">'+i.join('<span class="popup-comma">, </span>')+"</span>"}var mobileBrowser=mobileAndTabletcheck();function getJEvents(){return mobileBrowser?' ontouchend="processJIphoneEnter(this)" ':' onmouseleave="processExit(this)" onmouseenter="processEntry(this)" '}function callPy(e){"undefined"!=typeof pycmd&&pycmd(e)}function fetchPitchShapes(e,t,i,a,s,n,c){var r,o,p,l="",d=[];o=getJEvents();for(var h=1;h<e.length;h++){var v=" onclick=\"callPy('playAudio;"+n+";"+c+";"+h+"')\" ";if(s&&(l='<div class="pitch-accent-popup no-ruby"><div class="no-ruby-pitch">'+t+"</div></div>"),pitch=e[h],(r=pitch.match(/(n[\d]{1,2})|(k[\d]{1,2})+?|[hanok]/g)).length>1)p="<div "+v+' class="pitch-shape-box pitch-circle-box" '+o+'><div class="pitch-circle-box-left"  ><div class="left-pitch-circle '+pitchConvert(r[0][0],!0)+'"></div></div><div class="pitch-circle-box-right"><div class="right-pitch-circle '+pitchConvert(r[1][0],!0)+'"></div></div>'+l+"</div>";else{var u=!1,m=r[0][0];r[0].length>1&&(u=parseInt(r[0].substring(1))),""===i&&""===a||!s||(a||"k"!=r[0][0]&&"k"!=e[0][0]?(a&&"k"==r[0][0]&&(i=a),l='<div class="pitch-accent-popup"><div class="pitch-graph-container"><span class="'+pitchConvert(r[0][0])+'">'+getPitchGraph(i,m,u,a)+'</span></div><div class="pitch-numbers">'+t+"</div></div>"):l='<div class="pitch-accent-popup no-ruby"><div class="no-ruby-pitch">'+t+"</div></div>"),p="<div "+v+' class="pitch-shape-box pitch-diamond-box"  '+o+'><div class="pitch-diamond '+pitchConvert(r[0][0],!0)+'"></div>'+l+"</div>"}d.push(p)}return d.join("")}function pitchConvert(e,t){var i="";switch(e){case"h":i="heiban";break;case"a":i="atamadaka";break;case"n":i="nakadaka";break;case"o":i="odaka";break;case"k":i="kifuku"}return void 0!==t?" bg"+i.charAt(0).toUpperCase()+i.slice(1):i}function fetchPitch(e){var t,i;if(/(n[\d]{1,2})|(k[\d]{1,2})+?/g.test(e)){t=e.match(/(n[\d]{1,2})|(k[\d]{1,2})+?|[hanok]/g);var a="";i=[];for(var s=0;s<t.length;s++)t[s].length>1&&0==s?(i.push(t[s].substring(0,1)),a=parseInt(t[s].substring(1))):i.push(t[s]);return[pitchConvert(i[0].substring(0,1)),[!0,i,a]]}return/[hanok]{2,}/g.test(e)?[pitchConvert((i=e.split(""))[0]),[!1,pitchConvert(i[1],!0)]]:[pitchConvert(e),!1]}function getPitchGraph(e,t,i,a){var s=1,n=["ゃ","ょ","ゅ","ぁ","ぃ","ぇ","ぉ","ぅ","ャ","ョ","ュ","ァ","ィ","ェ","ォ","ゥ"];if(-1!==n.indexOf(e[1])&&(s=2),"a"===t)return'<div class="pitch-box"><div class="pitch-overbar"></div><span class="high-pitch">'+e.substring(0,s)+'</span><div class="pitch-drop"></div></div>'+e.substring(s);if("n"==t||"k"===t){var c,r=1,o=!1;if("k"===t){if(void 0===a)return!1;e=a}if(void 0===i)return e;r=i;for(var p=0;p<r+1;p++)-1!==n.indexOf(e[p])&&r++;return c=r,1===i&&(o=!0),o?'<div class="pitch-box"><div class="pitch-overbar"></div><span class="high-pitch">'+e.substring(0,r)+'</span><div class="pitch-drop"></div></div>'+e.substring(r):e.substring(0,s)+'<div class="pitch-box"><div class="pitch-overbar"></div><span class="high-pitch">'+e.substring(s,c)+'</span><div class="pitch-drop"></div></div>'+e.substring(c)}return"h"===t?(a&&(e=a),e.substring(0,s)+'<div class="pitch-box"><div class="pitch-overbar"></div><span class="high-pitch">'+e.substring(s)+"</span></div>"):"o"===t?(a&&(e=a),1===e.length||2==e.length&&-1!==n.indexOf(e[1])?'<div class="pitch-box"><div class="pitch-overbar"></div><span class="high-pitch">'+e+'</span><div class="pitch-drop"></div></div>':e.substring(0,s)+'<div class="pitch-box"><div class="pitch-overbar"></div><span class="high-pitch">'+e.substring(s)+'</span><div class="pitch-drop"></div></div>'):void 0}function fetchFuriWrapper(e,t){return e?'<div class="rtMIA kana-ruby'+t+'"><span class="kana-ruby">'+e+"</span></div>":""}function mobileAndTabletcheck(){var e=!1;return(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4)))&&(e=!0),e}function doSetTimeout(e,t,i,a,s,n,c,r,o,p,l,d){setTimeout(function(){t=formatJapanese(t,c,r,o,p,l,d),i.innerHTML+=t.replace(/&nbsp;/g,"&ensp;"),sizeShapes(i)},500*e),e+1==a&&(s||n)&&setTimeout(function(){s&&(i.innerHTML=returnHTML(i.innerHTML,s)),n&&(i.innerHTML=replaceBrackets(i.innerHTML,n))},500*(e+1))}var japaneseWordContainers=0;function sizeShapes(e){var t;if(t=e.getElementsByClassName("japanese-word")[0]){var i="jwCont"+ ++japaneseWordContainers;e.classList.add(i),i="."+i;var a,s,n=!1;if((s=document.getElementsByClassName("pitchShapeCss"+japaneseWordContainers)).length>0)s=s[0],n=!0;else(s=document.createElement("style")).classList.add("pitchShapeCss"+japaneseWordContainers),s.type="text/css",a=document.getElementsByTagName("head")[0];var c="",r=parseInt(window.getComputedStyle(t,null).getPropertyValue("font-size"))+3,o=Math.round(10*r)/10,p=Math.round(r/10*10)/10,l=o/2;document.getElementsByClassName("pitch-diamond")&&(c+=i+" .pitch-diamond{",c+="width:"+l+"px;",c+="height:"+l+"px;",c+="bottom:"+p+"px;",c+="}"),l=(o=l+2)/2,p*=.6,document.getElementsByClassName("right-pitch-circle")&&(c+=i+" .right-pitch-circle{",c+="width:"+l+"px;",c+="height:"+o+"px;",c+="bottom:"+p+"px;",c+="border-top-right-radius:"+o+"px;",c+="border-bottom-right-radius:"+o+"px;",c+="}"),document.getElementsByClassName("left-pitch-circle")&&(c+=i+" .left-pitch-circle{",c+="width:"+l+"px;",c+="height:"+o+"px;",c+="bottom:"+p+"px;",c+="border-top-left-radius:"+o+"px;",c+="border-bottom-left-radius:"+o+"px;",c+="}"),n?s.innerHTML=c:(a.appendChild(s),s.appendChild(document.createTextNode(c)))}}function setInHTML(e,t,i,a){t.innerHTML=e,a&&(t.innerHTML=replaceBrackets(t.innerHTML,a).replace(/&nbsp;/g,"&ensp;")),setTimeout(function(){sizeShapes(t),t.style.visibility="visible"},5)}function formatJapanese(e,t,i,a,s,n,c){var r;if(r=e.match(/[^  &>;☷\n]+?\[[^\]]+\][^  &<;☷\n]*/g)){c||(e=cleanUpSpaces(e));for(var o=0;o<r.length;o++){var p,l,d=r[o],h=d.replace(/\[([^\]]+)\]/,""),v=d.match(/\[([^\]]+)\]/)[1],u=d.replace(/\[[^\]]+\]/,"---SEPERATOR---");[p,l]=u.split("---SEPERATOR---");var m,g="";-1!==v.indexOf(";")?([m,g]=v.split(";"),c||""!=m||(m=p),g=-1!==g.indexOf(",")?g.split(","):[g]):m=v,g&&(g=g.filter(Boolean));var f="";-1!==m.indexOf(",")&&([m,f]=m.split(",")),""===m||m.match(/^[\u3040-\u309f\u30a0-\u30ff]+$/)||(m=""),c&&""==m&&p.match(/^[\u3040-\u309f\u30a0-\u30ff]+$/)&&(m=p);var b,y,k="",w="",x="",C=!0,E=!1,j="",L="";if(g){b=fetchColoredPitchIds(g),[k,w]=fetchPitch(g[0]),w&&(w[0]?w[1].length>1?(C=!1,x=pitchConvert(w[1][1].replace(/\d/g,""),!0)):E=!0:(C=!1,w[1].length>1&&(x=w[1])));var T="";p.match(/^[\u3040-\u309f\u30a0-\u30ff]+$/)&&""==m&&(T=p);var B="";C&&i&&(""!==m||""!==T||""!==f)&&(B=T||m,(j=E?getPitchGraph(convertToHira(B+l),w[1][0],w[2],f):getPitchGraph(convertToHira(B+l),g[0],!1,f))?(L=" thumb-hover",j='<div class="pitch-accent-popup '+k+'"><div class="pitch-graph-container">'+j+'</div><div class="pitch-numbers">'+b+"</div></div>"):j=""),!j&&i&&(!n||n&&!C?j='<div class="pitch-accent-popup no-ruby"><div class="no-ruby-pitch">'+b+"</div></div>":E&&(j='<div class="pitch-accent-popup no-ruby"><div class="no-ruby-pitch">'+b+"</div></div>"))}""===m&&""!==f&&i&&!j&&(j='<div class="pitch-accent-popup"><div class="pitch-graph-container">'+f+"&ensp;</div></div>"),y=getJEvents();var H="",M=m+l;if(f){M=f;var P=h.match(/.*[^\u3040-\u309f\u30a0-\u30ff ]/);P||(P=""),h=P+f.replace(m,"")}g.length>1&&n&&"coloredhover"!==t&&a&&(H=fetchPitchShapes(g,b,m?m+l:"",f,i,h,M)),p.match(/^[\u3040-\u309f\u30a0-\u30ff]+$/)&&(m=""),n||(k="",x=""),""===m&&c&&(m=p+l);if(g.length < 2){var A=" onclick=\"callPy('playAudio;"+h+";"+M+";100')\" "; }else{ var A=" onclick=\"callPy('playAudio;"+h+";"+M+";0')\" ";}"coloredkanji"==t?e=e.replace(d,'<div class="j-mia-cont"><span'+A+' class="japanese-word '+k+x+L+'"'+y+">"+p+l+j+"</span>"+H+"</div>"):"kanji"==t?e=e.replace(d,"<span"+A+'  class="japanese-word"'+y+">"+p+l+j+"</span>"):"coloredkanjireading"==t||"kanjireading"==t?(m=fetchFuriWrapper(m,s),e=e.replace(d,'<div class="j-mia-cont"><span'+A+' class="japanese-word '+k+x+L+'"'+y+'><div class="rubyMIA">'+m+'<div class="rbMIA"><span class="kanji-ruby">'+p+"</span></div></div>"+l+j+"</span>"+H+"</div>")):"coloredhover"==t||"hover"==t?(m=fetchFuriWrapper(m,s),e=e.replace(d,"<span"+A+' class="japanese-word unhovered-word '+k+x+L+'"'+y+'><div class="rubyMIA">'+m+'<div class="rbMIA"><span class="kanji-ruby">'+p+"</span></div></div>"+l+j+"</span>")):"coloredreading"!=t&&"reading"!=t||(e=e.replace(d,'<div class="j-mia-cont"><span'+A+' class="japanese-word '+k+x+L+'"'+y+">"+m+l+j+"</span>"+H+"</div>"))}return e}return c||(e=cleanUpSpaces(e)),e}(function(){const FG_FONT_SIZE=5;const BUFFERED_OUTPUT=false;var PITCH_GRAPHS=false;const PITCH_SHAPES=true;for(var jpText=document.getElementsByClassName("wrapped-japanese"),i=0;i<jpText.length;i++){var dType,inHT=jpText[i].innerHTML;if(-1===inHT.indexOf("[")||inHT.match(/\[\d/gm)&&!inHT.match(/\[\D/gm))jpText[i].style.visibility="visible";else if(dType=jpText[i].getAttribute("display-type")){dType=dType.toLowerCase();var displayModes=["hover","coloredhover","coloredkanji","reading","coloredreading","kanjireading","coloredkanjireading","kanji"];if(-1!=displayModes.indexOf(dType)){var textMatches,txtM,brackMatches,colored=!0;"c"!==dType.charAt(0)&&(colored=!1),[inHT,brackMatches]=bracketEscape(inHT);var htmlMatches,reading=!1;if("reading"!=dType&&"coloredreading"!=dType?[inHT,htmlMatches]=htmlEscape(inHT):reading=!0,BUFFERED_OUTPUT){if(jpText[i].style.visibility="visible",textMatches=inHT.match(/.{1,500}(?=\s|$)/gm)){jpText[i].innerHTML="";for(var m=0;m<textMatches.length;m++)txtM=textMatches[m],doSetTimeout(m,txtM,jpText[i],textMatches.length,htmlMatches,brackMatches,dType,PITCH_GRAPHS,PITCH_SHAPES,FG_FONT_SIZE,colored,reading)}}else txtM=formatJapanese(inHT,dType,PITCH_GRAPHS,PITCH_SHAPES,FG_FONT_SIZE,colored,reading),htmlMatches&&(txtM=returnHTML(txtM,htmlMatches)),setInHTML(txtM,jpText[i],htmlMatches,brackMatches)}}}})()</script>

Back ‘template’ :


I cant publish it, because of 32000 chars limitation on the forum

Styling :


@font-face {
  font-family: yuumichou;
  src: url(_yumin.ttf);
}

.card, .expression-field, .meaning-field, .box {
  max-width: 600px;  /* Applique une largeur maximale commune */
  margin: 0 auto;    /* Centre les éléments horizontalement */
}

.card {
  font-size: 23px;
  text-align: center;
  color: black;
  background-color: #FFFAF0;
  font-family: yuumichou;
  max-width: 800px;  /* Largeur spécifique pour .card */
}

.tags {
  font-family: yuumichou;
  color: #585858;
}

.expression-field {
  font-size: 30px;
}

.meaning-field {
  font-size: 25px;
}

.padded-top {
  padding-top: 15px;
}

.box {
  border: 1px solid #ccc;
  padding: 10px;
  margin-top: 10px;
  background-color: #f9f9f9;
  border-radius: 8px;
  font-size: 20px;
}

.box-lecon {
  display: inline-block;
  min-width: 250px; /* Taille minimale en largeur */
  border: 1px solid #ccc;
  padding: 10px;
  margin-top: 30px;
  background-color: #f9f9f9;
  border-radius: 8px;
  font-size: 20px;
}

.title {
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 14px;
  text-align: center;
}

.notes {
	margin-top: 10px;
  font-style: italic;
  color: #666;
  text-align: center;
}


/* Styles spécifiques au mode sombre */
.nightMode .card, .night_mode .card {
  color: white;
  background-color: #2E2E2E;
}

.nightMode .box, .night_mode .box,
.nightMode .box-lecon, .night_mode .box-lecon {
  border: 1px solid #555;
  background-color: #444;
}

.nightMode .notes, .night_mode .notes {
  color: #ccc;  /* Choisis une couleur plus claire pour être lisible sur fond sombre */
}

.nightMode span[style*="rgb(0, 0, 255)"], 
.night_mode span[style*="rgb(0, 0, 255)"] {
  color: rgb(135, 206, 250) !important; /* Utilise une couleur plus claire avec !important */
}


/* Gestion du pitch */

.museika{width:22px;height:22px;border-radius:50% ;border:1px #db4130 dashed}.j-mia-cont{display:inline-block;}.pitch-numbers{display:inline-block;position:relative;color:#000;font-size:10px;right:2px;padding:0 2px 8px 10px;bottom:7px;vertical-align:top;text-align:right}.thumb-hover:hover{cursor:pointer}.hovered-word{cursor:pointer}.unhovered-word .kanji-ruby{color:#000}.unhovered-word .kana-ruby{visibility:hidden}.unhovered-word.japanese-word{color:#000;background:0 0}.pitch-box{position:relative}.japanese-word{position:relative;display:inline-block}.kana-ruby{display:inline-block;text-align:justify!important}.pitch-accent-popup{box-shadow:2px 2px rgba(0,0,0,.6);position:absolute;display:none;z-index:10;background-color:#fff;border:1px solid #000;border-radius:5px;white-space:nowrap;padding:8px 0 0 4px;top:105%;left:-10%}.pitch-graph-container{position:relative;display:inline-block;top:25%}.pitch-box,.pitch-drop,.pitch-overbar{display:inline-block}.japanese-word .pitch-overbar{background-color:#000}.japanese-word .pitch-drop{background-color:#000}.pitch-overbar{background-color:red;height:2px;width:100%;position:absolute;top:-3px;left:0}.pitch-drop{background-color:red;height:6px;width:2px;position:absolute;top:-3px;right:-2px}.no-ruby{padding:2px 4px 2px 4px}.no-ruby-pitch{height:100%;width:100%;margin:auto;text-align:center;line-height:100%}.pitch-shape-box{padding:4px;display:inline-block;position:relative}.pitch-circle-box-right{display:inline-block;position:relative}.pitch-circle-box-left{padding-right:1.5px;display:inline-block;position:relative}.pitch-diamond{width:8px;height:8px;transform:rotate(45deg);display:inline-block;position:relative;bottom:2px}.left-pitch-circle,.right-pitch-circle{height:12px;width:6px;display:inline-block;position:relative}.right-pitch-circle{border-bottom-right-radius:12px;border-top-right-radius:12px}.left-pitch-circle{border-bottom-left-radius:12px;border-top-left-radius:12px}.pitch-shape-box .pitch-overbar{background-color:#000}.pitch-shape-box .pitch-drop{background-color:#000}.rubyMIA{display:inline-block;padding:0;margin:0;text-align:center}.rtMIA{padding:2px 0 0 0;margin:0;vertical-align:top;text-align:center;line-height:100%}.kana-ruby{position:relative;bottom:-1.5px;z-index:5}.kana-ruby1{font-size:10%}.kana-ruby2{font-size:20%}.kana-ruby3{font-size:30%}.kana-ruby4{font-size:40%}.kana-ruby5{font-size:50%}.kana-ruby6{font-size:60%}.kana-ruby7{font-size:70%}.kana-ruby8{font-size:80%}.kana-ruby9{font-size:90%}.kana-ruby10{font-size:100%}.rbMIA{display:inline-block;padding:0;margin:0}.wrapped-japanese{visibility:hidden}.ankidroid_dark_mode .pitch-box .pitch-drop,.ankidroid_dark_mode .pitch-box .pitch-overbar,.nightMode .pitch-box .pitch-drop,.nightMode .pitch-box .pitch-overbar,.night_mode .pitch-box .pitch-drop,.night_mode .pitch-box .pitch-overbar{background-color:#fff!important}.ankidroid_dark_mode .pitch-accent-popup,.nightMode .pitch-accent-popup,.night_mode .pitch-accent-popup{background-color:#000;border:1px solid #fff;box-shadow:2px 2px rgba(0,0,0,.2)}.ankidroid_dark_mode .unhovered-word .kana-ruby,.ankidroid_dark_mode .unhovered-word .kanji-ruby,.ankidroid_dark_mode .unhovered-word.japanese-word,.nightMode .unhovered-word .kana-ruby,.nightMode .unhovered-word .kanji-ruby,.nightMode .unhovered-word.japanese-word,.night_mode .unhovered-word .kana-ruby,.night_mode .unhovered-word .kanji-ruby,.night_mode .unhovered-word.japanese-word{color:#fff}.popup-comma{color:#000}.ankidroid_dark_mode .popup-comma,.nightMode .popup-comma,.night_mode .popup-comma{color:#fff}.heiban{color:#005CE6;}.atamadaka{color:#E60000;}.nakadaka{color:#E68A00;}.odaka{color:#00802B;}.kifuku{color:#AC00E6;}.bgHeiban{background-color:#005CE6;}.bgAtamadaka{background-color:#E60000;}.bgNakadaka{background-color:#E68A00;}.bgOdaka{background-color:#00802B;}.bgKifuku{background-color:#AC00E6;}


I’m a little scared to do a mistake :sweat_smile:

Is there a way to do a FULL backup that allows me to restore my deck and all parameters ?

I think I have to copy and paste all the code into the new card type, and just edit the front ‘template’ to force audio only display

Bests regards

Yes, it’s in the FileCreate Backup. (It’s not full, in terms of backing up your collection media, but it’s full enough for the task at hand, since it saves anything you can affect when editing card templates).

You don’t really have to copy and paste it, since using OptionsAdd Card Type duplicates the existing card type by itself.

If I understood your goal correctly, you want to split the two states your current card type can exist in into two independent types. The difference in card content you see is controlled by conditional field replacements, which you can read more about here. Basically, you’ll just need to leave the contents of everything inside the {{#Audio on Front}}...{{/Audio on Front}} condition on the front and the back of one card type, and everything from {{^Audio on Front}}...{{/Audio on Front}} on the other (removing the opposite condition and the conditional expressions themselves from both).

Also, if you won’t need the Audio on Front field after that, you can delete it from the Fields menu, as you probably figured out already.


A different, slightly easier way to do this is to simply click the Cards button when any of the cards/notes from the note type you want to edit is selected in the browser:

image

It has a benefit of seeing the actual card content used in the template during the editing. In particular, audio buttons for the fields that use audio, instead of text placeholders.

You’ve figured everything perfectly so far, so you might be interested in diving a bit deeper and learning about controlling this process. Not every card type has to generate a card for each note, you can disable certain card types for individual notes using the same conditional replacements. For example, it makes sence to generate cards that use audio on the front only when the note has the associated audiofile attached and skip it otherwise. Also, since you are learning Japanese, you might encounter cards for learning word pronunciation at some point that prompt you with kanji on the front and expect kana as the answer. Those cards can similarly be set up to be generated for a note only if both kanji and kana fields are not empty.

Thanks

Fortunatelly, I’ve programming skills (c++, .NET, ASM, on desktop and embedded devices) but it’s always difficult to understand an existing project :slight_smile: It is essential to fully understand both
internal logic and data structures before starting to modify anything.

I’ve another question - I currently have a new cards/day rate of 11 as below :

But, what is a “card” ?

There is indeed some confusion, because “note” is the name of an Anki’s internal data structure, known to programmers and advanced users (those who modify or create decks), but for the end user, Anki’s graphical interface only refers to “cards”.

So, in “cards/day” a “card” it is a “note” or a flash card, that is to say, a (‘note’ & ‘card type’) combination ?

Then, if I create a second card type, in order to keep Anki’s ‘note’ progression synchronised with the course’s lesson, I have to set a 22 cards/day rate ?

Another stupid question : if a “card” is a (‘note’ & ‘card type’) combination, I wonder how to keep ‘note’ Anki’s progession synchronised.

Best regards

The second.

Anki uses note and card terms pretty consistently and in accordance with the distinction given in the manual above. For example, the browser allows you switching between note and card view:
image
So wherever the interface refers to cards, you can be sure it means exactly that.

Reviews, in particular, are performed on individual cards (this is to conform to how the memory more or less works – knowing the meaning of a kanji, for example, is mostly independent from knowing its reading). So, consequently, all the settings related to reviews are measured in cards.

If you want to get technical, Anki has two distinct sql tables for notes and cards. Cards are initially automatically generated from notes according to the discussed rules, but after that they exist as separate entities. The “notes” data table stores information such as field contents, card type templates, tags, etc. The “cards” data table keeps track of each individual card learning state, flags, due date, and so on (essentially, what you see when you open CardsInfo in the browser). It also has id of a note a card originates from, so when the note or its note type is modified all associated cards get automatically updated too.

Yes, if your goal is to study the same amount of words per day, then doubling the number of card types means doubling the number of cards per day (unless the conditional generation I mentioned above gets involved). Also, if you want to introduce new notes fully each day (both its cards at the same time), make sure you have bury new siblings off in deck settings.

Not sure what “synchronised” refers to here. Can you clarify the question given all the information from the other answers?

Currently, I’ve a deck with one ‘card type’

It’s a simple case. There is one ‘card’ for one ‘note’

I choose 11 ‘cards/day’ rate because it’s the recommended rate for the course.

As I learn one new lesson of the course each day, I’ve got Anki synchronised with the course if I use Anki each day.

So, when I create a new “audio only” ‘card type’, Anki create new cards for each note with this new card type.

These new “audio only” cards are separate entities.

So the new cards starts frome the beginning, not my actual progress in Anki

I’ve made a test :smiley:

I’ve just finish my sunday lesson and start Anki.

I create the new ‘card type’ with a copy of the original one

I just change the front template first lines of HTML code :

Original code :

</br>

{{^Audio on Front}}<span class="expression-field"><span display-type="kanji" class="wrapped-japanese">{{ExpressionFurigana}}</span></span>{{/Audio on Front}}

{{#Audio on Front}}{{#ExpressionAudio}}<span class="expression-field">{{ExpressionAudio}}</span>{{/ExpressionAudio}}{{/Audio on Front}}
{{#Audio on Front}}{{^ExpressionAudio}}<span class="expression-field"><span display-type="kanji" class="wrapped-japanese">{{ExpressionFurigana}}</span></span>{{/ExpressionAudio}}{{/Audio on Front}}


<!-- Gestion de l'accent de hauteur -->
...

My code for “audio only” new card type

</br>

<span class="expression-field">{{ExpressionAudio}}</span>

<!-- Gestion de l'accent de hauteur -->
...

I change the rate from 11 cards/day to 22 cards/day

And then, I started my deck’s study with Anki :slight_smile:

I’ve got my usual “Japanese sentence cards”, and my new “audio only cards” but from the beginning.

That’s not what I wanted, but it’s not a big deal in the end.

It’s better to review these new cards from the beginning; Anki should be able to make progress on the easier ones fairly quickly.

Let’s have fun on learning Japanese with Anki !

Best regards

You can move the audio cards associated with the cards you already learned to a separated deck and use it to catch up on those at their own pace. The new cards left in the original deck then should be introduced in correct pairs from that point. When you finish the secondary deck, you can move the cards from it back and from there study as usual.

Since reviews are performed for individual cards (not notes), the study history for newly generated ones is naturally empty. There are ways to transplant the review history from their already learned siblings with some scripting, which might serve as a good enough starting approximation before the spaced repetition takes its effects, but studying them from scratch (with the help of optional additional deck) is simpler and, I would say, makes more sense for learning as a whole.